C语言开发的大学生绩点管理系统源代码求解
发布于 2025-05-06 02:25:56
include#include#include#include#include#define MAX 80void input();void sort();void display();void insert();void del();void average();void find();;void read();;void average();void modify();int now_no=0;struct student{int no;char name[20];char sex[4];float score1;float score2;float score3;float sort;float ave;float sum;};void average()/求平均数/{int i;for(i=0;i{stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;}}struct student stu[MAX],p;main()/主函数/{int as;start: printf(" 欢迎使用学生成绩管理系统");/一下为功能选择模块/do{printf(" 1.录入学员信息 2.显示学员信息 3.成绩排序信息 4.添加学员信息 5.删除学员信息 6.修改学员信息 7.查询学员信息 8.退出");printf(" 选择功能选项:");fflush(stdin);scanf("%d",&as);switch(as){case 1:system("cls");input();break;case 2:system("cls");display();break;case 3:system("cls");sort();break;case 4:system("cls");insert();break;case 5:system("cls");del();break;case 6:system("cls");modify();break;case 7:system("cls");find();break;;case 8:system("exit");exit(0);default:system("cls");goto start;}}while(1);/至此功能选择结束/}void input()/原始数据录入模块/{int i=0;char ch;do{printf(" 1.录入学员信息输入第%d个学员的信息",i+1);printf("输入学生编号:");scanf("%d",&stu[i].no);fflush(stdin);printf("输入学员姓名:");fflush(stdin);gets(stu[i].name);printf("输入学员性别:");fflush(stdin);gets(stu[i].sex);printf("输入学员成绩1:");fflush(stdin);scanf("%f",&stu[i].score1);printf("输入学员成绩2:");fflush(stdin);scanf("%f",&stu[i].score2);printf("输入学员成绩3:");fflush(stdin);scanf("%f",&stu[i].score3);printf("");i++;now_no=i;printf("是否继续输入?(Y/N)");fflush(stdin);ch=getch();system("cls");}while(ch!=''n''&&ch!=''N'');system("cls");}void sort()/排序数据函数/{struct student temp;int i,j;average();for(i=1;i{for(j=1;j<=now_no-i;j++){if(stu[j-1].ave{temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}void display()/显示数据函数/{int i;char as;average();do{printf(" 班级学员信息列表");printf(" 编号 姓名 性别 成绩1 成绩2 成绩3 平均值");for(i=0;iprintf(" 按任意键返回主菜单.");fflush(stdin);as=getch();}while(!as);system("cls");}void insert()/插入数据函数/{char ch;do{printf(" 输入新插入学员队信息");printf("输入学生编号:");scanf("%d",&stu[now_no].no);fflush(stdin);printf("输入学员姓名:");fflush(stdin);gets(stu[now_no].name);printf("输入学员性别:");fflush(stdin);gets(stu[now_no].sex);printf("输入学员成绩1:");fflush(stdin);scanf("%f",&stu[now_no].score1);printf("输入学员成绩2:");fflush(stdin);scanf("%f",&stu[now_no].score2);printf("输入学员成绩3:");fflush(stdin);scanf("%f",&stu[now_no].score3);printf("");now_no=now_no+1;sort();printf("是否继续输入?(Y/N)");fflush(stdin);ch=getch();system("cls");}while(ch!=''n''&&ch!=''N'');}void del()/删除数据函数/{int inum,i,j;printf("输入要删除学员的编号:");fflush(stdin);scanf("%d",&inum);for(i=0;i{if(stu[i].no==inum){if(i==now_no)now_no-=1;else{stu[i]=stu[now_no-1];now_no-=1;}sort();break;}}system("cls");}void find()/查询函数/{int i;char str[20],as;do{printf("输入要查询的学生姓名:");fflush(stdin);gets(str);for(i=0;iif(!strcmp(stu[i].name,str)){printf(" 编号 姓名 性别 成绩1 成绩2 成绩3 平均值");printf(" %d %s %s %.2f %.2f %.2f %.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);}printf(" 按任意键返回主菜单.");fflush(stdin);as=getch();}while(!as);system("cls");}void modify()/修改数据函数*/{int i;char str[20],as;printf("输入要修改的学生姓名:");fflush(stdin);gets(str);for(i=0;iif(!strcmp(stu[i].name,str)){system("cls");printf(" 输入修改学员信息");printf("输入学生编号:");fflush(stdin);scanf("%d",&stu[i].no);printf("输入学员性别:");fflush(stdin);gets(stu[i].sex);printf("输入学员成绩1:");fflush(stdin);scanf("%f",&stu[i].score1);printf("输入学员成绩2:");fflush(stdin);scanf("%f",&stu[i].score2);printf("输入学员成绩3:");fflush(stdin);scanf("%f",&stu[i].score3);printf("");sort();break;}system("cls");}