学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx
- 文档编号:29800552
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:20
- 大小:18.03KB
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx
《学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx(20页珍藏版)》请在冰豆网上搜索。
学生成绩信息管理系统完整程序代码自己写的可正确运行
#include
#include
#include
#include
#defineN100//宏定义,使N代表100,为结构体数量
intM=0;//M表示已存学生信息的数量,初始化为0
structstudent
{
intnum;//学号,整形
charname[25];//学生姓名
floatscore[3];//学生成绩
floataver;//平均得分
floattotal;//总成绩
}stu[N];//定义结构体数组
charstr[10];//用于存放从键盘读取的密码
charstr0[10]="123456";//初始密码
charstr1[10];//用于存放修改密码时第一次输入的新密码
charstr2[10];//用于存放修改密码时第二次输入的新密码
voidmain()//主函数
{
voiddenglu();//登陆函数的声明
denglu();
}
voiddenglu()//登陆函数
{
voidsg();//修改密码的函数的声明
voidmenu();//主菜单函数的声明
inti,k;//定义连个整形变量,均用于循环控制
printf("*****************************************************************************\n\n");
printf("\t\t\t欢迎进入学生成绩管理系统!
\n\n");
printf("*****************************************************************************\n");
printf("\t\t\t\t\t***信工2班郭健生杨大雷翟羽佳制作\n\n\n\n\n");
printf("\t初始密码为123456,初次登陆请先修改密码,");
printf("修改密码请输入sg\n");
printf("\n\n\n\n\n\n\n\n");
for(k=0;;)
{
printf("请输入六位数密码:
");
for(i=0;(str[i]=getch())!
='\r';i++)
putchar('*');
printf("\n");
str[i]='\0';
if(strcmp(str,"sg")==0)
{
sg();
continue;
}
if(strcmp(str,str0)!
=0)
printf("密码错误!
\n");
elsebreak;
}
printf("登陆成功!
\n\n按回车键继续!
\n");
printf("\n\n\n");
getchar();//从键盘读取一个字符
system("cls");//清屏
menu();
}
voidsg()//用于修改密码的函数
{
inti,k;
system("cls");
printf("*****************************************************************************\n");
printf("欢迎进入修改密码界面\n");
printf("*****************************************************************************\n");
printf("\n\n");
for(k=0;;)
{
printf("\n请输入原始密码:
");
for(i=0;(str[i]=getch())!
='\r';i++)
putchar('*');
printf("\n");
str[i]='\0';
if(strcmp(str,str0)!
=0)
printf("原密码输入错误!
\n");
else
break;
}
for(k=0;;)
{
printf("\n原密码输入正确!
\n请输入新密码:
\n");
for(i=0;(str1[i]=getch())!
='\r';i++)
putchar('*');
printf("\n");
str1[i]='\0';
break;
}
for(k=0;;)
{
printf("\n请再次输入新密码:
\n");
for(i=0;(str2[i]=getch())!
='\r';i++)
putchar('*');
printf("\n");
str2[i]='\0';
break;
}
if(strcmp(str1,str2)==0)
{
strcpy(str0,str1);
printf("\n密码修改成功!
!
\n按回车键继续!
\n");
getchar();
}
system("cls");
denglu();
}
voidmenu()//主菜单函数
{
voidget();
voidshow();
voidchaxun();
voidxiugai();
voiddel();
voidadd();
voidorder();
voidtotal();
voidsuborder();
voidsubaver();
voidsubgood();
voidsubbad();
intc=0;
printf("*****************************************************************************\n");
printf("\t\t欢迎进入学生成绩管理系统主菜单\n");
printf("*****************************************************************************\n");
printf("*1*录入学生成绩信息并保存\n");
printf("*2*显示学生成绩所有信息\n");
printf("*3*查询学生成绩信息\n");
printf("*4*修改学生成绩信息并保存\n");
printf("*5*删除学生成绩信息\n");
printf("*6*增加学生成绩信息\n");
printf("*7*按学生平均成绩降序排列\n");
printf("*8*计算所有学生的总成绩\n");
printf("*9*按某学科成绩降序排列\n");
printf("*10*显示某学科平均成绩\n");
printf("*11*计算某学科优秀(90分以上)学生人数\n");
printf("*12*计算某学科不及格(60分以下)学生人数\n");
printf("请选择(1~12):
");
scanf("%d",&c);
if(c<1||c>12)c=0;
switch(c)
{
case0:
printf("输入错误!
\n");break;
case1:
get();break;
case2:
show();break;
case3:
chaxun();break;
case4:
xiugai();break;
case5:
del();break;
case6:
add();break;
case7:
order();break;
case8:
total();break;
case9:
suborder();break;
case10:
subaver();break;
case11:
subgood();break;
case12:
subbad();break;
}
}
voidget()//录入学生信息的函数
{
inti=0,flag=1;
chark;
system("cls");
printf("**************************欢迎进入学生信息的录入!
***********************\n");
while(flag)
{
i++;
printf("请输入第%d个学生的学号:
",i);
scanf("%d",&stu[i-1].num);
printf("请输入第%d个学生的姓名:
",i);
scanf("%s",&stu[i-1].name);
printf("输入第%d个学生的C语言成绩:
",i);
scanf("%f",&stu[i-1].score[0]);
printf("输入第%d个学生的VB成绩:
",i);
scanf("%f",&stu[i-1].score[1]);
printf("输入第%d个学生的JAVA成绩:
",i);
scanf("%f",&stu[i-1].score[2]);
M++;
printf("\n\n");
printf("序号:
%d\n",i);
printf("学号:
%d\n",stu[i-1].num);
printf("姓名:
%s\n",stu[i-1].name);
printf("C语言:
%.2f\n",stu[i-1].score[0]);
printf("VB:
%.2f\n",stu[i-1].score[1]);
printf("JAVA:
%.2f\n",stu[i-1].score[2]);printf("\n\n");
printf("继续或退出(y/n):
");
getchar();
scanf("%c",&k);
if(k=='n'||k=='N')
flag=0;
}
system("cls");
menu();
}
voidshow()//显示学生信息的函数
{
inti=M,j=0;
system("cls");
printf("********************已存学生成绩信息如下表所列*********************\n");
printf("序号学号姓名C语言成绩VB成绩JAVA成绩\n");
for(j=0;j
{
printf("%d\t%d\t%s\t%.2f\t\t%.2f\t%.2f",j+1,stu[j].num,stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2]);
printf("\n");
}
printf("\n\n\n\n按回车键返回主选菜单\n");
getchar();getchar();
system("cls");
menu();
}
voidchaxun()//查询学生信息的函数
{
intx,i;
system("cls");
printf("***********************欢迎进入查询学生成绩信息界面***********************\n\n");
printf("请输入要查询学生的学号:
\n\n");
scanf("%d",&x);
for(i=0;i if(stu[i].num==x) { printf("要查询的学生信息为: \n\n"); printf("序号学号姓名C语言成绩VB成绩JAVA成绩\n"); printf("%d\t%d\t%s\t%.2f\t\t%.2f\t%.2f",i+1,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]); printf("\n\n"); } elseif(i==M) printf("没有找到所查学号学生的信息\n"); printf("\n\n\n\n按回车键返回主选菜单\n"); getchar();getchar(); system("cls"); menu(); } voidxiugai()//修改学生信息的函数 { inti,x; system("cls"); printf("***********************欢迎进入修改学生成绩信息界面***********************\n\n"); printf("请输入要修改信息的学生的学号: \n\n"); scanf("%d",&x); for(i=0;i if(stu[i].num==x) { printf("要修改的学生信息为: \n\n"); printf("序号学号姓名C语言成绩VB成绩JAVA成绩\n"); printf("%d\t%d\t%s\t%.2f\t\t%.2f\t%.2f",i+1,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]); printf("\n\n"); printf("请按提示输入该学生的新的成绩信息\n"); printf("请输入该学生的学号: "); scanf("%d",&stu[i-1].num); printf("请输入该学生的姓名: "); scanf("%s",&stu[i-1].name); printf("输入该学生的C语言成绩: "); scanf("%f",&stu[i-1].score[0]); printf("输入该学生的VB成绩: "); scanf("%f",&stu[i-1].score[1]); printf("输入该学生的JAVA成绩: "); scanf("%f",&stu[i-1].score[2]); printf("\n\n修改后的信息如下: \n"); printf("学号: %d\n",stu[i-1].num); printf("姓名: %s\n",stu[i-1].name); printf("C语言: %.2f\n",stu[i-1].score[0]); printf("VB: %.2f\n",stu[i-1].score[1]); printf("JAVA: %.2f\n",stu[i-1].score[2]);printf("\n\n"); } elseif(i==M) printf("学号输入错误! ! \n"); printf("\n\n\n\n按回车键返回主选菜单\n"); getchar();getchar(); system("cls"); menu(); } voiddel()//删除学生信息的函数 { inti,j,x,flag=1; charc; system("cls"); printf("*********************欢迎进入学生信息的删除界面*****************************\n"); while(flag) { printf("请输入要删除的学生的学号: "); scanf("%d",&x); for(i=0;i if(x==stu[i].num) { for(j=i;j stu[j]=stu[j+1]; printf("删除成功! \n"); M--; break; } printf("继续或退出(y/n): "); getchar(); scanf("%c",&c); if(c=='n'||c=='N') flag=0; } system("cls"); menu(); } voidadd()//添加学生信息的函数 { chark; intflag=1; inti=M; system("cls"); printf("*********************欢迎进入增加学生信息的界面*****************************\n"); while(flag) { i++; printf("请输入新增加的学生的学号: "); scanf("%d",&stu[i-1].num); printf("请输入新增加的学生的姓名: "); scanf("%s",&stu[i-1].name); printf("输入新增加的学生的C语言成绩: "); scanf("%f",&stu[i-1].score[0]); printf("输入新增加的学生的VB成绩: "); scanf("%f",&stu[i-1].score[1]); printf("输入新增加的学生的JAVA成绩: "); scanf("%f",&stu[i-1].score[2]); M++; printf("\n\n"); printf("序号: %d\n",i); printf("学号: %d\n",stu[i-1].num); printf("姓名: %s\n",stu[i-1].name); printf("C语言: %.2f\n",stu[i-1].score[0]); printf("VB: %.2f\n",stu[i-1].score[1]); printf("JAVA: %.2f\n",stu[i-1].score[2]);printf("\n\n"); printf("继续或退出(y/n): "); getchar(); scanf("%c",&k); if(k=='n'||k=='N') flag=0; } M=i; system("cls"); menu(); } voidorder()//按学生平均成绩将序排列 { inti,j; structstudentstut; system("cls"); printf("*********************按学生平均成绩降序排列*****************************\n\n\n"); for(i=0;i { stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3; } for(i=0;i for(j=1;j { if(stu[i].aver stut=stu[i],stu[i]=stu[j],stu[j]=stut; } printf("序号学号姓名C语言成绩VB成绩JAVA成绩平均成绩\n"); for(i=0;i { printf("%d\t%d\t%s\t%.2f\t\t%.2f\t%.2f\t\t%.2f",i+1,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].aver); printf("\n"); } printf("\n\n\n\n按回车键返回主选菜单\n"); getchar();getchar(); system("cls"); menu(); } voidtotal()//计算学生总成绩 { inti; system("cls"); printf("*********************所有学生的总成绩如下*****************************\n\n\n"); for(i=0;i { stu[i].total=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; printf("第%d个学生的总成绩为%.2f\n",i+1,stu[i].total); } printf("\n\n\n\n按回车键返回主选菜单\n"); getchar();getchar(); system("cls"); menu(); } voidsuborder()//将学生成绩按某学科降序排列 { inti,j,x; structstudentstut; system("cls"); printf("*********************按某一学科成绩降序排列*****************************\n\n\n"); printf("请输入排序参照的学科,C语言请输入0;VB请输入1;JAVA请输入2: "); scanf("%d",&x); for(i=0;i for(j=1;j { if(stu[i].score[x] stut=stu[i],stu[i]=stu[j],stu[j]=stut; } printf("序号学号姓名单科成绩\n"); for(i=0;i { printf("%d\t%d\t%s\t%.2f",i+1,stu[i].num,stu[i].name,stu[i].score[x]); printf("\n"); } printf("\n\n\n\n按回车键返回主选菜单\n"); getchar();getchar(); system("cls"); menu(); } voidsubaver()//显示学生学科平均成绩 { inti,x; floatsum=0,average=0; system("cls"); printf("***********************显示某学科平均成绩*****************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生成绩信息管理系统完整程序代码 自己写的 可正确运行 学生 成绩 信息管理 系统 完整 程序代码 自己 正确 运行