C语言学生成绩管理系统.docx
- 文档编号:13332971
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:17
- 大小:16.50KB
C语言学生成绩管理系统.docx
《C语言学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统.docx(17页珍藏版)》请在冰点文库上搜索。
C语言学生成绩管理系统
#include
#include
#include
#include
voidhomepage(); //主界面
voiddisplay(); //显示全部成绩
voidinput(); //录入插入
voiddel(); //删除记录
voidsort(); //排序
voidwaiting(); //等待界面
voidquit(); //退出界面
structstudent
{
intnum;
charname[15];
floatscore[3];
floatavg;
};
intcount=0; //当前学生个数
intsort_type=0; //当前排序类型
structstudentstu[10];
voidmain()
{
inti,k=0;
charusername[15],pwd[6];
system("color3f");
printf("\n\n");
printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf(" \t┃**********************************************************┃\n");
printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");
printf(" \t┃***┃************************************************┃***┃\n");
printf(" \t┃***┃*** ****┃***┃\n");
printf(" \t┃***┃*** 欢迎使用学生成绩管理系统 ****┃***┃\n");
printf(" \t┃***┃*** ****┃***┃\n");
printf(" \t┃***┃*** ****┃***┃\n");
printf(" \t┃***┃*** xxxxxxxxxxx ****┃***┃\n");
printf(" \t┃***┃*** ****┃***┃\n");
printf(" \t┃***┃*** 2006.11.11 ****┃***┃\n");
printf(" \t┃***┃*** ****┃***┃\n");
printf(" \t┃***┃************************************************┃***┃\n");
printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");
printf(" \t┃**********************************************************┃\n");
printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
for(i=0;i<3;i++)
{
printf("\n请输入用户名:
");
gets(username);
printf("\n请输入6位密码:
");
gets(pwd);
if((strcmp(username,"s1t1102")==0)&&(strcmp(pwd,"123456")==0))
{
printf("\n您已经成功登录\n");
k=1;
for(i=0;i<20;i++)
{
printf(".");
Sleep(100);
}
system("cls");
homepage();
break;
}
else
printf("\n用户名或密码无效请重新输入:
\n");
continue;
}
if(k==0)
printf("\n连续输入错误3次将退出程序\n");
Sleep(2000);
quit();
}
voidhomepage()
{
charn;
printf("\n\n");
printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* * *┃\n");
printf("\t┃* 1.显示成绩 * 2.录入成绩 *┃\n");
printf("\t┃* * *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* * *┃\n");
printf("\t┃* 3.删除记录 * 4.排序 *┃\n");
printf("\t┃* * *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┃* *┃\n");
printf("\t┃* 0.退出程序 *┃\n");
printf("\t┃* *┃\n");
printf("\t┃************************************************************┃\n");
printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
while((n!
='1')&&(n!
='2')&&(n!
='3')&&(n!
='4')&&(n!
='0'))
{
printf("\n请选择:
");
fflush(stdin);
scanf("%c",&n);
switch(n)
{
case'1':
display();
break;
case'2':
if(count<10)
input();
else
{
printf("记录数已满\n");
Sleep(2000);
system("cls");
homepage();
}
break;
case'3':
del();
break;
case'4':
sort();
case'0':
quit();
break;
default:
printf("\n选项错误\n");
}
}
}
voiddisplay()
{
inti;
charc;
system("cls");
switch(sort_type)
{
case0:
printf("\t\t未排序:
\n\n");
break;
case1:
printf("\t\t按学号排序:
\n\n");
break;
case2:
printf("\t\t按成绩1排序:
\n\n");
break;
case3:
printf("\t\t按成绩2排序:
\n\n");
break;
case4:
printf("\t\t按成绩3排序:
\n\n");
break;
case5:
printf("\t\t按平均成绩排序:
\n\n");
break;
}
printf("\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for(i=0;i { printf("\t%d\t%s\t%5.2f\t%5.2f\t%5.2f\t%5.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg); } printf("\n\n按任意键返回\n"); c=getch(); system("cls"); homepage(); } voidinput() { inti,numcheck; charc; system("cls"); do { printf("学号: \n"); scanf("%d",&stu[count].num); numcheck=1; if(stu[count].num<0) printf("请输入正整数: \n"); for(i=0;i { if(stu[count].num==stu[i].num) { numcheck=0; printf("学号重复,重新输入: \n"); } } }while(! numcheck); printf("姓名: \n"); fflush(stdin); gets(stu[count].name); for(i=0;i<3;i++) { printf("第%d门课成绩: \n",i+1); scanf("%f",&stu[count].score[i]); } stu[count].avg=(stu[count].score[0]+stu[count].score[1]+stu[count].score[2])/3; printf("是否继续输入(y/n): \n"); do { c=getchar(); if(c=='y'||c=='Y') { count++; if(count<10) input(); else { printf("记录数已满\n"); Sleep(2000); system("cls"); homepage(); } } elseif(c=='n'||c=='N') { count++; system("cls"); homepage(); } else; }while((c! ='y')&&(c! ='n')&&(c! ='Y')&&(c! ='N')); } voiddel() { inti,j,del_num,match=0; charc; system("cls"); printf("请输入要删除的学生学号: \n"); scanf("%d",&del_num); waiting(); for(i=0;i { if(stu[i].num==del_num) { match=1; for(j=i;j /* { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name); stu[j].score[0]=stu[j+1].score[0]; stu[j].score[1]=stu[j+1].score[1]; stu[j].score[2]=stu[j+1].score[2]; stu[j].avg=stu[j+1].avg; }*/ stu[j]=stu[j+1]; } } if(! match) printf("没有要找的学号.\n"); printf("是否继续删除? (y/n)"); fflush(stdin); do { c=getchar(); if(c=='y'||c=='Y') { count--; del(); } elseif(c=='n'||c=='N') { count--; system("cls"); homepage(); } else; }while((c! ='y')&&(c! ='n')); } voidsort() { inti,j; intchoice; structstudenttemp; system("cls"); printf("\t\t请选择排序功能: \n"); printf("\t1.按学号排序\n"); printf("\t2.按成绩1排序\n"); printf("\t3.按成绩2排序\n"); printf("\t4.按成绩3排序\n"); printf("\t5.按平均成绩排序\n"); do { scanf("%d",&choice); }while((choice! =1)&&(choice! =2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统