C语言课程设计学生成绩管理系统Word下载.docx
- 文档编号:21611181
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:21
- 大小:19.81KB
C语言课程设计学生成绩管理系统Word下载.docx
《C语言课程设计学生成绩管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
intxgcj(int);
/*修改成绩*/
voiddelete1();
/*删除学生信息函数*/
voidtongji();
/*统计界面函数*/
voidtongji1();
/*计算每个学生平均分*/
voidtongji2();
/*计算每门课程的平均分*/
voidpaixu1();
/*排序函数*/
voidpaino();
/*按学号排序*/
voidpaiave();
/*按平均分排序*/
voidpaidkcj();
/*按单科成绩排序*/
voidchange(int,int);
/*交换结构体数组中的两个记录*/
voidoutputx(int);
/*选择输出单科成绩徐修楼编*/
voidfind1();
/*查找界面函数*/
intfind(charsno[]);
/*按学号查找*/
intfindname(charcname[]);
/*按姓名查找*/
voidfindyear(intcyear);
/*按入学年查找*/
voidsave();
/*保存文件*/
voidstop();
/*停顿函数*/
voidstop()/*停顿函数(公共函数)*/
printf("
PressAnyKeyToContinue...\n"
);
getch();
}
voidoutput()/*输出学生成绩函数(公共函数)*/
inti,j;
===================================================================\n"
XueHaoXingMingRuXueNianCGaoShuDaWuDianLuMoDian\n"
for(i=0;
i<
num;
i++)
{
%-11s%-10s%-11d"
stu[i].no,stu[i].name,stu[i].year);
for(j=0;
j<
5;
j++)
%-7.1f"
stu[i].score[j]);
\n"
}
stop();
voidinit()/*系统初始化函数*/
if(access("
stu.dat"
0))/*判断文件是否存在*/
newfile();
/*若不存在,新建数据文件*/
else
read1();
/*若存在,读取数据*/
voidnewfile()/*建立新的数据文件*/
inti;
FILE*fp;
if((fp=fopen("
"
wb"
))==NULL)/*创建二进制文件*/
ChuangJianShiBai!
QingChongXinYunXingChengXu.\n"
/*显示“创建文件失败,请重新运行程序”*/
exit(0);
/*终止程序*/
ChuCiYunXing,JinXingShuJuChuShiHua...\n"
/*显示“初次运行,进行数据初始化...”*/
clrscr();
QingShuRuXueShengRenShu:
"
/*显示“请输入学生人数:
”*/
scanf("
%d"
&
num);
QingShuRuDi%dGeXueShengDeXueHao:
i+1);
/*显示“请输入第i+1个学生的学号:
getchar();
/*吃回车*/
gets(stu[i].no);
XingMing:
/*显示“姓名:
gets(stu[i].name);
RuXueNian:
/*显示“入学年”*/
stu[i].year);
C-YuYanChengJi:
/*显示“C语言成绩”*/
%f"
stu[i].score[0]);
GaoShuChengJi:
/*显示“高数成绩”*/
stu[i].score[1]);
DaWuChengJi:
/*显示“大物成绩”*/
stu[i].score[2]);
DianLuChengJi:
/*显示“电路成绩”*/
stu[i].score[3]);
MoDianChengJi:
/*显示“模电成绩”*/
stu[i].score[4]);
fwrite(&
stu[i],1,sizeof(structstudent),fp);
/*把第i+1名学生成绩写入文件*/
fclose(fp);
======================================\n"
GungCaiShuRuDe%dGeShuJuWei:
num);
/*显示“刚才输入的num个数据为:
======================================\n\n"
output();
voidread1()/*从数据文件中读取数据*/
num=0;
/*num为数据文件中实际存储的学生人数*/
fp=fopen("
r"
if(fp==NULL)/*数据文件不存在*/
WenJianDaKaiShiBai!
ChongXinYunXingChengXu\n"
/*显示“文件打开失败!
重新运行程序”*/
while(!
feof(fp))
fread(&
stu[num],1,sizeof(structstudent),fp);
num++;
num--;
=======================================\n"
XianYou%dGeXueShengDeChengJi:
/*显示“现有NUM个学生的成绩:
=======================================\n\n"
voidweihu()/*维护界面函数*/
charc1;
while
(1)
\n\n\n\t\t\t*****************************\n"
\t\t\t*WeiHu*\n"
\t\t\t*1.XinZeng*\n"
/*新增*/
\t\t\t*2.ShanChu*\n"
/*删除(按学号)*/
\t\t\t*3.XiuGai*\n"
/*修改*/
\t\t\t*ESC.FanHui*\n"
/*返回*/
\t\t\t*****************************\n"
\t\t\tQingXuanZe:
/*请选择:
*/
c1=getch();
if(c1==27)
break;
switch(c1)
case'
1'
:
new1();
2'
delete1();
3'
xiugai();
default:
XuanZenYouWu,QingChongXuan!
/*“选择有误,请重选!
voidnew1()/*新增一个学生成绩函数*/
QingShuRuXueHao:
/*显示“请输入学号:
gets(stu[num].no);
gets(stu[num].name);
stu[num].year);
stu[num].score[0]);
stu[num].score[1]);
stu[num].score[2]);
stu[num].score[3]);
stu[num].score[4]);
\n======================================\n"
voidxiugai()/*修改学生成绩*/
charxg[11];
\nQingshuruyaoxiugaixueshengdexuehao:
\n\n"
gets(xg);
if(strcmp(stu[i].no,xg)==0)break;
if(i==num)
\nShujuwenjianwugaishengxixi!
\n\nQingchongxinshuruxuehao.\n\n"
return;
xgcj(i);
intxgcj(intx)/*修改成绩*/
charxueke[5][10]={"
Cyuyan"
Gaoshu"
Wuli"
Dianlu"
Modian"
};
char(*p)[10],c;
intj,k;
p=xueke;
for(;
;
)
\t\t\t************************************\n\n"
\t\t\tChengJi\n"
\t\t\t1.CYuYan\n"
/*C语言*/
\t\t\t2.GaoShu\n"
/*高数*/
\t\t\t3.WuLi\n"
/*大学物理*/
\t\t\t4.DianLu\n"
/*电路*/
\t\t\t5.MoDian\n"
/*模电*/
\t\t\tEsc.FanHui\n\n"
/*返回上级*/
\tQingxuanzeyaoxiugaidechengji(press1.2.3.4.5.Esc):
c=getch();
if(c==27)break;
elseif(c>
='
&
c<
5'
k=c-49;
\nQingshuru%schengji:
p+k);
stu[x].score[k]);
\nXiugaihougaixueshengxinxiwei:
%-11s%-10s%-11d"
stu[x].no,stu[x].name,stu[x].year);
stu[x].score[j]);
elseprintf("
\nXuanZenYouWu,QingChongXuan!
intfind(charsno[])/*按学号查找*/
if(strcmp(stu[i].no,sno)==0)/*判断两个字符串相等*/
returni;
/*查找成功*/
return-1;
/*查找失败*/
voiddelete1()/*删除学生信息函数*/
charcno[11];
QingShuRuYaoShanChuDeXueShengXueHao:
/*“请输入要删除的学生学号”*/
gets(cno);
i=find(cno);
if(i!
=-1)
{for(j=i;
stu[j]=stu[j+1];
XianYou%dGeXueShengDeChengJi:
else{printf("
qingshuruzhengquedexuehao.\n"
voidtongji()/*统计界面函数*/
charc2;
\n\n\n\t\t\t************************************\n"
\t\t\t*TongJi*\n"
\t\t\t*1.XueShengPingJunFen*\n"
/*计算学生平均分*/
\t\t\t*2.KeChengPingJunFen*\n"
/*计算每门课程平均分*/
\t\t\t************************************\n"
c2=getch();
if(c2==27)break;
switch(c2)
tongji1();
\n\nXueShengPingJunFenWei:
===========================================\n"
XueHaoXingMingRuXueNianPingJunFen\n"
%-11s%-10s%-11d%-10.2f\n"
stu[i].no,stu[i].name,stu[i].year,stu[i].ave);
tongji2();
voidtongji1()/*计算每个学生平均分*/
stu[i].ave=0;
stu[i].ave+=stu[i].score[j];
stu[i].ave=stu[i].ave/5;
voidtongji2()/*计算每门课程的平均分*/
floatsum;
floatavec[5];
/*储存每门课的平均分*/
sum=0;
sum+=stu[i].score[j];
avec[j]=sum/num;
\n\nGeKePingJunFenWei:
/*“各科平均分:
===================================\n"
CGaoShuDaWuDianLuMoDian\n"
%-7.1f"
avec[i]);
voidpaixu1()/*排序界面*/
charc3;
\n\n\n"
\t\t\t*************************************\n"
\t\t\t*PaiXu*\n"
\t\t\t*1.AnXueHao*\n"
\t\t\t*2.AnPingJunFen*\n"
\t\t\t*3.Andankechengji*\n"
\t\t\t*ESC.FanHui*\n"
\t\t\t*************************************\n\n"
\t\QingXuanZe(press1.2.3.Esc):
c3=getch();
if(c3==27)break;
switch(c3)
paino();
break;
paiave();
paidkcj();
/*选择有误,请重选!
voidpaino()/*按学号排序*/
{/*按学号从低到高冒泡法排序*/
inti,j,k;
num-1-i;
if(strcmp(stu[j].no,stu[j+1].no)>
0)
change(j,j+1);
\nPaiXuHouWei:
/*“排序后为:
voidpaiave()/*按平均分排序*/
{/*按平均分从高到低冒泡法排序*/
structstudenttemp;
/*计算平均成绩*/
num-i-1;
if(stu[j].ave<
stu[j+1].ave)
change
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 成绩管理系统