学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx

上传人:b****8 文档编号:29800552 上传时间:2023-07-27 格式:DOCX 页数:20 大小:18.03KB
下载 相关 举报
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx_第1页
第1页 / 共20页
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx_第2页
第2页 / 共20页
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx_第3页
第3页 / 共20页
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx_第4页
第4页 / 共20页
学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx

《学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx(20页珍藏版)》请在冰豆网上搜索。

学生成绩信息管理系统完整程序代码 自己写的 可正确运行.docx

学生成绩信息管理系统完整程序代码自己写的可正确运行

#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模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1