【发布时间】:2019-11-09 23:29:32
【问题描述】:
我正在尝试生成一个代表一系列数字引用信息的“代码”,以最终在控制台屏幕上打印出来。让我做一个更好的解释:
我的应用需要存储一些称为“学院学生”的信息。它需要读取(从键盘):
课程(1 或 2), 级别(1至3), 文件编号(最多 8 个数字), 名和姓, 年平均校准。
我需要生成一个代码编号,表示课程、级别和文件编号。例如,第 2 级课程 1 的学生,文件编号为 045,将注册为“12045”。然后我必须将它存储在一个 int long 变量中。
注册完所有信息后,需要以特定方式对其进行排序,然后再将其打印到屏幕上。一切正常,但代码编号的正确生成。
当我打印生成的代码时,我的问题就出现了。我开始将课程、级别和文件编号的输入数字视为字符串,以使用“strcpy”和“strcat”函数来生成代码,然后将其解析为(long)。然后,我在每个学生身上打印了一个完全不同的生成代码。任何想法为什么会发生这种情况?
我正在使用按索引相关的单独向量和矩阵。我希望这是一个清晰而有用的问题。如果没有,请随时问我一个更好的问题,甚至删除它。这是我的第一个问题。谢谢!
从键盘读取信息
printf("\nIngresar Curso (1 a 2): ");
fflush(stdin);
gets(curso);
while(strcmp(curso, "1")!=0 && strcmp(curso, "2")!=0) {
printf("\aError. Ingresar Curso (1 a 2): ");
fflush(stdin);
gets(curso);
}
strcpy(codalumno, curso);
printf("\nIngresar Nivel (1 a 3): ");
fflush(stdin);
gets(nivel);
while(strcmp(nivel, "1")!=0 && strcmp(nivel, "2")!=0 && strcmp(nivel, "3")!=0) {
printf("\aError. Ingresar Nivel (1 a 3): ");
fflush(stdin);
gets(nivel);
}
strcat(codalumno, nivel);
printf("\nIngresar N de Legajo: ");
fflush(stdin);
gets(legajo);
strcat(codalumno, legajo);
这是对 long 的解析和赋值(我不确定是否正常工作)
auxl=(int)codalumno;
alumno[i]=auxl;
【问题讨论】:
-
为什么不显示代码?
-
对不起,我在修改代码之前上传了问题(它有很多西班牙语的 cmets 和变量名)我正在翻译它以将其与问题一起发布。