|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #include<conio.h>
- #include<string.h>
- #include<stdlib.h>
- #define N 80
- int m=0;
- struct student
- { char name[20];
- int num;
- char cla[20];
- char sex[2];
- int score[5];
- int ave;
- }stu[100];
- void add()
- { int j=0,k,l;
- system("cls"); /*清屏*/
- do{
- printf("请输入学生信息:\n");
- printf("请输入学生姓名:");
- scanf("%s",stu[j].name);
- printf("请输入学生学号:");
- scanf("%d",&stu[j].num);
- printf("请输入学生性别:");
- scanf("%s",stu[j].sex);
- printf("请输入学生所在班级:");
- scanf("%s",stu[j].cla);
- printf("请输入学生成绩:");
- for(l=0;l<5;l++)
- scanf("%d",&stu[j].score[l]);
- m++;
- j++;
- printf("是否继续输入<y/Y>");
- k=getche();
- }while(k=='y'||k=='Y');
- }
- void sta()
- {
- int j,l,avemax;
- int aave=0;
- system("cls"); /*清屏*/
- for(j=0;j<m;j++)
- {
- stu[j].ave=0;
- for(l=0;l<5;l++)
- stu[j].ave+=stu[j].score[l];
- stu[j].ave/=5;
- }
- for(j=0;j<m;j++)
- aave+=stu[j].ave;
- aave/=m;
- avemax=stu[0].ave;
- for(j=1;j<=m;j++)
- {
- if(avemax<stu[j].ave) avemax=stu[j].ave;
- }
- printf("学生姓名 成绩平均分\n");
- for(j=0;j<m;j++)
- {
- printf("%s \t%d\n",stu[j].name,stu[j].ave);
- }
- printf("所有学生的平均分: %d",aave);
- printf("所有学生平均成绩的最高分: %d",avemax);
- getch();
- }
- void change()
- {
- int j,l,k;
- system("cls"); /*清屏*/
- for(j=0;j<m;j++)
- { printf("%s %d %s %s\t",stu[j].name,stu[j].num,stu[j].sex,stu[j].cla);
- for(l=0;l<5;l++)
- printf("%d\t",stu[j].score[l]);
- printf("是否修改<y/Y>:\n");
- k=getche();
- if(k=='y')
- {printf("是否修改姓名<y/Y>:\n");
- k=getche();
- if(k=='y')
- {printf("请输入新的姓名:\n");
- scanf("%s",stu[j].name);}
- printf("是否修改学号<y/Y>:\n");
- k=getche();
- if(k=='y')
- {printf("请输入新的学号:\n");
- scanf("%d",&stu[j].num);}
- printf("是否修改性别<y/n>:\n");
- k=getche();
- if(k=='y')
- {printf("请输入新的性别:\n");
- scanf("%s",stu[j].cla);}
- printf("是否修改成绩<y/Y>");
- k=getche();
- if(k=='y');
- for(l=0;l<5;l++)
- { printf("\n"); printf("%d\n",stu[j].score[l]);
- printf("是否修改该科成绩<y/n>");
- k=getche();
- if(k=='y')
- { printf("请输入该科修改后的成绩:");
- scanf("%d",&stu[j].score[l]);}
- else continue;
- }
- }
- }
- }
- void del()
- {
- int i,j,a,b;
- char k;
- system("cls"); /*清屏*/
- printf("\n请输入要删除的学生的学号:");
- scanf("%d",&a);
- for(i=0;i<m;i++)
- {
- if(a==stu[i].num)
- { printf("姓名 学号 性别 班级 分数\n");
- printf("\n%s\t%d\t%s\t%s",stu[i].name,stu[i].num,stu[i].sex,stu[i].cla);
- for(j=0;j<5;j++)
- printf(" %d",stu[i].score[j]);
- printf("\n是否删除此项?《是,请输入'y';否,请输入'n':》\n");
- scanf("%c",&k);break;
- }
- }
- k=getche();
- if(k=='y'||k=='Y')
- {
- for(b=i;b<m-1;b++)
- stu[b]=stu[b+1];
- m--;
- printf("已成功删除\n");
- }
- getch();
- }
- void display()
- {
- int j,l;
- system("cls"); /*清屏*/
- printf("姓名\t学号\t性别\t班级\t\t成绩\t\t平均分\n");
- for(j=0;j<m;j++)
- { printf("%s\t%d\t%s\t%s",stu[j].name,stu[j].num,stu[j].sex,stu[j].cla);
- for(l=0;l<5;l++)
- printf(" %d",stu[j].score[l]);
- printf("\t%d",stu[j].ave);
- printf("\n");
- }
- getch();
- }
- void sort()
- {
- int j,l,temp;
- char k;
- system("cls"); /*清屏*/
- for(j=0;j<m;j++)
- if(stu[j].ave<stu[j+1].ave)
- {temp=stu[j].ave;
- stu[j].ave=stu[j+1].ave;
- stu[j+1].ave=temp;
- }
- printf("升序请输入r:降序请输入d:");
- k=getche();
- printf("\n");
- if(k=='r')
- {for(j=m;j>0;j--)
- printf("%d\t",stu[j].ave);}
- if(k=='d')
- {for(j=0;j<m;j++)
- printf("%d\t",stu[j].ave);}
- getch();
- }
- void main()
- { char i;
- printf("\n\n\n\n\n\n\t\t\t 欢迎使用学生成绩管理系统");
- printf("\n\n\n\t\t\t\t\t制作人包盛辉");
- printf("\n\n\t\t\t\t 2013年6月");
- printf("\n\n\n\n\n\t按回车键进入主菜单:"); /*界面*/
- getchar();
- do
- { system("cls"); /*清屏*/
- printf("\n");
- printf("\t\t\t\t ************\n");
- printf("\t\t\t\t * 主菜单 *\n"); /*主菜单*/
- printf("\t\t\t\t ************\n\n\n");
- printf("\t 1.插入学生成绩信息 2.统计学生成绩信息\n\n");
- printf("\t 3.修改学生成绩信息 4.删除学生成绩信息\n\n");
- printf("\t 5.显示所有学生信息 6.学生成绩信息排序\n\n");
- printf("\t 7.退出系统\n\n");
- printf("\n\n");
- printf("\t 请选择[1/2/3/4/5/6/7]: ");
- i=getchar();
- switch(i)
- {
- case '1': add(); break; /*返回主菜单*/
- case '2': sta(); break;
- case '3': change(); break;
- case '4': del(); break;
- case '5': display(); break;
- case '6': sort(); break;
- case '7': exit(0);
- default: break;
- }
- }while(1);
- }
复制代码
|
|