学生成绩管理系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
(本科)
课程:
数据结构
学号:1310441019/1310441031
/1310441064
姓名:
程徐/章燕芳/江淑芬
班级:
2013级计算机科学与技术(嵌入式)教师:
史君华
时间:
2014.12.1—2014.12.30
计算机科学与技术系
结果与分析:
1.选择运行后出现如下界面:
2.输入1即为对数学成绩的分析
3.输入2即为对英语成绩的分析:
4.输入3即为对计算机成绩的分析:
5.个人平均成绩的分析:
6.输入要找的学号和姓名之后:
7.输入不存在的学号的分析:
附录:
程序源代码:
#include
#include
#include
#define N 7
struct student
{
char no[10];//学号
char name[20];//姓名
int math;//数学分数
int english;//英语分数
int computer;//计算机分数
int score;//交换用分数
int eveave;//个人平均分
};
struct student st[N]; //定义学生结构体
void subject(student st[],int n)//选定某个学科进行分析
{
int number;
int temp;
printf(" 请选择要分析的学科: ");
scanf("%d",&number);
int i=0;
switch(number)
{
case 1:
printf(" ★★★★★★★★★以下是关于数学的成绩分析:★★★★★★★★★★\n");
for(i=0;i st[i].score=st[i].math; break; case 2: printf(" ★★★★★★★★★以下是关于英语的成绩分析:★★★★★★★★★★\n"); for(i=0;i st[i].score=st[i].english; break; case 3: printf(" ★★★★★★★★★以下是关于计算机成绩分析:★★★★★★★★★★\n"); for(i=0;i st[i].score=st[i].computer; break; } int j; printf(" 按学号每个人的原始数据为:\n"); for(i=0;i printf(" %d\n",st[i].score); printf(" 排序后的数据为\n"); for(i=0;i { for(j=0;j if(st[j+1].score { temp=st[j].score; st[j].score=st[j+1].score; st[j+1].score=temp; } } for(i=0;i printf(" %d\n",st[i].score); printf(" 该门课的平均成绩为:\n"); float sum=0; float courseave; for(i=0;i { sum=sum+st[i].score; } courseave=sum/7; printf(" %f\n",courseave); printf(" 该门课的最高分为:\n"); int max=st[0].score; for(i=0;i { if(st[i].score>max) { max=st[i].score; } } printf(" %d\n",max);//最高分 printf(" 该门课的最低分为:\n"); int min=st[0].score; for(i=0;i { if(st[i].score { min=st[i].score; } } printf(" %d\n",min);//最低分 int bjg=0; int jg=0; int zd=0; int lh=0; int yx=0; for(i=0;i { if(st[i].score<60) //计算不及格人数 { bjg++; } if(st[i].score>=60&&st[i].score<70)//计算60~69人数 { jg++; } if(st[i].score>=70&&st[i].score<80)//计算70~79人数 { zd++; } if(st[i].score>=80&&st[i].score<90)//计算80~89人数 { lh++; } if(st[i].score>=90)//计算90分以上人数 { yx++; } } printf(" 该门课的不及格人数为:\n %d\n 60~69人数:\n %d\n 70~79人数:\n %d\n 80~89人数:\n %d\n 90分以上人数:\n %d\n",bjg,jg,zd,lh,yx); } void studentave(student st[],int n)//计算每个人的平均成绩并排序 { int i;