如图,输入函数和输出函数,运行时有很多问题…请问我这是哪些地方有错误?代码如下:
#include
#include
#include
#define N 20
typedef struct stu{
long num;
char name[20];
char sex[10];
int score[3];
int total;
int average;
}Student;
Student p[N];
int n;
void menu(void);
void Management(void);
void insertStu(void);
void StudentTotal(void);
void calcuAverage(void);
void calcuTotal(void);
void calcuMark(void);
void search(void);
void printStu(void);
int main()
{
while(1){
menu();
int a;
printf("请输入选择:\n");
scanf("%d",&a);
switch(a){
case 1:printStu();break;
case 2:Management();break;/*进入管理界面*/
case 3:StudentTotal();break;
case 4:calcuMark();break;
case 5:search();break;
case 6:exit(0);break;
}
}
}
void menu(void)
{
printf("----------------------------\n");
printf("欢迎进入学生成绩管理系统\n");
printf("1.显示基本信息\n");
printf("2.基本信息管理\n");
printf("3.学生成绩统计\n");
printf("4.考试成绩统计\n");
printf("5.根据条件查询\n");
printf("6.退出\n");
printf("----------------------------\n");
}
void Management(void)
{
printf("1.插入学生记录\n");
printf("2.删除学生记录\n");
printf("3.修改学生记录\n");
printf("\n");
printf("请输入选择:\n");
int choice1;
scanf("%d",&choice1);
switch(choice1){
case 1:insertStu();/*添加一条学生记录*/
default:break;
}
}
void insertStu()
{
int i;
printf("请输入添加学生数量:\n");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("请输入学生学号[10位]:\n");
scanf("%s",&p[i].num);
printf("请输入学生姓名:\n");
scanf("%s",&p[i].name);
printf("请输入学生性别:\n");
scanf("%s",&p[i].sex);
printf("请输入学生计算机成绩:\n");
scanf("%d",&p[i].score[0]);
printf("请输入学生数学成绩:\n");
scanf("%d",&p[i].score[1]);
printf("请输入学生英语成绩:\n");
scanf("%d",&p[i].score[2]);
}
}
void StudentTotal(void)
{
printf("学生成绩统计:\n1.计算学生总分\n2.计算学生平均分\n");
int choice2;
printf("请输入选择:\n");
scanf("%d",&choice2);
switch (choice2) {
case 1:calcuTotal();
break;
case 2:calcuAverage();
break;
}
}
void calcuTotal(void)
{
}
void calcuAverage(void)
{
}
void calcuMark(void)
{
}
void search()
{
}
void printStu(void)
{
int i;
for(i=0;i<n;i++){
printf("%s","学号:");
printf("%s",&p[i].num);
printf("%s","姓名:");
printf("%s",&p[i].name);
printf("%s","计算机:");
printf("%d",&p[i].score[0]);
printf("%s","数学:");
printf("%d",&p[i].score[1]);
printf("%s","英语:");
printf("%d",&p[i].score[2]);
printf("\n");
}