1、 1 信息学院 课程设计报告 课程名称_C 语言程序设计_ 题目名称 学生成绩管理系统 学生学院_ _ 专业班级 学 号 学生姓名 指导教师_ _ 2012 年 12 月 23 日 2 1 设计目的与要求 3 1.1 题目及设计要求 . 3 1.2 本程序设计的知识点 . 3 2、功能设计. 3 2.1、 总体设计 . 3 2.3 详细设计 . 5 3、程序实现. 7 3.1 程序实现时应考虑的问题 . 7 3.2 成绩排序、信息删除、信息保存、文件打开模块核心代 码 . 8 3.3 程序源代码 . 11 4、测试分析 19 4.1 测试结果及分析 19 5、总结 22 6、参考文献: 22
2、3 1 设计目的与要求 1.1 题目及设计要求 题目:将学生基本信息、学生成绩基本信息要存入文件当中,并且具有文件 的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操 作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选 择。 设计要求:程序具有信息录入、查看、查找、成绩排序、删除信息、保存信 息、打开文件、退出系统等功能。 我负责的是成绩排序、信息的删除、信息的保存、文件的打开这四个模块。 1.2 本程序设计的知识点 1 程序涉及数组,字符串的定义; 2 函数调用; 3 结构体,指针; 4 文件录入 2、功能设计 2.1、 总体设计 (1)在此程序中,包
3、括几个头文件: #include : 将stdio.h内容放在这儿, 此文件有printf、 scanf 等函数的定义; #include:定义字符串变量; #include: 定义了五种类型变量、 常用函数例如 look()、 save(); (2)系统中所包含的函数: void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void order(); /*声明排序函数*/ void del(); /*声明删除函数
4、*/ 4 int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/ void see(); /*声明打开并查看文件函数*/ Main();/*主函数*/ (3)系统中定义的结构体 struct student /*定义学生信息的结构体类型*/ char num15; /*学号*/ char name20; /*姓名*/ char sex4; /*性别*/ char dno20;/*宿舍号*/ int english; /*英语成绩*/ int math; /*数学成绩*/ int chinese
5、; /*语文成绩*/ float aver; /*平均成绩*/ float sum; /*总成绩*/ (4)系统中定义的全局变量 int n 5 (5)系统功能模块 2.3 详细设计 (1)成绩排序模块 9 8 7 5 6 输出界面 选择操作 成绩排序 信息删除 信息保存 文件打开 结束 开始 退出系统 Y N 是否保存 提示退出 保存 排序 6 排序功能:对数据进行排序,通过 order 函数对数据按平均分进行排序,排 序结束后调用 save 函数保存。 (2) 信息删除模块 删除功能: 删除信息, 通过 del函数实现, 删除后调用 save 函数对数据保存。 否 是 Y N 输入学生姓名
6、 比较名字 是否删除 提示退出 删除并提示 保存信息 7 (3)信息保存模块 保存功能:对数据进行保存,用 save 函数向文件中写入数据实现该功能。 (4)文件打开模块 3、程序实现 3.1 程序实现时应考虑的问题 程序代码问题输入时大小写问题、界面是否整洁大方。在程序实现时,定义是否 合理,函数调用语句是否达到要求,控制语句是否合理。调试程序,运行程序, 程序是否达到设计需求等。 打开文件 保存信息 打开文件 输出信息 8 3.2 成绩排序、信息删除、信息保存、文件打开模块核心代码 void order() /*定义排序函数*/ system(“CLS“); int i,j; char a; struct student temp; /*声明结构体变量*/ printf(“学号t 姓名t 性别t 宿舍t 英语t 数学t 语文t 平均成绩t 总成绩n“); for(i=0;in;i+) /*对数据进行排序*/ for(j=i+