数据结构课程设计任务书文档格式.docx
- 文档编号:20555856
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:24
- 大小:131.13KB
数据结构课程设计任务书文档格式.docx
《数据结构课程设计任务书文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
英语
计算机
01
王芳
78
77
90
02
张强
89
67
88
03
李浩
56
66
04
黄鹏
86
85
05
尚校
76
06
赵鹏
45
54
07
蒋泽
70
1问题描述
1.1问题描述
问题描述。
录入并保存一个班级学生多门课程的成绩,并对成绩进行分析
1.2基本要求
1、通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat。
2、对文件input.dat中的数据进行处理,要求具有如下功能:
3、使用VisualC++6.0控制台应用程序开发,界面美观
2程序结构及功能描述
voidmenu(>
。
//主菜单
intprintf_student(studentstu[]>
//输入学生信息
voidmath(studentstu[]>
//按数学成绩排序
voideng(studentstu[]>
//按英语成绩排序
voidcomputer(studentstu[]>
//按计算机成绩排序
voidaverg(studentstu[]>
//按平均成绩输出
voiddata_analyse(studentstu[]>
//各科成绩分析
voidsearch_no(studentstu[]>
//按学号查询
voidsearch_name(studentstu[]>
//按姓名查询
voidmain(>
//主函数
3算法描述
#include"
iostream.h"
stdio.h"
fstream.h"
stdlib.h"
string.h"
#defineN7
intdegree(intnum>
structstudent
{
charNO[3]。
charname[20]。
floatmath。
floateng。
floatcomputer。
floataver。
}stu[N]。
intdegree(floatnum>
printf("
输入你需要在功能号"
>
menu(>
inti。
scanf("
%d"
&
i>
switch(i>
{
case1:
math(stu>
break。
case2:
eng(stu>
case3:
computer(stu>
case4:
averg(stu>
case5:
data_analyse(stu>
case6:
search_name(stu>
case7:
search_no(stu>
case8:
printf_student(stu>
default:
printf("
dataerror!
"
}
}
cout<
**********************************************"
endl。
*************欢迎进入学生成绩系统***********"
可以实现的功能有:
1、按数学成绩排序,并生成相应的文件输出"
2、按英语成绩排序,并生成相应的文件输出"
3、按计算机成绩排序,生成相应的文件输出"
4、查询个人平均成绩"
5、各科成绩分布"
6、按姓名查询"
7、按学号查询"
8、输入新学生信息"
//输入学生情况
FILE*mp。
if((mp=fopen("
d:
\\input.txt"
"
w"
==NULL>
printf("
Failedtoopenthisfile.\n"
exit(0>
**************************************************"
************请输入学生信息,用空格隔开!
***********"
fprintf(mp,"
学号\t姓名\t数学\t英语\t计算机\n"
for(i=0。
i<
N。
i++>
%s%s%f%f%f"
stu[i].NO,&
stu[i].name,&
stu[i].math,&
stu[i].eng,&
stu[i].computer>
fprintf(mp,"
%s\t%s\t%.2f\t%.2f\t%.2f\n"
stu[i].NO,stu[i].name,stu[i].math,stu[i].eng,stu[i].computer>
fclose(mp>
return0。
system("
cls"
*****************按数学成绩排序*******************"
FILE*mp,*np。
np=fopen("
\\学生信息.txt"
r"
if(np==NULL>
Failedtoopenthisfile!
\n"
}
inti=0。
while(fscanf(np,"
!
=EOF>
i++。
mp=fopen("
\\数学排序.txt"
if(mp==NULL>
intk,j。
studentt。
for(k=0。
k<
N-1。
k++>
for(j=0。
j<
N-k-1。
j++>
{
if(stu[j].math>
stu[j+1].math>
{
t=stu[j]。
stu[j]=stu[j+1]。
stu[j+1]=t。
}
}
学号\t"
姓名\t"
数学\t"
英语\t"
计算机"
*****************按英语成绩排序*******************"
\\英语排序.txt"
if(stu[j].eng>
stu[j+1].eng>
学号\t姓名\t英语\t数学\t计算机\n"
stu[i].NO,stu[i].name,stu[i].eng,stu[i].math,stu[i].computer>
*****************按计算机成绩排序*****************"
\\计算机排序.txt"
if(stu[j].computer>
stu[j+1].computer>
计算机\t"
英语"
学号\t姓名\t计算机\t数学\t英语\n"
stu[i].NO,stu[i].name,stu[i].computer,stu[i].eng,stu[i].math>
//求个人平均成绩
****************按个人平均成绩排序****************"
\\按个人平均成绩排序.txt"
intj。
for(j=0。
stu[j].aver=(stu[j].math+stu[j].eng+stu[j].computer>
/3。
intm,n。
for(m=0。
m<
m++>
for(n=0。
n<
N-m-1。
n++>
if(stu[n].computer>
stu[n+1].computer>
t=stu[n]。
stu[n]=stu[n+1]。
stu[n+1]=t。
平均成绩"
学号\t姓名\t计算机\t数学\t英语\t平均成绩\n"
%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n"
stu[i].NO,stu[i].name,stu[i].computer,stu[i].eng,stu[i].math,stu[i].aver>
//学科成绩
//各门课程的平均成绩、最高分、最低分、不及格人数、60~69分人数、70~79分人数、80~89分人数、90分以上人数;
floatma[8],en[8],co[8]。
//各门课0.平均1.最高2.最低3.不及格。
for(intj=0。
8。
ma[j]=0。
en[j]=0。
co[j]=0。
FILE*np。
{
//平均
ma[0]+=stu[i].math。
en[0]+=stu[i].eng。
co[0]+=stu[i].computer。
//各门课统计、最高
if(stu[i].math>
ma[1]>
ma[1]=stu[i].math。
if(stu[i].eng>
en[1]>
en[1]=stu[i].eng。
if(stu[i].computer>
co[1]>
co[1]=stu[i].computer。
//各门课统计、最低
if(stu[i].math<
ma[2]>
ma[2]=stu[i].math。
if(stu[i].eng<
en[2]>
en[2]=stu[i].eng。
if(stu[i].computer<
co[2]>
co[2]=stu[i].computer。
//分数段统计
switch(degree(stu[i].math>
case0:
ma[3]++。
case1:
ma[4]++。
case2:
ma[5]++。
case3:
ma[6]++。
case4:
ma[7]++。
switch(degree(stu[i].eng>
en[3]++。
en[4]++。
en[5]++。
en[6]++。
en[7]++。
switch(degree(stu[i].computer>
co[3]++。
co[4]++。
co[5]++。
co[6]++。
co[7]++。
fclose(np>
ma[0]=ma[0]/N。
en[0]=en[0]/N。
co[0]=co[0]/N。
\t平均\t最高\t最低\t不及格\t60~69\t70~79\t80~89\t90~100\n"
for(intk=0。
%0.0f\t"
ma[k]>
\n英语\t"
for(intn=0。
en[n]>
\n计算机\t"
for(intm=0。
co[m]>
if(num<
60>
return0。
70&
&
num>
59>
return1。
80&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 任务书