void input()
{
int i;
char j;
printf("请输入需要输入数据学生个数:");
scanf_s("%f", &m);
for (i = 0; i < m; i++)
{
printf("请输入第%d名学生学号:",i+1);
scanf_s("%s", stu[i].num, sizeof(stu[i].num));
j=getchar();
printf("请输入第%d名学生姓名:",i+1);
scanf_s("%s", stu[i].name, sizeof(stu[i].name));
j=getchar();
printf("请输入第%d名学生平时成绩:",i+1);
scanf_s("%d", &stu[i].normalscore);
j=getchar();
printf("请输入第%d名学生期末成绩:",i+1);
scanf_s("%d", &stu[i].finalscore);
j=getchar();
stu[i].generalscore = (2.0 * stu[i].normalscore) / 5.0 + (3.0 * stu[i].finalscore) / 5.0;
system("cls");
}
printf("信息录入成功!\n");
system("pause");
请看一下这个最后那个stu[i].generalscore为什么计算不对。generalscore(总评成绩)=normalscore(平时成绩)×0.4+finalscore(期末成绩)×0.6。可是输出是0或者乱的数字
scanf_s("%f", &m);应该为:
int m;
scanf_s("%d", &m);
stu[i].num 为数组或者指针,应该就没有问题了