班级学生信息管理系统设计.doc
文本预览下载声明
班级学生信息管理设计系统
课程:C语言程序设计
班级:计算机软件技术****班
学号:**********
姓名:**
2014年6月
目 录
一、设计目的 1
二、总体设计 1
三、详细设计 1
四、调试与测试 1
五、源程序清单和执行结果 1
六、总结 1
设计目的
(1)基本掌握面向过程程序设计的基本思路和方法;
(2)达到熟练掌握C语言的基本知识和技能;
(3)能够利用所学的基本知识和技能,解决简单的程序设计问题
总体设计
本设计有1个C文件(11个函数)和一个头文件组成关系如表所示。
程序包含头文件的存、取过程,其功能就是按输入学号大小的顺序建立记录。程序自动建立一个文件来保存学生信息记录。
源文件 函数名 功能 demo.c menu 接受用户选择的菜单命令。 help 给用户一些提示和帮助。 readfile 新增或修改学生信息以后,刷新信息 seek 可以找到想要查询的某个学生信息记录。 modify 找到指定记录并修改。 insert 增加学生记录。 del 删除指定学号的学生信息记录。 display 显示当前学生记录的信息。 save 可以保存新增的或修改的学生信息记录。 sort 按照学号进行准确的排序。 main 结束程序运行。
分析系统:根据题目的需求分析,可将这个系统设计为九大函
(见下图):系统帮助及说明,刷新学生信息,查询,修改,插入,删除,显示,保存,退出。(组成框图)
流程图:
详细设计
数据结构设计:
结构数组:
struct student /*结构体*/
{
char xuehao[LEN+1]; /* 学号 */
char name[LEN+1]; /* 姓名 */
int age; /* 年龄 */
char sex[3]; /* 性别 */
char time[LEN+1]; /* 出生年月 */
char add[30]; /* 家庭地址 */
char tel[LEN+1]; /* 电话号码 */
char mail[30]; /* 电子邮件地址 */
char sushe[30];/* 宿舍 */
char koukou[20]; /* qq */
char banjizhiwu[30]; /* 班级职务 *
}stu[N];
功能模块设计:
本程序执行的入口是menu函数,然后用switch句实现对各个函数的调用。被调用的函数都是没有形参的,函数直接实现所需要的功能。最后再从main函数中结束整个程序的运行。
0、界面函数:
函数原型:void menu()
功能:接受用户选择的菜单命令.若果输入不符合要 求,则提醒用户重新输入。
参数:无。
返回值:无
工作方式:根据命令,调用相应函数。
1、帮助函数:
函数原型:void help()
功能:给用户一些提示和帮助。
参数:无。
返回值:无
2、刷新函数:
函数原型:void readfile()
功能:新增或修改学生信息以后,刷新信息。
参数:无。
返回值:无
3、查询函数:插入函数:其中通过学号的大小来比较的,并且以此来排序。、退出系统:
问题一、学生显示信息函数:
其中包括学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,宿舍,扣扣,班级职务等相关信息;可用函数display()来实现此操作。当正确输入存在的学生学号,系统进行判断时,提示不存在此学生。
解决办法及步骤:
1、一个个输出所有的学生的学号,检查文件中是否有此学生,发现有。
2、既然有此学生,那么检查循环判断是否有此学生的语句发现没有错
3、输出用于循环检查语句中的学生信息,发现乱码
4、仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其他类型的指针变量。
问题二、查询函数:
可用seek()来实现。找到就输出此学生全部信息学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,宿舍,扣扣,班级职务。当正确输入查找信息时,系统却不能够得到所要查找的学生信息。
解决办法及步骤:
1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息。
2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入查找信息。
源程序清单和执行结果
源代码:
#includestdio.h /*I/O函数*/
#includestdlib.h /*其它说明*/
#includestring.h /*字符串函数*/
#define BUFLEN 100 /* 缓冲区最
显示全部