#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 3 //学生数量
#define M 3 //课程数量
struct studentinfo
{
int num;//学号
char name[20];//姓名
int score[3];//成绩
float average;//平均成绩
}stu[N];
void input(); //输入
void query(); //查询
void count(); //计算
void error(); //显示错误
void main()
{
int a;
printf("\t1.输入学生信息:\n");
printf("\t2.查询学生信息:\n");
printf("\t3.统计学生信息:\n");
printf("\t请输入数字选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:input();break;//输入
case 2:query();break;//查询
case 3:count();break;//计算
default:error();break;//错误
}
}
/*--------------------输入模块------------------------*/
void input()
{
int i,j;
printf("成绩录入:");
for(i=0;i<N;i++)
{
printf("请输入第%d学生学号:\n",i+1);
scanf("%d",&stu[i].num);
printf("请输入学生姓名:\n");
scanf("%s",&stu[i].name);
for(j=0;j<M;j++)
{
printf("请输入第%d门课程成绩:\n",j+1);
scanf("%d",&stu[i].score);
}
}
printf("输入完毕,任意键返回!");
getch();
system("cls");
main();
}
/*----------------------查询模块-------------------------------*/
void query()
{
int m;
printf("请输入要查询的学生学号:");
scanf("%d",&m);
printf("学号是%d的学生姓名是%s",m,stu[m].name);
}
/*----------------------计算平均分数-------------------------------*/
void count()
{}
/*----------------------显示错误-------------------------------*/
void error()
{}
我写到这里就出问题了 为什么不能查询到姓名呢 总是无法显示出姓名
scanf("%s",&stu[i].name);多了个“&”号。
scanf("%d",&stu[i].score);应该是scanf("%d",&stu[i].score[j]);