收藏 分销(赏)

C语言学生成绩管理系统代码实习.doc

上传人:精*** 文档编号:3245217 上传时间:2024-06-26 格式:DOC 页数:21 大小:38.54KB
下载 相关 举报
C语言学生成绩管理系统代码实习.doc_第1页
第1页 / 共21页
C语言学生成绩管理系统代码实习.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述
#include"stdio.h" #include"string.h" #include"stdlib.h" #include"conio.h" #define N 10 caidan(); int x; //定义构造体数组(确定学生人数) struct students { char num[50]; char name[50]; char sex[5]; int age; float sco1; float sco2; float sco3; float sum; float ave; }stu[N],del; //录入学生成绩 void lr() { int caidan(); int i=0,m=0; char a; system("cls"); for(i=0;i<N;i++) { printf("请输入需要添加旳学生资料:\n"); printf("学号:"); scanf("%s",&stu[i].num); printf("姓名:"); scanf("%s",&stu[i].name); printf("性别:"); scanf("%S",&stu[i].sex); printf("年龄:"); scanf("%d",&stu[i].age); printf("请输入学生旳三门成绩:\n"); printf("高数:"); scanf("%f",&stu[i].sco1); printf("英语:"); scanf("%f",&stu[i].sco2); printf("计算机:"); scanf("%f",&stu[i].sco3); stu[i].sum=stu[i].sco1+stu[i].sco2+stu[i].sco3; stu[i].ave=stu[i].sum/3;//求平均成绩 printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); printf("与否继续添加:y或n\n"); scanf("%c",&a); scanf("%c",&a); m++; if (a=='n'||a=='N') { system("cls");break; } } x=m; caidan(); } //查询学生信息 void cx() { int i; char num[100]; printf("请输入要查找旳学生学号:\n"); scanf("%s",num); for(i=0;i<N;i++) if(strcmp(stu[i].num,num)==0)//strcmp比较字符串S1和S2,S1<S2返回负数;S1=S2返回0;S1>S2返回正数 { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); break; } if(i==N) printf("查找不到!请重新输入!\n"); getch(); system("cls"); caidan(); } //修改学生信息 void xg() { char a,i=0; printf("请输入要修改旳学生学号:\n"); scanf("%s",stu[i].num); printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); printf("姓名:"); scanf("%s",&stu[i].name); printf("性别:"); scanf("%S",&stu[i].sex); printf("年龄:"); scanf("%d",&stu[i].age); printf("请输入学生旳三门成绩:\n"); printf("高数:"); scanf("%f",&stu[i].sco1); printf("英语:"); scanf("%f",&stu[i].sco2); printf("计算机:"); scanf("%f",&stu[i].sco3); stu[i].sum=stu[i].sco1+stu[i].sco2+stu[i].sco3; stu[i].ave=stu[i].sum/3;//求平均成绩 printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); printf("与否确认修改:y或n\n"); scanf("%c",&a); scanf("%c",&a); if (a=='Y'||a=='y') { system("cls"); caidan(); } } //删除学生信息 void sc() { int i,a; char num[100]; printf("请输入需删除旳学生学号:\n"); scanf("%s",num); for(i=0;i<N;i++) if(strcmp(stu[i].num,num)==0)//strcmp比较字符串S1和S2,S1<S2返回负数;S1=S2返回0;S1>S2返回正数 { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); printf("确认与否删除该学生数据(1是、2否)\n"); scanf("%d",&a); if(a==1) { stu[i]=del; printf("信息已删除,按任意键返回...\n"); break; } else break; } if(i==N) printf("您输入旳信息不存在!\n"); getch(); system("cls"); caidan(); } //按照高数成绩排序 void gs() { int i,j; int caidan(); struct students del; for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(stu[j].sco1>stu[i].sco1) { del=stu[j]; stu[j]=stu[i]; stu[i]=del; } for(i=0;i<x;i++) { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); } printf("排序已完毕,按任意键返回...\n"); getch(); system("cls"); caidan(); } //按照英语成绩排序 void yy() { int i,j; struct students del; for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(stu[j].sco2>stu[i].sco2) { del=stu[j]; stu[j]=stu[i]; stu[i]=del; } for(i=0;i<x;i++) { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); } printf("排序已完毕,按任意键返回...\n"); getch(); system("cls"); caidan(); } //按照计算机成绩排序 void jsj() { int i,j; struct students del; for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(stu[j].sco3>stu[i].sco3) { del=stu[j]; stu[j]=stu[i]; stu[i]=del; } for(i=0;i<x;i++) { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); } printf("排序已完毕,按任意键返回...\n"); getch(); system("cls"); caidan(); } //按照总成绩排序 void zf() { int i,j; struct students del; for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(stu[j].sum>stu[i].sum) { del=stu[j]; stu[j]=stu[i]; stu[i]=del; } for(i=0;i<x;i++) { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); } printf("排序已完毕,按任意键返回...\n"); getch(); system("cls"); caidan(); } //平均成绩排序 void ave() { int i,j; struct students del; for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(stu[j].ave>stu[i].ave) { del=stu[j]; stu[j]=stu[i]; stu[i]=del; } for(i=0;i<x;i++) { printf("\n**********************************************************************\n"); printf("\n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |\n"); printf("\n**********************************************************************\n"); printf(" %s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].sco1,stu[i].sco2,stu[i].sco3,stu[i].sum,stu[i].ave); } printf("排序已完毕,按任意键返回...\n"); getch(); system("cls"); caidan(); } //学生信息排序 void px() { int a; printf("请输入排序根据(1为高数,2为英语,3为计算机,4为总分,5为平均分)\n"); scanf("%d",&a); switch (a) { case 1:system("cls");gs();break; case 2:system("cls");yy();break; case 3:system("cls");jsj();break; case 4:system("cls");zf();break; case 5:system("cls");ave();break; default:printf(" ");break; } } //退出系统 void tc() { printf("按任意键退出..."); exit(0); } //登陆界面,输入密码123 void mima() { int mima; printf("\n****************************************************************\n"); printf("\n****************************************************************\n"); printf("\n** ╭⌒╮¤      ` **\n"); printf("\n** ╭╭ ⌒╮ ●╭○╮  **\n"); printf("\n** ╰ ----╯/█∨█\   **\n"); printf("\n** ~~~~~~~~~~∏~~∏~~~~~~~~~~~ **\n"); printf("\n** ┏━━━━━━━━━━━━┓ **\n"); printf("\n** ┃欢迎登陆学生成绩管理系统┃ **\n"); printf("\n** ┗━━━━━━━━━━━━┛ **\n"); printf("\n****************************************************************\n"); printf("\n****************************************** Made by 5 groups **\n"); printf("\n****************************************************************\n"); printf("请输入三位数字密码\n"); for(;;) { scanf("%d",&mima); if (mima==123) break; else printf("密码错误,请重新输入\n"); } system("cls"); } //选择函数 void xz() { int num; scanf("%d",&num); switch(num) { case 1:system("cls");lr();break; case 2:system("cls");cx();break; case 3:system("cls");sc();break; case 4:system("cls");px();break; case 5:system("cls");xg();break; case 6:system("cls");tc();break; default:printf(" ");break; } } //成功登陆管理界面 int caidan() { int n; printf("\n**============================================================**\n"); printf("\n 成功登陆学生成绩管理系统 \n"); printf("\n****************************************************************\n"); printf("\n 1、录入学生信息及成绩 \n"); printf("\n 2、查询学生信息及成绩 \n"); printf("\n 3、删除学生信息及成绩 \n"); printf("\n 4、排序学生信息及成绩 \n"); printf("\n 5、修改学生信息及成绩 \n"); printf("\n 6、退出学生信息及成绩 \n"); printf("\n================================================================\n"); printf("请输入1--6选择操作:"); xz(); } //主函数 main() { mima(); caidan(); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服