精心编程C语言课程设计学生管理.docx
- 文档编号:79424
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:19
- 大小:17.32KB
精心编程C语言课程设计学生管理.docx
《精心编程C语言课程设计学生管理.docx》由会员分享,可在线阅读,更多相关《精心编程C语言课程设计学生管理.docx(19页珍藏版)》请在冰点文库上搜索。
精心编程C语言课程设计学生管理
#include
#include
#defineN2
/*结构体定义student的所有属性,包括学号,姓名,C程序设计,高数,英语,线性代数,个人平均分,名次*/
structstudent
{
intno;
charname[15];
intscore1;
intscore2;
intscore3;
intscore4;
floataver;
intnum;
}s[15];
intstunum;
/*//函数声明*/
voidinput()/*//录入函数*/
{
charch;
inti,j;
for(j=0;j { printf("\n学号: "); scanf("%d",&s[j].no); printf("\n姓名: "); scanf("%s",s[j].name); printf("\nC程序设计: "); scanf("%d",&s[j].score1); printf("\n高数: "); scanf("%d",&s[j].score2); printf("\n英语: "); scanf("%d",&s[j].score3); printf("\n线性代数: "); scanf("%d",&s[j].score4); } printf("\n\t是否显示录入信息? ? ? ? \n"); printf("\n\t请输入(Y/N)"); getchar(); scanf("%c",&ch); if(ch=='Y'||ch=='y') { printf("学号"); printf("姓名"); printf("C程序设计"); printf("高数"); printf("英语"); printf("线性代数"); putchar('\n'); for(i=0;i { printf("%d",s[i].no); printf("%6s",s[i].name); printf("%8d",s[i].score1); printf("%6d",s[i].score2); printf("%6d",s[i].score3); printf("%6d",s[i].score4); putchar('\n'); } } stunum=N; } voidinsert()/*//插入函数*/ { charc,ch; inti; printf("\n\n\n请输入要插入的student信息"); printf("\n输入学生学号: "); scanf("%d",&s[stunum].no); printf("\n输入学生姓名: "); scanf("%s",s[stunum].name); printf("\n输入学生C语言程序设计成绩: "); scanf("%d",&s[stunum].score1); printf("\n输入学生高等数学成绩: "); scanf("%d",&s[stunum].score2); printf("\n输入学生英语成绩: "); scanf("%d",&s[stunum].score3); printf("\n输入学生线性代数成绩: "); scanf("%d",&s[stunum].score4); printf("\n"); stunum++; while (1) { printf("是否继续插入? ? (Y/N)"); c=getchar(); c=getchar(); if(c=='Y'||c=='y') { printf("\n\n\n请输入要插入的student信息"); printf("\n输入学生学号: "); scanf("%d",&s[stunum].no); printf("\n输入学生姓名: "); scanf("%s",&s[stunum].name); printf("\n输入学生C语言程序设计成绩: "); scanf("%d",&s[stunum].score1); printf("\n输入学生高数成绩: "); scanf("%d",&s[stunum].score2); printf("\n输入学生英语成绩: "); scanf("%d",&s[stunum].score3); printf("\n输入学生线性代数成绩: "); scanf("%d",&s[stunum].score4); printf("\n\n"); stunum++; } else break; } printf("\n\t是否显示插入后的学生信息? ? ? ? \n"); printf("\n\t请输入(Y/N)"); getchar(); scanf("%c",&ch); if(ch=='Y'||ch=='y') { printf("学号"); printf("姓名"); printf("C程序设计"); printf("高数"); printf("英语"); printf("线性代数"); putchar('\n'); for(i=0;i { printf("%d",s[i].no); printf("%6s",s[i].name); printf("%8d",s[i].score1); printf("%6d",s[i].score2); printf("%6d",s[i].score3); printf("%6d",s[i].score4); putchar('\n'); } } printf("\n\n"); } voidselect()/*//查找函数*/ { printf("\n请输入要查找的student的姓名\n"); structstudentt; charname[15]; inti,j,m; for(i=0;i { s[i].aver=(s[i].score1+s[i].score2+s[i].score3+s[i].score4)/(float)4; } for(i=0;i { for(j=0;j if(s[j].aver { t=s[j+1]; s[j+1]=s[j]; s[j]=t; } } for(i=0,j=1;i s[i].num=j; printf("\n输入: "); scanf("%s",name); for(i=0;i { if((strcmp(name,s[i].name))==0) { m=i; printf("学号: %d\n",s[m].no); printf("姓名: %s\n",s[m].name); printf("C语言成绩: %d\n",s[m].score1); printf("高数成绩: %d\n",s[m].score2); printf("英语成绩: %d\n",s[m].score3); printf("线代成绩: %d\n",s[m].score4); printf("平均分: %f\n",s[m].aver); printf("名次: %d\n",s[m].num); printf("\n\n"); } } } voiddel()/*//删除函数*/ { printf("\n请输入要删除的student的姓名\n"); charch,name[15]; structstudentt; inti,j,m; for(i=0,j=1;i { s[i].aver=(s[i].score1+s[i].score2+s[i].score3+s[i].score4)/(float)4; } for(i=0;i { for(j=0;j if(s[j].aver { t=s[j+1]; s[j+1]=s[j]; s[j]=t; } } for(i=0,j=1;i s[i].num=j; printf("\n输入: "); scanf("%s",name); for(i=0;i { if((strcmp(name,s[i].name))==0) { m=i; printf("学号: %d\n",s[m].no); printf("姓名: %s\n",s[m].name); printf("C语言成绩: %d\n",s[m].score1); printf("高数成绩: %d\n",s[m].score2); printf("英语成绩: %d\n",s[m].score3); printf("线代成绩: %d\n",s[m].score4); printf("平均分: %f\n",s[m].aver); printf("名次: %d\n",s[m].num); printf("\n\n"); } } printf("\n\t确定要删除吗? ? (Y/N)"); scanf("%c",&ch); printf("\n"); if(ch=='y'||ch=='Y') { for(i=0;i {if(strcmp(s[i].name,name)==0) for(j=i;j s[j]=s[j+1]; } printf("\n\t删除成功\n"); getchar(); stunum--; } printf("\n\n"); } voidave1()/*//个人平均分*/ { inti,j; for(i=0,j=1;i { s[i].aver=(s[i].score1+s[i].score2+s[i].score3+s[i].score4)/(float)4; printf("第%d个同学平均分为%f",j,s[i].aver); printf("\n\n"); } } voidave2()/*//各课平均分*/ { floatallaver[4]; inti,j,allsum1=0,allsum2=0,allsum3=0,allsum4=0; for(i=0;i { allsum1+=s[i].score1; allsum2+=s[i].score2; allsum3+=s[i].score3; allsum4+=s[i].score4; } allaver[0]=allsum1/(float)i; allaver[1]=allsum2/(float)i; allaver[2]=allsum3/(float)i; allaver[3]=allsum4/(float)i; printf("C语言平均分\t高数平均分\t英语平均分\t线代平均分\n"); for(j=0;j<4;j++) printf("%f\t",allaver[j]); printf("\n\n"); } voidsort()/*排序*/ {ave1(); structstudentt; inti,j,n,x; for(i=0;i { for(j=0;j if(s[j].aver { t=s[j+1]; s[j+1]=s[j]; s[j]=t; } } for(i=0,j=1;i s[i].num=j; printf("学号"); printf("姓名"); printf("C程序设计"); printf("高数"); printf("英语"); printf("线性代数"); printf("平均分"); printf("成绩名次"); putchar('\n'); for(n=0,x=1;n { printf("%d",s[n].no); printf("%6s",s[n].name); printf("%8d",s[n].score1); printf("%6d",s[n].score2); printf("%6d",s[n].score3); printf("%6d",s[n].score4); printf("%14f",s[n].aver); printf("%6d",x); putchar('\n'); } printf("\n\n"); } voiddis()/*//分数段人数*/ { inti; intcount[5]={0}; intcount1[5]={0}; intcount2[5]={0}; intcount3[5]={0}; for(i=0;i { if(s[i].score1>=0&&s[i].score1<60) count[0]++; if(s[i].score1>=60&&s[i].score1<70) count[1]++; if(s[i].score1>=70&&s[i].score1<80) count[2]++; if(s[i].score1>=80&&s[i].score1<90) count[3]++; if(s[i].score1>=90&&s[i].score1<=100) count[4]++; } printf("C语言程序设计成绩0~60分: %d\t\t\t\t\n",count[0]); printf("C语言程序设计成绩60~70分: %d\t\t\t\t\n",count[1]); printf("C语言程序设计成绩70~80分: %d\t\t\t\t\n",count[2]); printf("C语言程序设计成绩80~90分: %d\t\t\t\t\n",count[3]); printf("C语言程序设计成绩90~100分: %d\t\t\t\t\n",count[4]); for(i=0;i { if(s[i].score2>=0&&s[i].score2<60) count1[0]++; if(s[i].score2>=60&&s[i].score2<70) count1[1]++; if(s[i].score2>=70&&s[i].score2<80) count1[2]++; if(s[i].score2>=80&&s[i].score2<90) count1[3]++; if(s[i].score2>=90&&s[i].score2<=100) count1[4]++; } printf("高等数学成绩0~60分: %d\t\t\t\t\n",count1[0]); printf("高等数学成绩60~70分: %d\t\t\t\t\n",count1[1]); printf("高等数学成绩70~80分: %d\t\t\t\t\n",count1[2]); printf("高等数学成绩80~90分: %d\t\t\t\t\n",count1[3]); printf("高等数学成绩90~100分: %d\t\t\t\t\n",count1[4]); for(i=0;i { if(s[i].score3>=0&&s[i].score3<60) count2[0]++; if(s[i].score3>=60&&s[i].score3<70) count2[1]++; if(s[i].score3>=70&&s[i].score3<80) count2[2]++; if(s[i].score3>=80&&s[i].score3<90) count2[3]++; if(s[i].score3>=90&&s[i].score3<=100) count2[4]++; } printf("英语成绩0~60分: %d\t\t\t\t\n",count2[0]); printf("英语成绩60~70分: %d\t\t\t\t\n",count2[1]); printf("英语成绩70~80分: %d\t\t\t\t\n",count2[2]); printf("英语成绩80~90分: %d\t\t\t\t\n",count2[3]); printf("英语成绩90~100分: %d\t\t\t\t\n",count2[4]); for(i=0;i { if(s[i].score4>=0&&s[i].score4<60) count3[0]++; if(s[i].score4>=60&&s[i].score4<70) count3[1]++; if(s[i].score4>=70&&s[i].score4<80) count3[2]++; if(s[i].score4>=80&&s[i].score4<90) count3[3]++; if(s[i].score4>=90&&s[i].score4<=100) count3[4]++; } printf("线性代数成绩0~60分: %d\t\t\t\t\n",count3[0]); printf("线性代数成绩60~70分: %d\t\t\t\t\n",count3[1]); printf("线性代数成绩70~80分: %d\t\t\t\t\n",count3[2]); printf("线性代数成绩80~90分: %d\t\t\t\t\n",count3[3]); printf("线性代数成绩90~100分: %d\t\t\t\t\n",count3[4]); } voidrework()/*修改学生信息*/ { inti; charname[20]; printf("输入要修改的学生姓名: "); scanf("%s",&name); for(i=0;i if(strcmp(s[i].name,name)==0) { printf("\n\t\t输入新的学生信息\n"); printf("\n学号: "); scanf("%d",&s[i].no); printf("\n输入学生姓名: "); scanf("%s",&s[i].name); printf("\nC语言程序设计成绩: "); scanf("%d",&s[i].score1); printf("\n高等数学成绩: "); scanf("%d",&s[i].score2); printf("\n英语成绩: "); scanf("%d",&s[i].score3); printf("\n线性代数成绩: "); scanf("%d",&s[i].score4); printf("\n\n"); sort(); break; } } main() { inti; do{ printf("*****************************************\n"); printf("|学生管理系统主菜单界面|\n"); printf("||\n"); printf("|1.录入学生信息5.个人平均分|\n"); printf("||\n"); printf("|2.插入学生信息6.各科平均分|\n"); printf("||\n"); printf("|3.查找学生信息7.成绩排名及显示|\n"); printf("||\n"); printf("|4.删除学生信息8.各分数段人数|\n"); printf("||\n"); printf("|0.安全退出系统9.修改学生信息|\n"); printf("||\n"); printf("|----------->学生管理程序<----------|\n"); printf("*****************************************\n"); printf("请在0~9之间选择: "); printf("\n请选择界面信息: "); scanf("%d",&i); switch(i) { case1: /*//录入*/ printf("\n-------------请输入信息--------------"); input(); break; case2: insert(); break; case3: select(); break; case4: del(); break; case5: ave1(); break; case6: ave2(); break; case7: sort(); break; case8: dis(); break; case9: rework(); break; default: ; } }while(i! =0);/*//安全退出系统*/ printf("\n\t\t\t\t\****谢谢使用****\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精心 编程 语言 课程设计 学生 管理