学生成绩管理系统C语言课程设计源代码文档格式.docx

上传人:b****3 文档编号:17789369 上传时间:2022-12-10 格式:DOCX 页数:13 大小:16.36KB
下载 相关 举报
学生成绩管理系统C语言课程设计源代码文档格式.docx_第1页
第1页 / 共13页
学生成绩管理系统C语言课程设计源代码文档格式.docx_第2页
第2页 / 共13页
学生成绩管理系统C语言课程设计源代码文档格式.docx_第3页
第3页 / 共13页
学生成绩管理系统C语言课程设计源代码文档格式.docx_第4页
第4页 / 共13页
学生成绩管理系统C语言课程设计源代码文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统C语言课程设计源代码文档格式.docx

《学生成绩管理系统C语言课程设计源代码文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C语言课程设计源代码文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统C语言课程设计源代码文档格式.docx

/*按平均分排序*/

voidpfen();

/*按总分排序*/

voidaddnew();

/*录入学生成绩*/

voidpall();

/*显示所有成绩*/

voidcheck();

/*查询菜单*/

voidpnum();

/*按学号排序*/

voidpjing();

/*精确查找*/

/*******************************************************************************************************/

/*主菜单*/

main()

charchoose;

while

(1)

{

printf("

\n\t\t**************************************"

);

printf("

\n\t\t*欢迎使用成绩管理系统*"

\n\t\t**"

\n\t\t*请选择*"

\n\t\t*1.录入学生成绩*"

\n\t\t*2.查询学生成绩*"

\n\t\t*3.清屏*"

\n\t\t*0.退出程序*"

\n\n"

请选择:

"

scanf("

%c"

&

choose);

getchar();

switch(choose)

{case'

1'

:

addnew();

break;

case'

2'

check();

case'

3'

system("

cls"

0'

exit(0);

default:

输入错误,请从新输入!

}

}

}

/****************************************************************************************************/

/*录入学生成绩*/

voidaddnew()

intn,m,i,p;

FILE*file;

sum=0.00000;

average=0.00000;

if((("

c:

\\student.dat"

"

rb"

))==NULL)

file=fopen("

"

wb+"

/*创建一个文件*/

请输入需要录入的学生人数:

"

scanf("

%d"

n);

for(i=0;

i<

n;

i++)

{

输入第%d个同学信息:

\n"

i+1);

姓名:

%s"

stu[i].name);

学号:

stu[i].number);

输入科目个数:

m);

stu[i].w=m;

按科目(回车)成绩(回车)……的顺序输入:

\n"

/*录入成绩*/

for(p=0;

p<

m;

p++)

stu[i].cheng[p].subject);

stu[i].cheng[p].point);

stu[i].sum=stu[i].sum+stu[i].cheng[p].point;

stu[i].average=stu[i].sum/m;

/*printf("

总分%f,平均分%f\n"

stu[i].sum,stu[i].average);

*/

fwrite(&

stu[i],sizeof(stu),1,file);

/*把stu写入文件*/

fclose(file);

/*关闭文件*/

fflush(stdin);

voidcheck()

{charchoose;

\n\t\t*查询菜单*"

\n\t\t*1.按学号排列*"

\n\t\t*2.按总分排列*"

\n\t\t*3.按平均分排列*"

\n\t\t*4.精确查询*"

\n\t\t*5.显示所有学生成绩*"

\n\t\t*6.清屏*"

\n\t\t*0.返回*"

pnum();

pfen();

pjun();

case'

4'

pjing();

5'

pall();

6'

main();

/*显示所有成绩*/

voidpall()

inti=0,m;

))==NULL)

{printf("

Openerror!

!

getch();

fread(&

while(feof()/*循环整个文件*/

姓名----学号----总分----平均分\n"

%s%5d%10.1f%8.1f\n"

stu[i].name,stu[i].number,stu[i].sum,stu[i].average);

科目------成绩\n"

for(m=0;

m<

stu[i].w;

m++)/*显示各科成绩*/

{

%40s%d\n"

stu[i].cheng[m].subject,stu[i].cheng[m].point);

i++;

fread(&

/*******************************************************************************************************/

voidpnum()

{FILE*file;

intj;

inti=0;

intn=0;

intm=0;

structstudentbm;

/*创建一个‘中间’结构体,用于交换*/

))==NULL)/*打开文件*/

Openerror"

exit(0);

while(feof()

n=i;

for(j=n-1;

j>

0;

j--)

{for(i=0;

j;

{if(stu[i].number>

stu[i+1].number)/*对比学号,对换stu*/

{bm=stu[i];

/*交换位置*/

stu[i]=stu[i+1];

stu[i+1]=bm;

}

}

i++)/*交换后从新排序*/

for(m=0;

m++)

voidpfen()

intm;

{if(stu[i].sum<

stu[i+1].sum)

/*显示到屏幕*/

/*按平均分排序*/

voidpjun()

{if(stu[i].average<

stu[i+1].average)

voidpjing()

intn;

请输入要查询的学生的学号:

{if(n==stu[i].number)/*输出对应的学号的学生成绩*/

{printf("

/******************************************结束*******************************************************/

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

当前位置:首页 > 法律文书 > 调解书

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

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