西安郵電學院
高级语言课程设计报告书
系部名称 学生姓名 专业名称 班 级 学
号
电信系 张 杉 电子信息工程
电子0701 05071032
指导教师
衡 霞
2008年06月09日至
时间
2008年06月20日
实验题目 学生成绩管理系统
一、实验目的:
(1)本课程设计为学生提供了一个既动手又动脑,自学,查资料,独立实
践的机会。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。
(2)C语言的实践。掌握C语言函数的定义方法,函数的声明及函数的调用
过程。掌握结构体类型变量的定义和使用,综合应用C语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。
二、实验内容:
(1)运用结构体数组编辑一个简单的学生成绩管理系统,使之能够完成学
生成绩的创建、添加,查询、修改,删除、统计、排序等操作,并对文件进行保存和读取。
(2)执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直
到编译成功为止。
(3)执行运行操作,逐一对每个模块进行调试。直到全部程序运行成功为
止。
(4)请老师检查,向老师演练此程序,并能回答老师提出的相关问题。
三、 需求分析:
(1)根据学生成绩管理的需要,建立一个“学生信息管理系统”, 系统具
有输入、查询、修改、删除、统计、排序等基本功能;以方便对成绩的各项管理操作。每一条记录包括一个学生的学号、姓名、性别,年龄,生日,成绩。系统的各个功能模块都用函数的形式来实现;可以将学生成绩信息保存在文件中,并从文件中读取出来。有一个清晰美观界面来调用各个功能。
本程序是由C语言的基本单位—函数来设计实现与其功能的多次使用函数调用以及函数的嵌套调用。本程序分为7个模块,分别为创建学生资料;添加学生的资料; 查询学生的成绩;修改学生的资料;删除学生的资料;统计学生的成绩;对学生的资料进行排序。本程序可以处理多个学生的成绩的输入、添加、修改、排序等问题。本程序的使用特别方便,每做完一个模块,下面都有提示信息。使用环境为Win-Tc。 (2)创建该学生成绩管理系统目的就是能够对学生基本信息进行创建、追
加、查询、修改、删除、统计、排序等功能,这样可以简化许多人工做起来很复杂的问题。譬如:“排序”,有了此程序只需将信息输入,计算机就可自动执行,省时、省力。另外,它还可以重复使用,方便、快捷。 (3)该学生基本信息管理系统是在WIN-TC中文简体环境下运行。
该系统要测试的数据如下:
1.输入模块:(输入5个学生的信息)
Number name sex age birthday score 1 a m 20 1988-01-01 60 2 b m 20 1988-02-02 70 3 c f 20 1988-03-03 80 2.追加模块:(再加1个信息)
4 d f 20 1988-04-04 90 3.查询模块:(查询GULI的基本信息)
1 (按学号即可查询)或 a(按姓名也可查询) 4.修改模块:(修改b的成绩) (输入)1(修改number)(输入)2(修改name)(输入)3(修改sex)(输入)4(修改age) (输入)5(修改birthday)(输入)6(修改score) 5.删除模块:(删除c的基本信息):06(输入学号即可删除) 6.统计模块:可统计各分数的人数。 7.排序模块:按成绩进行排序。
四、概要设计
(1) 主函数结构图: 主 函 数 录入模块 输出模块 更新模块 添加模块 删除模块 查询模块 统计模块 排行模块 (2)数据类型: 结构体类型
struct date /*结构体类型*/
{int year; /*结构体变量,用来定义生日中的年*/ ??};
struct student_type /*结构体类型*/
{int num; /*结构体变量,用来定义学号*/ char name[10]; /*结构体数组,用来定义姓名*/
??
struct date birth; /*结构体中的结构体*/ };
修改模块 (3)模块功能详细说明:
1.录入模块:此模块可以连续输入20个学生的资料,若学生数少于20,则可以在输入学号处输入0 便可退出此模块,并把输入的信息保存到e:\\\\score.txt文件中。
2.输出模块:此模块分两页输出二十名同学的信息。 3.添加模块:输入要添加的学生信息。
4.删除模块:输入要删除的同学学号,然后删除。
5.查询模块:此模块中使用者可以用三种方式查询学生成绩。 分别为(1)按学号查询(2)按姓名查询。 6.修改模块:此模块中可以修改一门科的成绩也可以同时修改四门科的成绩。修改完毕后输入y 可以继续修改,输入n 则退出此模块。
7.删除模块:此模块中用到的删除原理为覆盖要删除的学生的资料。过程简述,先输入要删除的学生的学号,系统找到此学生的信息后给它复制下一个学生的信息,给下一个学生的纪录复制下下一个学生的信息,一直到最后一个学生的信息复制给倒数第二个学生的信息为止。然后文件中的学生总数减一。
8.统计模块:统计一个分数的人数。
9.排序模块:此模块用的方法为冒泡法。 五、详细设计及运行结果
(1)各个模块的程序流程图加模块:
相关推荐: