你既然没有给邮箱,我就直接发了,希望给分,采纳!!!有生成的exe,要的话,给qq
以下是代码
#include
#include
#include
#include
#include
struct student
{
long int xuehao;
char name[20];
int xueqi;
float shuxue;
float yuwen;
float yingyu;
float pingjun;
}stu[100];
float bjzongfen=0,bjsxzongfen=0,bjyyzongfen=0,bjywzongfen=0,bjpingjun=0;
float sxpingjun=0,ywpingjun=0,yypingjun=0;
int bujige=0,jige=0,zhong=0,liang=0,you=0;
int i=0;
void main()
{
void denglu();
void caidan();
system("color 60");
stu[0].xuehao=0;
denglu();
caidan();
}
/*登陆界面(指针变量)*/
void denglu()
{
void caidan();
char zhanghao,*p3;
long int mima,*p2;
int *p1,xiangmu,k;
printf("**************************欢迎使用学生成绩信息管理系统**************************");
printf("\t\t1.登陆管理系统\t\t\t2.退出系统\n\n");
printf("请选择项目:");
cx: scanf("%d",&xiangmu);
p1=&xiangmu;
if(*p1==1)
{
/*只能错误三次,三次之后关闭系统*/
for(k=0;k<3;)
{
if(k==3)
{exit(0);}
printf("\t\t\t用户名:");
scanf("%s",&zhanghao);
p3=&zhanghao;
printf("\t\t\t密码 :");
scanf("%d",&mima);
p2=&mima;
if(strcmp(p3,"lxj")==0&&*p2==123456)
{system("cls");printf("**************************学生成绩信息管理系统登陆成功**************************\n\n");caidan();}
else{printf("##############################输入用户名或密码有误##############################\n\n");
printf("######################你已错误%d次,错误三次后关闭管理系统######################\n\n",k+1);
printf("\t\t\t~~~~~~~~请重新输入~~~~~~~~\n");
k++;}
}
}
else if(*p1==2)
{exit(0);}
else {printf("选择有误,请重新选择:");goto cx;}
}
/*信息输入*/
void shuru()
{
void shuju();
void caidan();
int k;
printf("#######################请注意:所有成绩均为百分制,请注意换算####################\n");
for(;i<100;i++)
{
printf("###############################请输入第%d名学生的信息############################\n",i+1);
printf("##############################学号输入 0,信息录入结束###########################\n");
printf("第%d名学生的学号(不能输入重复学号):",i+1);
sxh: scanf("%d",&stu[i].xuehao);
if(stu[0].xuehao==0)
{
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
system("cls");caidan();
}
for(k=0;k {
if(stu[i].xuehao ==stu[k].xuehao)
{
printf("该学号已存在,请为该学生重新输入新学号:");
goto sxh;
}
}
if(stu[i].xuehao==0)
{system("cls");caidan();}
else{printf("第%d名学生的姓名:",i+1);
scanf("%s",&stu[i].name );
printf("第%d名学生的学期:",i+1);
scanf("%d",&stu[i].xueqi );
printf("第%d名学生的数学成绩:",i+1);
scanf("%f",&stu[i].shuxue );
printf("第%d名学生的语文成绩:",i+1);
scanf("%f",&stu[i].yuwen );
printf("第%d名学生的英语成绩:",i+1);
scanf("%f",&stu[i].yingyu );
printf("\n");}
shuju();
}
}
/*数据计算*/
void shuju()
{
void caidan();
int k=i;
stu[k].pingjun=(stu[k].yingyu+stu[k].yuwen+stu[k].shuxue)/3;
bjzongfen=bjzongfen+stu[k].yingyu+stu[k].yuwen+stu[k].shuxue;bjpingjun=bjzongfen/(k+1);
bjsxzongfen+=stu[k].shuxue;sxpingjun=bjsxzongfen/(k+1);
bjywzongfen+=stu[k].yuwen;ywpingjun=bjywzongfen/(k+1);
bjyyzongfen+=stu[k].yingyu;yypingjun=bjyyzongfen/(k+1);
if(stu[k].pingjun<60)
bujige+=1;
else if(stu[k].pingjun>=60)
jige+=1;
if(stu[k].pingjun>=60&&stu[k].pingjun<75)
liang+=1;
else if(stu[k].pingjun>=75&&stu[k].pingjun<90)
zhong+=1;
else if(stu[k].pingjun>=90&&stu[k].pingjun<=100)
you+=1;
}
/*功能菜单*/
void caidan()
{
void shuru();
void shuchu();
void xiugai();
void chazhao();
void shanchu();
int gongneng;
jixu: printf("1.输入新的学生信息\t\t\t2.输出已有全部学生信息\n\n");
printf("3.查看该班级所有学科总分及平均分\t4.查看该班级数学成绩总分及平均分\n\n");
printf("5.查看该班级语文成绩总分及平均分\t6.查看该班级英语成绩总分及平均分\n\n");
printf("7.查看该班级平均成绩(<60)不及格总人数\t8.查看该班级平均成绩(>=60)及格总人数\n\n");
printf("9.查看该班级平均成绩良好【60~75)总人数\t10.查看该班级平均成绩中等【75~90)总人数\n");
printf("11.查看该班级平均成绩优【90~100】总人数\t12.修改已有学生信息\n\n");
printf("13.查找已输入的单个学生信息\t\t14.删除一个已有学生信息\n\n");
printf("15.添加新的学生信息\t\t\t16.退出学生成绩管理系统\n\n");
printf("\t\t\t请选择您需要的功能项:");
chongshu: scanf("%d",&gongneng);
switch(gongneng)
{
case 1:{bjzongfen=0,bjsxzongfen=0,bjyyzongfen=0,bjywzongfen=0,bjpingjun=0;
sxpingjun=0,ywpingjun=0,yypingjun=0;
bujige=0,jige=0,zhong=0,liang=0,you=0;
i=0;
system("cls");shuru();}
case 2:{system("cls");shuchu();caidan();}
case 3:{
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");
printf("该班级所有学科总分为%0.2f,班级人均平均分为%0.2f\n\n",bjzongfen,bjpingjun);goto jixu;}
;
case 4:{
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级数学成绩总分为%0.2f,平均分为%0.2f\n\n",bjsxzongfen,sxpingjun);goto jixu;}
case 5:{
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级语文成绩总分为%0.2f,平均分为%0.2f\n\n",bjywzongfen,ywpingjun);goto jixu;}
case 6:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级英语成绩总分为%0.2f,平均分为%0.2f\n\n",bjyyzongfen,yypingjun);goto jixu;}
case 7:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级平均成绩不及格(平均成绩<60)的同学有%d位\n\n",bujige);goto jixu;}
case 8:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级平均成绩及格(平均成绩>=60)的同学有%d位\n\n",jige);goto jixu;}
case 9:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级平均成绩为良【60~75)的同学有%d位\n\n",liang);goto jixu;}
case 10:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级平均成绩中等【75~90)的同学有%d位\n\n",zhong);goto jixu;}
case 11:{if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}system("cls");printf("该班级平均成绩优秀【90~100】的同学有%d位\n\n",you);goto jixu;}
case 12:{system("cls");xiugai();}
case 13:{system("cls");chazhao();}
case 14:{system("cls");shanchu();}
case 15:{system("cls");shuru();}
case 16:{exit(0);}
default:{printf("输入有误,请重新输入:");goto chongshu;}
}
}
/*信息输出*/
void shuchu()
{
void caidan();
int k;
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}
printf("该班级学生成绩信息如下:\n");
printf("学号\t\t姓名\t学期\t数学\t语文\t英语\t三科平均分\n");
for(k=0;k {
printf("%d\t\t%s\t%d\t",stu[k].xuehao ,stu[k].name ,stu[k].xueqi );
printf("%0.1f\t%0.1f\t%0.1f\t%0.2f\n",stu[k].shuxue ,stu[k].yuwen ,stu[k].yingyu ,stu[k].pingjun );
}
}
/*修改信息*/
void xiugai()
{
void caidan();
void shuju();
void jisuan();
void shuchu();
int xgxx,k,xgxm,g;
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}shuchu();
printf("请输入需要被修改学生信息的学号:\n");
chongshu: scanf("%d",&xgxx);
for(k=0;k<=i;k++)
{
if(k==i)
{printf("查无此学号!!!请重新输入需要修改信息学生的学号:\n"); goto chongshu;}
if(xgxx==stu[k].xuehao)
{system("cls");
printf("需要被修改的学生的原始信息:\n");
printf("学号\t\t姓名\t学期\t数学\t语文\t英语\t三科平均分\n");
printf("%d\t\t%s\t%d\t",stu[k].xuehao ,stu[k].name ,stu[k].xueqi );
printf("%0.1f\t%0.1f\t%0.1f\t%0.2f\n",stu[k].shuxue ,stu[k].yuwen ,stu[k].yingyu ,stu[k].pingjun );
printf("\n");
printf("1.学号 2.姓名 3.学期 4.数学成绩 5.语文成绩 6.英语成绩 7.返回主菜单 \n");
printf("8.退出管理系统 9.该学生所有信息\n");
printf("请输入需要修改的项目序号:");
cs: scanf("%d",&xgxm);
switch(xgxm)
{
case 1:{
printf("将该学生原始学号修改为(不能输入重复学号):");
gsxh: scanf("%d",&stu[k].xuehao);
for(g=0;g {
if(g!=k&&stu[k].xuehao ==stu[g].xuehao)
{
printf("该学号已存在,请为该学生重新输入新学号:");
goto gsxh;
}
}
printf("###############################该学生信息已修改#################################\n");
system("cls"); caidan();
}
case 2:{printf("将该学生原始姓名修改为:");scanf("%s",&stu[k].name);system("cls");
printf("###############################该学生信息已修改#################################\n");
caidan();}
case 3:{printf("将该学生原始学期号修改为:");scanf("%d",&stu[k].xueqi);system("cls");
printf("###############################该学生信息已修改#################################\n");
caidan();}
case 4:{printf("将该学生原始数学成绩修改为:");scanf("%f",&stu[k].shuxue);jisuan();system("cls");
printf("###############################该学生信息已修改#################################\n");
caidan();}
case 5:{printf("将该学生原始语文成绩修改为:");scanf("%f",&stu[k].yuwen );jisuan();system("cls");
printf("###############################该学生信息已修改#################################\n");
caidan();}
case 6:{printf("将该学生原始英语成绩修改为:");scanf("%f",&stu[k].yingyu );jisuan();system("cls");
printf("###############################该学生信息已修改#################################\n");
caidan();}
case 7:{caidan();}
case 8:{exit(0);}
case 9:{
printf("将该学生原始学号修改为:");scanf("%d",&stu[k].xuehao);
printf("将该学生原始姓名修改为:");scanf("%s",&stu[k].name);
printf("将该学生原始学期号修改为:");scanf("%d",&stu[k].xueqi);
printf("将该学生原始数学成绩修改为:");scanf("%f",&stu[k].shuxue);
printf("将该学生原始语文成绩修改为:");scanf("%f",&stu[k].yuwen );
printf("将该学生原始英语成绩修改为:");scanf("%f",&stu[k].yingyu );
jisuan();system("cls");
printf("###############################该学生信息已修改################################\n");
caidan();
}
default:{printf("输入有误,请重新准确输入需要修改的项目序号:");goto cs;}
}
break;
}
}
}
/*查找单个学生信息*/
void chazhao()
{
void caidan();
int xgxx,k;
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}
printf("请输入需要查询学生的学号:\n");
scanf("%d",&xgxx);
for(k=0;k<=i;k++)
{
if(k==i)
{system("cls");printf("查无此学号!!!请检查输入学号是否正确。\n\n"); caidan();}
if(xgxx==stu[k].xuehao)
{ system("cls"); printf("该学生的成绩信息为:\n");
printf("学号\t\t姓名\t学期\t数学\t语文\t英语\t三科平均分\n");
printf("%d\t\t%s\t%d\t",stu[k].xuehao ,stu[k].name ,stu[k].xueqi );
printf("%0.1f\t%0.1f\t%0.1f\t%0.2f\n",stu[k].shuxue ,stu[k].yuwen ,stu[k].yingyu ,stu[k].pingjun );
printf("\n");caidan();
}
}
caidan();
}
/*修改后的数据计算*/
void jisuan()
{
int g;
/*数据清零*/
bjzongfen=0,bjsxzongfen=0,bjyyzongfen=0,bjywzongfen=0,bjpingjun=0;
sxpingjun=0,ywpingjun=0,yypingjun=0;
bujige=0,jige=0,zhong=0,liang=0,you=0;
for(g=0;g {
stu[g].pingjun=(stu[g].yingyu+stu[g].yuwen+stu[g].shuxue)/3;
bjzongfen=bjzongfen+stu[g].yingyu+stu[g].yuwen+stu[g].shuxue;
bjpingjun=bjzongfen/g;
bjsxzongfen+=stu[g].shuxue;sxpingjun=bjsxzongfen/g;
bjywzongfen+=stu[g].yuwen;ywpingjun=bjywzongfen/g;
bjyyzongfen+=stu[g].yingyu;yypingjun=bjyyzongfen/g;
if(stu[g].pingjun<60)
bujige+=1;
else if(stu[g].pingjun>=60)
jige+=1;
if(stu[g].pingjun>=60&&stu[g].pingjun<75)
liang+=1;
else if(stu[g].pingjun>=75&&stu[g].pingjun<90)
zhong+=1;
else if(stu[g].pingjun>=90&&stu[g].pingjun<=100)
you+=1;
}
bujige=bujige-1;
}
/*删除学生信息*/
void shanchu()
{
void caidan();
void jisuan();
void shuchu();
int xgxx,k,queren;
if(stu[0].xuehao==0)
{system("cls");
printf("…############################################################################…");
printf("\n……………………………学生成绩管理系统中未输入学生成绩信息……………………………\n");
printf("…############################################################################…\n");
caidan();
}shuchu();
printf("请输入需要删除学生的学号:\n");
scanf("%d",&xgxx);
for(k=0;k<=i;k++)
{
if(k==i)
{system("cls");printf("查无此学号!!!请检查输入学号是否正确。\n\n"); caidan();}
if(xgxx==stu[k].xuehao)
{ system("cls"); printf("该学生的成绩信息为:\n");
printf("学号\t\t姓名\t学期\t数学\t语文\t英语\t三科平均分\n");
printf("%d\t\t%s\t%d\t",stu[k].xuehao ,stu[k].name ,stu[k].xueqi );
printf("%0.1f\t%0.1f\t%0.1f\t%0.2f\n",stu[k].shuxue ,stu[k].yuwen ,stu[k].yingyu ,stu[k].pingjun );
printf("\n");
printf("\t1.确认删除该学生信息\t\t\t2.返回主菜单\n");
printf("\t\t\t\t请选择:");
cqr: scanf("%d",&queren);
switch(queren)
{
case 1:
{
for(;k {
stu[k]=stu[k+1];
}
jisuan();system("cls");
printf("###############################该学生信息已删除#################################\n");
i=i-1;
caidan();
}
case 2:{system("cls");caidan();}
default:{printf("输入有误,请重新输入:");system("cls");goto cqr;}
}
}
}
}