学生成绩管理系统实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生成绩管理系统实验报告

《高级语言程序设计》课程设计

实验报告

题目:学生成绩管理系统

专业:

班级:

姓名:

成绩:

指导教师:

完成日期:2008年06月24日

一、目的

1( 进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告);

二、内容与设计思想。

(1)(系统功能与分析(填写你所设计的菜单及流程图)。

(2).数据结构

(3).模块设计

根据功能需要:

源文件函数名功能

(3)总体设计思想:

(4)调试过程: 测试数据及结果,出现了哪些问题,如何修改的

(5)程序有待改进的地方及本次实习的收获和建议

(7)源程序清单(主要代码)

最佳答案

C语言课程设计任务书

一、题目: 学生成绩管理

二、目的与要求

1. 目的:

(1)基本掌握面向过程程序设计的基本思路和方法;

(2)达到熟练掌握C语言的基本知识和技能;

(3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求

基本要求:

1. 要求利用C语言面向过程的编程思想来完成系统的设计;

2. 突出C语言的函数特征,以多个函数实现每一个子功能;

3. 画出功能模块图;

4. 进行简单界面设计,能够实现友好的交互;

5. 具有清晰的程序流程图和数据结构的详细定义;

6. 熟练掌握C语言对文件的各种操作。

创新要求:

在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作

不同

三、信息描述

输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。编程计算出每

个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩单。要求:

1)排序用一个函数实现。

2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均

分。 3)按实验报告电子模板格式填写实验内容。

四、功能描述

1. 学生基本信息及成绩所选科目成绩的录入。

2. 基本信息的查询(分系、班级;分科目)与修改。

3. 对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率);

4. 对所开课程的成绩分析(求其平均成绩,最高分和最低分);

5. 对学生考试成绩进

行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行

名,并显示各科成绩信息)

五、解决方案

1. 分析程序的功能要求,划分程序功能模块。

2. 画出系统流程图。

3. 代码的编写。定义数据结构和各个功能子函数。

4. 程序的功能调试。

5. 完成系统总结报告以及使用说明书

六、进度安排

此次课程设计时间为两周,分四个阶段完成:

1. 分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计

要求,找出实现方法,按照需求

分析、总体设计、详细设计这几个步骤进行。

2. 编码调试阶段:根据设计分析方案编写C代码,然后调试该代码,实现课题

要求的功能。

3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编

码、测试的步骤和内容。

4. 考核阶段。

#include

#include

#define STU_NUM 10 /*宏定义学生的数量*/

struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/

{

char stu_id[20]; /*学生学号;*/

float score[3]; /*三门课成绩;*/

float total; /*总成绩;*/

float aver; /*平均成绩;*/

};

/*排序用一个函数来实现*/

void SortScore(student *stu,int n) {

student stud;

for(int i = 0; i < n-1; i++) for(int j = i+1 ; j < n; j++) {

if(stu[i].total < stu[j].total) {

stud = stu[i];

stu[i] = stu[j];

stu[j] = stud;

}

}

}

int main( )

{

student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这

10个人的相关信息。*/

/*输入这十个学生的相关信息*/

for(int i = 0; i

printf("请输入第%d个学生的学号:",i+1);

scanf("%s",&stu[i].stu_id); printf("输入第%d个学生的数学成绩:",i+1); scanf("%f",&stu[i].score[0]); printf("输入第%d个学生的英语成绩:",i+1); scanf("%f",&stu[i].score[1]); printf("输入第%d个学生的计算机成绩:",i+1); scanf("%f",&stu[i].score[2]); stu[i].total =

stu[i].score[0]+stu[i].score[1]+stu[i].score[2];

stu[i].aver = stu[i].total/3; }

printf("\n");

SortScore(stu,STU_NUM);/*调用排序函数*/

/*输出排序后的各学生的成绩*/

for(i = 0 ; i < STU_NUM; i++) {

printf("序号: %d\t",i);

printf("学号:%s\t",stu[i].stu_id); printf("数

学:%f\t",stu[i].score[0]); printf("英语:%f\t",stu[i].score[1]); printf("计算机:%f\t",stu[i].score[2]); printf("平均成绩:%f\t",stu[i].aver);

printf("总分:%f\t",stu[i].total); printf("\n\n");

相关文档
最新文档