C程序学生成绩管理系统代码.docx

上传人:b****4 文档编号:5612345 上传时间:2023-05-08 格式:DOCX 页数:22 大小:17.75KB
下载 相关 举报
C程序学生成绩管理系统代码.docx_第1页
第1页 / 共22页
C程序学生成绩管理系统代码.docx_第2页
第2页 / 共22页
C程序学生成绩管理系统代码.docx_第3页
第3页 / 共22页
C程序学生成绩管理系统代码.docx_第4页
第4页 / 共22页
C程序学生成绩管理系统代码.docx_第5页
第5页 / 共22页
C程序学生成绩管理系统代码.docx_第6页
第6页 / 共22页
C程序学生成绩管理系统代码.docx_第7页
第7页 / 共22页
C程序学生成绩管理系统代码.docx_第8页
第8页 / 共22页
C程序学生成绩管理系统代码.docx_第9页
第9页 / 共22页
C程序学生成绩管理系统代码.docx_第10页
第10页 / 共22页
C程序学生成绩管理系统代码.docx_第11页
第11页 / 共22页
C程序学生成绩管理系统代码.docx_第12页
第12页 / 共22页
C程序学生成绩管理系统代码.docx_第13页
第13页 / 共22页
C程序学生成绩管理系统代码.docx_第14页
第14页 / 共22页
C程序学生成绩管理系统代码.docx_第15页
第15页 / 共22页
C程序学生成绩管理系统代码.docx_第16页
第16页 / 共22页
C程序学生成绩管理系统代码.docx_第17页
第17页 / 共22页
C程序学生成绩管理系统代码.docx_第18页
第18页 / 共22页
C程序学生成绩管理系统代码.docx_第19页
第19页 / 共22页
C程序学生成绩管理系统代码.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C程序学生成绩管理系统代码.docx

《C程序学生成绩管理系统代码.docx》由会员分享,可在线阅读,更多相关《C程序学生成绩管理系统代码.docx(22页珍藏版)》请在冰点文库上搜索。

C程序学生成绩管理系统代码.docx

C程序学生成绩管理系统代码

#include

#include

#include

intc;

voidinformation();/*学生信息*/

voidmenu();/*主菜单*/

voidchoose();/*是否返回主菜单的选择*/

voiderror();/*报错*/

voidoutput_();/*输出后问是否返回主菜单*/

voidoutput_2();/*输出*/

voidfind();/*查询*/

voiddelete_();/*删除*/

voidrank();/*排序*/

voide();/*退出*/

structstudent

{

charnum[10];/*学号*/

charname[8];/*学生姓名*/

charsex[3];/*性别*/

charsnum[10];/*课程号*/

charsubject[10];/*课程名*/

intcredit;/*学分*/

intscore1;/*平时分*/

intscore2;/*实验分*/

intscore3;/*卷面分*/

doubleadd;/*平均分*/

doublefinal;/*最后学分*/

}stu[10],temp;

voidmain()/*主函数*/

{

intb;

printf("\n\n--------学生管理系统--------\n\n");

printf("制作者:

游义娟\n");

printf("***************************************************\n");

printf("|1…………学生成绩输入|\n");

printf("|2…………输出表格|\n");

printf("|3…………查询|\n");

printf("|4…………删除学生记录|\n");

printf("|5…………排序|\n");

printf("|6…………退出|\n");

printf("***************************************************\n\n");

printf("***如果文件中无学生数据,请先输入数据***\n\n");

printf("请输入您要执行的功能对应的数字:

");

scanf("%d",&b);

switch(b)

{

case1:

information();break;

case2:

output_();break;

case3:

find();break;

case4:

delete_();break;

case5:

rank();break;

case6:

e();break;

}

if(b!

=1&&b!

=2&&b!

=3&&b!

=4&&b!

=5)

error();

}

voidmenu()/*菜单*/

{

intb;

printf("\n\n--------主菜单--------\n\n");

printf("***************************************************\n");

printf("|1…………学生成绩输入|\n");

printf("|2…………输出表格|\n");

printf("|3…………查询|\n");

printf("|4…………删除学生记录|\n");

printf("|5…………排序|\n");

printf("|6…………退出|\n");

printf("***************************************************\n\n");

printf("请输入您要执行的功能对应的数字:

");;

scanf("%d",&b);

switch(b)

{

case1:

information();break;

case2:

output_();break;

case3:

find();break;

case4:

delete_();break;

case5:

rank();break;

case6:

e();break;

}

if(b!

=1&&b!

=2&&b!

=3&&b!

=4&&b!

=5)

error();

}

voidchoose()/*选择*/

{

intf;

printf("\n\n******是否返回主菜单******\n");

printf("---------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………退出||\n");

printf("---------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&f);

if(f==1)

menu();

elseif(f==2)

e();

else

error();

}

voiderror()/*报错*/

{

intf;

printf("\n\n****您的输入错误,是否返回主菜单****\n");

printf("---------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………退出||\n");

printf("---------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&f);

if(f==1)

menu();

elseif(f==2)

e();

else

error();

}

voidinformation()/*输入*/

{

inti;

//FILE*fp;

printf("\n***请输入学生的个数<=10***\n\n请输入你要输入的学生的个数:

");

scanf("%d",&c);

if(c<=10)

{

for(i=0;i

{

printf("\n\n请输入第%d个学生的信息:

\n",i+1);

printf("学号:

");

scanf("%s",stu[i].num);

printf("姓名:

");

scanf("%s",stu[i].name);

printf("性别:

");

scanf("%s",stu[i].sex);

printf("课程号:

");

scanf("%s",stu[i].snum);

printf("课程名:

");

scanf("%s",&stu[i].subject);

printf("学分:

");

scanf("%d",&stu[i].credit);

printf("平时成绩:

");

scanf("%d",&stu[i].score1);

printf("实验成绩:

");

scanf("%d",&stu[i].score2);

printf("卷面成绩:

");

scanf("%d",&stu[i].score3);

stu[i].add=stu[i].score1*0.15+stu[i].score2*0.15+stu[i].score3*0.7;

switch((int)(stu[i].add)/10)

{

case10:

stu[i].final=stu[i].credit;break;

case9:

stu[i].final=stu[i].credit;break;

case8:

stu[i].final=stu[i].credit*0.8;break;

case7:

stu[i].final=stu[i].credit*0.75;break;

case6:

stu[i].final=stu[i].credit*0.6;break;

case5:

stu[i].final=0;break;

case4:

stu[i].final=0;break;

case3:

stu[i].final=0;break;

case2:

stu[i].final=0;break;

case1:

stu[i].final=0;break;

case0:

stu[i].final=0;break;

}

}

}

else

{

printf("\n!

!

!

!

!

您输入的数已超出范围,请重新输入!

!

!

!

!

\n");

information();

}

/*fp=fopen("stud","w");

for(i=0;i

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);*/

printf("\n输入完毕\n");

choose();

}

voidoutput_()/*输出*/

{

//FILE*fp;

inti;

//if((fp=fopen("stud","r"))==NULL)

//{

//printf("cannotopenfile.\n");

//exit(0);

//}

//fp=fopen("stud","r");

for(i=0;i

{

//fread(&stu[i],sizeof(structstudent),1,fp);

printf("\n\n学号\t姓名\t性别\t课程编号课程名称\n");

for(i=0;i

{

printf("%s\t%s\t%s\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].snum,stu[i].subject);

}

printf("\n\n学分平时成绩实验成绩卷面成绩综合实得学分\n");

for(i=0;i

{

printf("%d\t%d\t%d\t%d\t%3.2f\t%1.2f\n",stu[i].credit,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].add,stu[i].final);

}

}

choose();

}

voidoutput_2()

{

//FILE*fp;

inti;

/*if((fp=fopen("stud","r"))==NULL)

{

printf("cannotopenfile.\n");

exit(0);

}*/

printf("\n\n****原始数据:

****\n");

printf("\n学号\t姓名\t性别\t课程编号课程名称\n");

for(i=0;i

{

printf("%s\t%s\t%s\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].snum,stu[i].subject);

}

printf("\n\n学分平时成绩实验成绩卷面成绩综合实得学分\n");

for(i=0;i

{

printf("%d\t%d\t%d\t%d\t%3.2f\t%1.2f\n",stu[i].credit,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].add,stu[i].final);

}

}

voidfind()/*查询*/

{

//FILE*fp;

intk,j,f,q,judge=0;

charm[10];

/*if((fp=fopen("stud","r"))==NULL)

{

printf("cannotopenfile.\n");

exit(0);

}*/

printf("\n****是否输出原始数据****\n");

printf("---------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………否||\n");

printf("---------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&k);

printf("\n");

if(k==1)

output_2();

elseif(k==2);

else

{

printf("****您的输入错误,请重新输入选择****\n");

find();

}

printf("\n\n---------查询学生信息----------\n");

printf("************************************\n");

printf("|1----按名字查询|\n");

printf("|2----按学号查询|\n");

printf("************************************\n");

printf("请选择:

");

scanf("%d",&f);

if(f==1)

{

printf("\n请输入您要查询的人的名字:

");

scanf("%s",m);

for(j=0;j

{

if(strcmp(m,stu[j].name)==0)

{

printf("\n\n*****您要查询的信息为*****\n");

printf("\n学号\t姓名\t性别\t课程编号课程名称\n");

printf("%s\t%s\t%s\t%s\t%s\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].snum,stu[j].subject);

printf("\n学分平时成绩实验成绩卷面成绩综合实得学分\n");

printf("%d\t%d\t%d\t%d\t%3.2f\t%1.2f\n",stu[j].credit,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].add,stu[j].final);

judge=1;

}

}

}

elseif(f==2)

{

printf("\n请输入您要查询的人的学号:

");

scanf("%s",m);

for(j=0;j

{

if(strcmp(m,stu[j].num)==0)

{

printf("\n\n*****您要查询的信息为*****\n");

printf("\n学号\t姓名\t性别\t课程编号课程名称\n");

printf("%s\t%s\t%s\t%s\t%s\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].snum,stu[j].subject);

printf("\n\n学分平时成绩实验成绩卷面成绩综合实得学分\n");

printf("%d\t%d\t%d\t%d\t%3.2f\t%1.2f\n",stu[j].credit,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].add,stu[j].final);

printf("\n");

judge=1;

}

}

}

else

error();

if(judge==0)

{

printf("\n\n****数据库中无此人的信息,是否重新输入?

****\n");

printf("-----------------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………返回主菜单||\n");

printf("||3…………退出||\n");

printf("-----------------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&q);

if(q==1)

find();

elseif(q==2)

menu();

elseif(q==3)

e();

else

error();

}

choose();

}

voiddelete_()/*删除*/

{

//FILE*fp;

inti,j,flag=0,k,v,r,q;

charm[10];

/*if((fp=fopen("stud","r"))==NULL)

{

printf("cannotopenfile.\n");

exit(0);

}*/

printf("\n\n****是否输出原始数据****\n");

printf("---------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………否||\n");

printf("---------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&k);

if(k==1)

output_2();

elseif(k==2);

else

{

printf("****您的输入错误,请重新输入选择****\n");

delete_();

}

//fclose(fp);

printf("\n\n*******删除学生记录*******\n");

printf("----------------------------------------------\n");

printf("||1…………按名字删除||\n");

printf("||2…………按学号删除||\n");

printf("----------------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&v);

if(v==1)

{

printf("\n请输入您要删除的人的名字:

");

scanf("%s",m);

for(i=0;i

{

if(strcmp(m,stu[i].name)==0)

{

for(j=i;j

{

strcpy(stu[j].name,stu[j+1].name);

stu[j]=stu[j+1];

}

flag=1;

}

}

}

elseif(v==2)

{

printf("\n请输入您要删除的人的学号:

\n");

scanf("%s",m);

for(i=0;i

{

if(strcmp(m,stu[i].num)==0)

{

for(j=i;j

{

strcpy(stu[j].num,stu[j+1].num);

stu[j]=stu[j+1];

}

flag=1;

}

}

}

else

error();

if(flag==1)

c=c-1;

else

{

printf("\n\n****找不到您要删除的数据,是否重新输入?

****\n");

printf("-----------------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………返回主菜单||\n");

printf("||3…………退出||\n");

printf("-----------------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&q);

if(q==1)

delete_();

elseif(q==2)

menu();

elseif(q==3)

e();

else

error();

}

printf("\n\n***是否输出删除后的数据***\n");

printf("---------------------------------------\n");

printf("||1…………是||\n");

printf("||2…………否||\n");

printf("---------------------------------------\n\n");

printf("请输入您的选择:

");

scanf("%d",&r);

if("r==1")

{

printf("\n\n*****删除后的数据*****\n");

/*if((fp=fopen("stud","w"))==NULL)

{

printf("cannotopenfile\n");

e

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2