***大学。
高级语言程序设计(c)
实验报告。设计题目: 学生成绩管理系统
专业。班级。
姓名。学号。
辅导老师。2013~2014 学年第一学期。
目录。1 需求分析
1.1系统有如下功能3
1.2信息定义3
2 系统设计
2.1本程序中所有用到的数据及其数据结构的定义3
2.2函数之间的调用关系图4
3调试分析过程描述。
3.1调试过程中遇到的问题2
3.2 程序的运行结果3
4 总结(心得体会6
5附录(源**6
6参考文献23
1 需求分析。
1.1系统有如下功能:
能输入并显示 n 个学生的 m 门考试科目的成绩、总分和平均分。
按管理者不同需求进行排序(包括:按总分、平均分、各科成绩等信息来排序)。
能够删除和修改学生的成绩和信息。
任意输入一个学号,能显示该学生的姓名、各门功课的成绩。
将输入的学生成绩数据保存到文件中。
从文件中读出学生成绩数据。
能从两个学生中插入另一个学生的信息。
关键词:显示数据;排序;查询;写入文件;读出数据;删除修改功能;插入保存功能。
1.2信息定义:
1)学号以%d形式输入,姓名以%s形式输入,成绩以%d形式输入。
2)输出时以学号(%s),姓名(%s),成绩(%d),总分(%f),平均分(%f)形式。
3)用结构体数组来管理和储存学生的基本信息和成绩情况。
4)使用宏定义以及较多的子函数,使系统更加人性化,操作起来更方便。
2 系统设计。
2.1本程序中所有用到的数据及其数据结构的定义:
#include<>
#include<>
#include<>头文件。
#include<>
#include<>
#define header1messagebookn"
#define header2 "|学号 | 姓名班级 |高等数学|大学英语|c语言| 总分 |平均分||"
#define header3n宏定义一个菜单栏,#define format "|12s|%-7s|%-17s|%-8d|%-8d|%-5d|%-6.1f|%-6.2f||后面printf输出时更加便捷。
#define data p->num,p->name,p->gc,p->math,p->english,p->language,p->sum,p->**er
#define endn"
#define n 3000限制录入的学生人数在3000之内。
int s**eflag=0定义一个全局变量,其初值为1
typedef struct messagebook定义一个结构体messagebook
char num[11
char name[10
char gc[40];
int math;
int english;
int language;
float sum;
float **er;
mb;2.2函数之间的调用关系图:
3调试分析过程描述。
3.1调试过程中遇到的问题:
1)在编写菜单函数时,使用了void函数,没有返回值,导致主函数switch语句使用不了。
2)对于<>头文件使用少,部分函数不会用。
3)读取文件的数据出现困难,txt的书写规格不对。
4)对于计算学生数目,出现逻辑上的错误。
5)有时候修改了一个函数错误,没有将其相关联的错误修改,导致程序仍然出错。
3.2 程序的运行结果:
4 总结(心得体会)
这几个星期一直在为了这个作业而忙活,有时还做到晚上12点半才休息。但这次的作业让我受益匪浅,以前很多不懂的或者是理解错的知识点,现在都有了较好的理解。
为了使程序能够正确地读进文档中的信息数据,我尝试了很多种方法。我在这一步卡了很久,我基本上已经把其他的流程完成了,但就因为一直读不进数据导致程序始终无法运行。我为此查阅了许多书籍,问过同学师兄,但始终不得破。
为此,我的小作业也一直没有完成。直到上星期我在同学的电脑上运行了我的小作业中的一个(为了读取数据,我写了很多个小作业,不同的读取数据的版本),居然运行得了,而且结果是正确的。我瞬间呆了,我不知道为什么突然又可以了,但不管怎样我就记住这种读取方法好了……嘻嘻嘻……
为了这份作业,我纠结了几个星期,但是我也收获了许多。通过它,我进一步了解到了<>头文件中的函数的作用与用法。而且对于结构体的运用我也有了进一步的理解。
5 附录(源**)
#include<>
#include<>
#include<>头文件。
#include<>
#include<>
#define header1messagebookn"
#define header2 "|学号 | 姓名班级 |高等数学|大学英语|c语言| 总分 |平均分||"
#define header3n宏定义一个菜单栏,#define format "|12s|%-7s|%-17s|%-8d|%-8d|%-5d|%-6.1f|%-6.2f||后面printf输出时更加便捷。
#define data p->num,p->name,p->gc,p->math,p->english,p->language,p->sum,p->**er
#define endn"
#define n 3000限制录入的学生人数在3000之内。
int s**eflag=0定义一个全局变量,其初值为1
typedef struct messagebook定义一个结构体messagebook
char num[11
char name[10
char gc[40];
int math;
int english;
int language;
float sum;
float **er;
mb;void menu定义一个菜单子函数。
system("cls");
printfn");
printf广东工业大学学生成绩信息管理系统 |");
printfn");
printf主菜单n");
printf1 输入记录2 显示记录 |
printf3 删除记录4 查询记录 |
printf5 修改记录6 插入记录 |
printf7 排序记录8 保存记录 |
printf0 退出系统n
printfn");
void printheader定义一个输出标题栏的子函数。
printf(header1输出宏定义header的内容。
printf(header2);
printf(header3);
void printdata(mb pp定义一个输出学生信息数据的子函数。
mb *p;
p=&pp;
printf(format,data);
void wrong()
printf("***error:输入有错!请敲任意键继续n");
课程设计 成绩管理系统
成绩管理系统 课程设计指导书。课题名称 学生成绩管理系统。设计目标 按照软件工程的规范,以sqlserver或oracle为后台数据库,以visualc delphi等为前端开发工具,设计并实现一个能模拟高等学校学生成绩管理的系统。需求描述 学生成绩管理系统中 1 系统用户。系统的用户是学校的学生 ...
成绩管理系统课程设计
1 需求分析。1系统需求 学生成绩管理系统需要满足 使用者通过计算机来管理年级学生的成绩信息,对学生成绩信息能进行及时的操作如修改 删除 增加 查询等。2功能需求。基于系统需求分析,该系统需要实现以下基本功能 1 数据显示 学生成绩信息包括班级成绩和年级成绩,如平均分,及格人数,优秀人数等。2 数据...
课程设计 学生成绩管理系统
应用程序综合设计报告。题目 学生成绩管理系统 学生成绩管理系统是学生管理系统的重要组成部分,对学生的德 智 体全面评估有很大的作用,所以学生成绩管理系统应该能够为用户提供方便的查询平台和数据存储功能。传统是使用人工的方式对学生的信息进行存储,对于个人的学生成绩来说,数据的整理和分析就显得很麻烦,不利...