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

更新时间:2023-04-09 18:02:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

枣庄学院数学与统计学院

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

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

实验报告

题目:学生成绩管理系统

专业:

班级:

姓名:

成绩:

指导教师:

完成日期:2008年06月24日

一、目的

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

二、内容与设计思想。

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

(2).数据结构

(3).模块设计

根据功能需要:

源文件函数名功能

(3)总体设计思想:

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

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

页脚内容16

枣庄学院数学与统计学院

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

最佳答案

C语言课程设计任务书

一、题目: 学生成绩管理

二、目的与要求

1. 目的:

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

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

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

基本要求:

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

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

3. 画出功能模块图;

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

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

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

创新要求:

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

不同

三、信息描述

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

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

页脚内容16

枣庄学院数学与统计学院

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

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

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

四、功能描述

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

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

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

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

5. 对学生考试成绩进

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

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

五、解决方案

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

2. 画出系统流程图。

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

4. 程序的功能调试。

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

六、进度安排

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

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

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

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

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

页脚内容16

枣庄学院数学与统计学院

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;

}

页脚内容16

枣庄学院数学与统计学院

}

}

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");

页脚内容16

枣庄学院数学与统计学院

}

return 0;

}

注:(源程序中主要标识符含义说明)

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

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

{

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

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

float total; /*总成绩;*/

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

}

实验结果:

输入 :(只输入后面的数字,前面的文字是自己产生的)。请输入第1个学生的学号:001

输入第1个学生的数学成绩:1

输入第1个学生的英语成绩:1

输入第1个学生的计算机成绩:1

请输入第2个学生的学号:002

输入第2个学生的数学成绩:2

输入第2个学生的英语成绩:2 输入第2个学生的计算机成绩:2 请输入第3个学生的学号:003 输入第3个学生的数学成绩:3 输入第3个学生的英语成绩:3 输入第3个学生的计算机成绩:3 请输入第4个学生的学号:004 输入第4个学生的数

页脚内容16

枣庄学院数学与统计学院

学成绩:4 输入第4个学生的英语成绩:4 输入第4个学生的计算机成绩:4 请输入第5个学生的学号:005 输入第5个学生的数学成绩:5 输入第5个学生的英语成绩:5 输入第5个学生的计算机成绩:5 请输入第6个学生的学号:006 输入第6个学生的数学成绩:6 输入第6个学生的英语成绩:6 输入第6个学生的计算机成绩:6 请输入第7个学生的学号:007 输入第7个学生的数学成绩:7 输入第7个学生的英语成绩:7 输入第7个学生的计算机成绩:7 请输入第8个学生的学号:008 输入第8个学生的数学成绩:8 输入第8个学生的英语成绩:8 输入第8个学生的计算机成绩:8 请输入第9个学生的学号:009 输入第9个学生的数学成绩:9 输入第9个学生的英语成绩:9 输入第9个学生的计算机成绩:9 请输入第10个学生的学号:010 输入第10个学生的数学成绩:10 输入第10个学生的英语成绩:10 输入第10个学生的计算机成绩:10 输出:

序号: 0 学号:010 数学:10.000000 英语:10.000000 计算机:10.000000

平均成绩:10.000000 总分:30.000000

序号: 1 学号:009 数学:9.000000 英语:9.000000 计算机:9.000000

平均成绩:9.000000 总分:27.000000

序号: 2 学号:008 数学:8.000000 英语:8.000000 计算机:8.000000

平均成绩:8.000000 总分:24.000000

序号: 3 学号:007 数学:7.000000 英语:7.000000 计算机:7.000000 平均成绩:7.000000 总分:21.000000

序号: 4 学号:006 数学:6.000000 英语:6.000000 计算机:6.000000 平均成绩:6.000000 总分:18.000000

序号: 5 学号:005 数学:5.000000 英语:5.000000 计算机:5.000000 平均成绩:5.000000 总分:15.000000

页脚内容16

本文来源:https://www.bwwdw.com/article/btbl.html

Top