C语言课程设计学生成绩管理系统1.docx

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

C语言课程设计学生成绩管理系统1.docx

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

C语言课程设计学生成绩管理系统1.docx

C语言课程设计学生成绩管理系统1

#include

#include

/*strcmp函数原型包含*/

#defineN100

/*定义最大学生人数为100*/

structstudent/*学生结构体定义*/

{

charno[11];/*学号,10位*/

charname[10];/*,3个汉字*/

floatscore[5];/*储存5门功课的成绩*/

floatave;/*储存平均分*/

intyear;/*入学年*/

}stu[N];

intnum;

intpanduani(int);/*通过i的值,判断信息要查找的信息是否存在*/

voidoutput();/*输出学生成绩函数(公共函数)*/

voidinit();/*系统初始化函数*/

voidnewfile();/*建立新的数据文件*/

voidread1();/*从数据文件中读取数据*/

voidweihu();/*维护界面函数*/

voidnew1();/*新增一个学生成绩函数*/

voidxiugai();/*修改学生成绩*/

intxgcj(int);/*修改成绩*/

voiddelete1();/*删除学生信息函数*/

voidtongji();/*统计界面函数*/

voidtongji1();/*计算每个学生平均分*/

voidtongji2();/*计算每门课程的平均分*/

voidpaixu1();/*排序函数*/

voidpaino();/*按学号排序*/

voidpaiave();/*按平均分排序*/

voidpaidkcj();/*按单科成绩排序*/

voidchange(int,int);/*交换结构体数组中的两个记录*/

voidoutputx(int);/*选择输出单科成绩徐修楼编*/

voidfind1();/*查找界面函数*/

intfind(charsno[]);/*按学号查找*/

intfindname(charame[]);/*按查找*/

voidfindyear(intcyear);/*按入学年查找*/

voidsave();/*保存文件*/

voidstop();/*停顿函数*/

voidstop()/*停顿函数(公共函数)*/

{

printf("PressAnyKeyToContinue...\n");

getch();

}

voidoutput()/*输出学生成绩函数(公共函数)*/

{

inti,j;

printf("===================================================================\n");

printf("XueHaoXingMingRuXueNianCGaoShuDaWuDianLuMoDian\n");

printf("===================================================================\n");

for(i=0;i

{

printf("%-11s%-10s%-11d",stu[i].no,stu[i].name,stu[i].year);

for(j=0;j<5;j++)

printf("%-7.1f",stu[i].score[j]);

printf("\n");

}

stop();

}

voidinit()/*系统初始化函数*/

{

if(access("stu.dat",0))/*判断文件是否存在*/

newfile();/*若不存在,新建数据文件*/

else

read1();/*若存在,读取数据*/

}

voidnewfile()/*建立新的数据文件*/

{

inti;

FILE*fp;

if((fp=fopen("stu.dat","wb"))==NULL)/*创建二进制文件*/

{

printf("ChuangJianShiBai!

QingChongXinYunXingChengXu.\n");/*显示“创建文件失败,请重新运行程序”*/

exit(0);/*终止程序*/

}

printf("ChuCiYunXing,JinXingShuJuChuShiHua...\n");/*显示“初次运行,进行数据初始化...”*/

stop();

clrscr();

printf("QingShuRuXueShengRenShu:

");/*显示“请输入学生人数:

”*/

scanf("%d",&num);

for(i=0;i

{

printf("QingShuRuDi%dGeXueShengDeXueHao:

",i+1);/*显示“请输入第i+1个学生的学号:

”*/

getchar();/*吃回车*/

gets(stu[i].no);

printf("XingMing:

");/*显示“:

”*/

gets(stu[i].name);

printf("RuXueNian:

");/*显示“入学年”*/

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

printf("C-YuYanChengJi:

");/*显示“C语言成绩”*/

scanf("%f",&stu[i].score[0]);

printf("GaoShuChengJi:

");/*显示“高数成绩”*/

scanf("%f",&stu[i].score[1]);

printf("DaWuChengJi:

");/*显示“大物成绩”*/

scanf("%f",&stu[i].score[2]);

printf("DianLuChengJi:

");/*显示“电路成绩”*/

scanf("%f",&stu[i].score[3]);

printf("MoDianChengJi:

");/*显示“模电成绩”*/

scanf("%f",&stu[i].score[4]);

fwrite(&stu[i],1,sizeof(structstudent),fp);/*把第i+1名学生成绩写入文件*/

}

fclose(fp);

clrscr();

printf("======================================\n");

printf("GungCaiShuRuDe%dGeShuJuWei:

\n",num);/*显示“刚才输入的num个数据为:

”*/

printf("======================================\n\n");

output();

}

voidread1()/*从数据文件中读取数据*/

{

FILE*fp;

num=0;/*num为数据文件中实际存储的学生人数*/

fp=fopen("stu.dat","r");

if(fp==NULL)/*数据文件不存在*/

{

printf("WenJianDaKaiShiBai!

ChongXinYunXingChengXu\n");/*显示“文件打开失败!

重新运行程序”*/

exit(0);

}

while(!

feof(fp))

{

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

num++;

}

num--;

fclose(fp);

printf("=======================================\n");

printf("XianYou%dGeXueShengDeChengJi:

\n",num);/*显示“现有NUM个学生的成绩:

”*/

printf("=======================================\n\n");

output();

}

voidweihu()/*维护界面函数*/

{

charc1;

while

(1)

{

clrscr();

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

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

printf("\t\t\t*1.XinZeng*\n");/*新增*/

printf("\t\t\t*2.ShanChu*\n");/*删除(按学号)*/

printf("\t\t\t*3.XiuGai*\n");/*修改*/

printf("\t\t\t*ESC.FanHui*\n");/*返回*/

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

printf("\t\t\tQingXuanZe:

\n");/*请选择:

*/

c1=getch();

if(c1==27)

break;

switch(c1)

{

case'1':

new1();

break;

case'2':

delete1();

case'3':

xiugai();

break;

default:

printf("XuanZenYouWu,QingChongXuan!

\n");/*“选择有误,请重选!

”*/

}

}

}

voidnew1()/*新增一个学生成绩函数*/

{

printf("QingShuRuXueHao:

");/*显示“请输入学号:

”*/

getchar();/*吃回车*/

gets(stu[num].no);

printf("XingMing:

");/*显示“:

”*/

gets(stu[num].name);

printf("RuXueNian:

");/*显示“入学年”*/

scanf("%d",&stu[num].year);

printf("C-YuYanChengJi:

");/*显示“C语言成绩”*/

scanf("%f",&stu[num].score[0]);

printf("GaoShuChengJi:

");/*显示“高数成绩”*/

scanf("%f",&stu[num].score[1]);

printf("DaWuChengJi:

");/*显示“大物成绩”*/

scanf("%f",&stu[num].score[2]);

printf("DianLuChengJi:

");/*显示“电路成绩”*/

scanf("%f",&stu[num].score[3]);

printf("MoDianChengJi:

");/*显示“模电成绩”*/

scanf("%f",&stu[num].score[4]);

num++;

printf("\n======================================\n");

printf("XianYou%dGeXueShengDeChengJi:

\n",num);/*显示“现有NUM个学生的成绩:

”*/

printf("======================================\n\n");

output();

}

voidxiugai()/*修改学生成绩*/

{

charxg[11];

inti;

printf("\nQingshuruyaoxiugaixueshengdexuehao:

\n\n");

gets(xg);

for(i=0;i

if(strcmp(stu[i].no,xg)==0)break;

if(i==num)

{

printf("\nShujuwenjianwugaishengxixi!

\n\nQingchongxinshuruxuehao.\n\n");

stop();

return;

}

xgcj(i);

}

intxgcj(intx)/*修改成绩*/

{

charxueke[5][10]={"Cyuyan","Gaoshu","Wuli","Dianlu","Modian"};

char(*p)[10],c;

intj,k;

p=xueke;

for(;;)

{

clrscr();

printf("\n");

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

printf("\t\t\tChengJi\n");

printf("\t\t\t1.CYuYan\n");/*C语言*/

printf("\t\t\t2.GaoShu\n");/*高数*/

printf("\t\t\t3.WuLi\n");/*大学物理*/

printf("\t\t\t4.DianLu\n");/*电路*/

printf("\t\t\t5.MoDian\n");/*模电*/

printf("\t\t\tEsc.FanHui\n\n");/*返回上级*/

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

printf("\tQingxuanzeyaoxiugaidechengji(press1.2.3.4.5.Esc):

\n");

c=getch();

if(c==27)break;

elseif(c>='1'&&c<='5')

{

k=c-49;

printf("\nQingshuru%schengji:

\n",p+k);

scanf("%f",&stu[x].score[k]);

printf("\nXiugaihougaixueshengxinxiwei:

\n");

printf("XueHaoXingMingRuXueNianCGaoShuDaWuDianLuMoDian\n");

printf("===================================================================\n");

printf("%-11s%-10s%-11d",stu[x].no,stu[x].name,stu[x].year);

for(j=0;j<5;j++)

printf("%-7.1f",stu[x].score[j]);

printf("\n");

}

elseprintf("\nXuanZenYouWu,QingChongXuan!

\n\n");

stop();

}

}

intfind(charsno[])/*按学号查找*/

{

inti;

for(i=0;i

if(strcmp(stu[i].no,sno)==0)/*判断两个字符串相等*/

returni;/*查找成功*/

return-1;/*查找失败*/

}

voiddelete1()/*删除学生信息函数*/

{

charo[11];

inti,j;

printf("QingShuRuYaoShanChuDeXueShengXueHao:

");/*“请输入要删除的学生学号”*/

gets(cno);

i=find(cno);

if(i!

=-1)

{for(j=i;j

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

num--;

printf("XianYou%dGeXueShengDeChengJi:

\n",num);/*显示“现有NUM个学生的成绩:

”*/

output();}

else{printf("qingshuruzhengquedexuehao.\n");

stop();}

}

voidtongji()/*统计界面函数*/

{

inti;

charc2;

while

(1)

{

clrscr();

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

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

printf("\t\t\t*1.XueShengPingJunFen*\n");/*计算学生平均分*/

printf("\t\t\t*2.KeChengPingJunFen*\n");/*计算每门课程平均分*/

printf("\t\t\t*ESC.FanHui*\n");/*返回*/

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

printf("\t\t\tQingXuanZe:

\n");/*请选择:

*/

c2=getch();

if(c2==27)break;

switch(c2)

{

case'1':

tongji1();

printf("\n\nXueShengPingJunFenWei:

\n");

printf("===========================================\n");

printf("XueHaoXingMingRuXueNianPingJunFen\n");

printf("===========================================\n");

for(i=0;i

printf("%-11s%-10s%-11d%-10.2f\n",stu[i].no,stu[i].name,stu[i].year,stu[i].ave);

stop();

break;

case'2':

tongji2();

break;

default:

printf("XuanZenYouWu,QingChongXuan!

\n");/*“选择有误,请重选!

”*/

}

}

}

voidtongji1()/*计算每个学生平均分*/

{

inti,j;

for(i=0;i

{

stu[i].ave=0;

for(j=0;j<5;j++)

stu[i].ave+=stu[i].score[j];

stu[i].ave=stu[i].ave/5;

}

}

voidtongji2()/*计算每门课程的平均分*/

{

inti,j;

floatsum;

floatavec[5];/*储存每门课的平均分*/

for(j=0;j<5;j++)

{

sum=0;

for(i=0;i

sum+=stu[i].score[j];

avec[j]=sum/num;

}

printf("\n\nGeKePingJunFenWei:

\n");/*“各科平均分:

”*/

printf("===================================\n");

printf("CGaoShuDaWuDianLuMoDian\n");

printf("===================================\n");

for(i=0;i<5;i++)

printf("%-7.1f",avec[i]);

printf("\n");

stop();

}

voidpaixu1()/*排序界面*/

{

charc3;

for(;;)

{

clrscr();

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

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

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

printf("\t\t\t*1.AnXueHao*\n");/*按学号排序*/

printf("\t\t\t*2.AnPingJunFen*\n");/*按平均分排序*/

printf("\t\t\t*3.Andankechengji*\n");/*按单科成绩排序*/

printf("\t\t\t*ESC.FanHui*\n");/*返回*/

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

printf("\t\QingXuanZe(press1.2.3.Esc):

\n");/*请选择:

*/

c3=getch();

if(c3==27)break;

switch(c3)

{

case'1':

paino();break;

case'2':

paiave();break;

case'3':

paidkcj();break;

default:

printf("\nXuanZenYouWu,QingChongXuan!

\n\n");/*选择有误,请重选!

*/

stop();

}

}

}

voidpaino()/*按学号排序*/

{/*按学号从低到高冒泡法排序*/

inti,j,k;

for(i=0;i

for(j=0;j

if(strcmp(stu[j].no,stu[j+1].no)>0)

change(j,j+1);

printf("\nPaiXuHouWei:

\n");/*“排序后为:

”*/

output();

}

voidpaiave()/*按平均分排序*/

{/*按平均分从高到低冒泡法排序*/

inti,j;

structstudenttemp;

tongji1();/*计算平均成绩*/

for(i=0;i

for(j=0;j

if(stu[j].ave

change(j,j+1);

pr

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

当前位置:首页 > 医药卫生 > 基础医学

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

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