江湖救急!!!!!
各位老大,为什么程序选择2时就是闪一下就有回到主菜单去了,谢谢各位了!!!#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct student//定义学生资料结构体
{
int num; //学号
char name[20]; //姓名
float score[3]; //3门成绩
float ave; //平均成绩
};
int i=0;//全局变量 i为学生总数
void wo(struct student a[] ); //录入函数
void wo(struct student a[])
{
char b;
float sum=0;
printf("请输入学员信息\n");
do
{
system("cls");
printf("学号:");
scanf("%d",&a[i].num);
printf("姓名:");
scanf("%s",a[i].name);
printf("请输入数学成绩: ");
scanf("%lf",&a[i].score[0]);
printf("请输入语文成绩: ");
scanf("%lf",&a[i].score[1]);
printf("请输入英语成绩: ");
scanf("%lf",&a[i].score[2]);
a[i].ave=(a[i].score[0]+a[i].score[1]+a[i].score[2])/3;
i++;
printf("是否继续\n(Y/N)");
fflush(stdin);
scanf("%c",&b);
}while(b=='Y'||b=='y');
}
void display(struct student s[]);//显示函数
void display(struct student s[],int total)
{
system("cls");
int i;
printf("\t学号\t姓名\t语文\t数学\t英语\t平均\n\n");
for(i=0;i<total;i++)
{
printf("\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].ave);
}
void main()
{
struct student stu[50];
int number; //主菜单数字健
int total=0; //total为学生总数
do
{
system("cls"); //清除
printf("\n\n\t ===================================================\n\n");
printf("\t\t\t\t学员成绩管理\n\n");
printf("\t\t1.输入学生信息");
printf("\t\t2.显示学生信息\n\n");
printf("\t\t3.排序\t");
printf("\t\t4.查询学生(按学号)\n\n");
printf("\t\t5.插入学生信息");
printf("\t\t6.删除学生信息\n\n");
printf("\t\t0.退出\n\n");
printf("\t ====================================================\n\n");
scanf("%d",&number); //输入主菜单上的数字
switch (number)
{
case 0:printf("谢谢你已查寻完毕!下次再见!\n");break;
case 1:wo(stu);break;
case 2:display(stu,total); //显示
printf("\n"); break;
case 3:break;
case 4:break;
case 5:break;
}
}while(number!=0);
}
搜索更多相关的解决方案:
江湖
----------------解决方案--------------------------------------------------------
没有暂停啊,如果是TC的话可以在display函数最乎加一行getch();不过要包含头文件<conio.h>
其他的话可以加system("pause");,TC也可以这样
----------------解决方案--------------------------------------------------------