学籍管理系统实验报告
C语言实训报告、、
JI ANGXI AGRICULTURAL UNIVERSITY
《C程序设计》实训实验报告
题目: 学籍管理系统
学 院: 软件学院 姓 名: 张新香 学 号: 20111913 专 业: 软件工程+英语 年 级: 大一年级 指导教师: 邓泓
C语言实训报告、、
一、系统简介
设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入、修改、删除、查询和输出等基本操作。
二、需求分析
学籍管理系统应实现以下功能:
1、能录入学生的基本信息,包括学号、姓名、专业、年级、性别和出生日期信息,保存到结构体数组中。
2、能根据输入的学号查找学生,进行信息的修改。 3、能根据输入的学号从结构体数组中删除学生的记录。
4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。 5、能在屏幕上以列表的方式输出所有学生的信息。
三、概要设计
1、系统功能结构图
根据项目的开发要求,本系统划分成六个主功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询信息模块、输出模块和系统退出模块。系统功能结构图如下:
C语言实训报告、、
2、函数设计
学籍管理系统程序采用了结构化程序设计的思想,由1个.h头文件和3个.c源文件组成。程序中除了主函数外,共设计了以下14个函数,分别包含在3个.c源文件中。以下是这些函数的函数原型及功能设计。
(1) void SysInfo(void);
函数功能:在屏幕上输出系统及版权信息并等待用户响应。 (2) void MenuOfMain(struct StuMessage stu[]);
函数功能: 在屏幕上显示主菜单,接收用户选择并响应用户相应操作。 (3) void Append(struct StuMessage stu[]);
函数功能: 录入一条学生记录到记录数组的末尾。 (4) void Modify(struct StuMessage stu[]);
函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录并通过重新输入的方法修改该学生的记录,否则输出没有找到相关记录。
(5) void Delet(struct StuMessage stu[]);
函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录,用户确认删除后调用 DelList() 函数将其删除,否则输出没有找到相关记录。
(6) void MenuOfSear(struct StuMessage stu[]);
函数功能: 在屏幕上显示查询子主菜单,接收用户选择并响应用户操作。 (7) void ListAll(struct StuMessage stu[]);
函数功能: 在屏幕上以列表方式输出所有学生的信息。调用 PrintHead() 输出表头,再调用 ListOne() 函数逐一输出各条记录。
(8) void Quit(void);
函数功能: 退出菜单系统,并调用exit(0) 系统函数结束程序运行。 (9) void SearNum(struct StuMessage stu[]);
函数功能: 通过输入学号调用 NumOfSear() 函数查询学生的相应记录信息,如果存在调用 PrintHead() 函数和 ListOne() 函数在屏幕上输出相应学生记录,否则输出没有找到相关记录。
(10) void SearGrade(struct StuMessage stu[]);
C语言实训报告、、
函数功能: 通过输入年级查询学生的相应记录信息,如果存在在屏幕以列表方式输出相应学生记录,并输出统计满足条件的学生个数,否则输出没有找到相关记录。
(11) int NumOfSear(struct StuMessage stu[], char stuNum[]);
函数功能: 根据接收到的学生学号,在相应记录数组中进行查询,如果存在相应记录,返加相应的数组下标,否则返回-1。
(12) void PrintHead(void);
函数功能: 在屏幕上显示输出列表的表头。 (13) void ListOne(struct StuMessage list);
函数功能: 在屏幕上以行的方式显示输出一个学生的相关信息。 (14) int DelList(struct StuMessage stu[], int i);
函数功能: 如果数组中存在下标为 i 的记录,删除该记录并返回 1,否则返回 0。
3、重要数据的数据结构设计
学生学籍的记录项用结构体StuMessage 表示,包括6个属性,stuNo、name、spec、grade、sex、birthday 分别代表学生的学号、姓名、专业、年级、性别和出生日期,其中 birthday 类型为自定义的结构体类型 Date。
struct StuMessage {
char stuNo[11]; //学号 char name[9]; //姓名 char spec[21]; //专业 int grade; //年级 char sex; //性别 struct Date birthday; //出生日期 };
日期类型 Date 包括三个属性,分别代表年、月、日。 struct Date {
C语言实训报告、、
int year; //年 int month; //月 int day; //日 };
四、详细设计
1、系统主函数 main()设计
C语言实训报告、、
2.主菜单模块函数MenuOfMain()设计
C语言实训报告、、
3.删除学生信息功能模块函数Delete()设计
C语言实训报告、、
4. 录入学生信息功能模块函数Append()设计
C语言实训报告、、
6.输出学生信息功能模块函数ListAll()设计
C语言实训报告、、
7.查询菜单模块函数MenuOfSear()设计
C语言实训报告、、
8.按学号查询功能模块函数 SearNum()设计开始
清屏
接收查询学号
i=0
i<length 且不等 于学号 Y i++
N
Y
i<length
N
输出表头
没有找到相关记录
输出第 i 条记录
按任意键继续
Getch()
返回
C语言实训报告、、
9.按年级查询功能模块函数 SearGrade()设计开始 清屏 接收查询年级
输出表头 i=0,count=0
i<length Y 等于年级 Y 输出第 i 条记录
N
N
Count++
i++
Y Count>0
N
共找到 n 条记录
没有找到相关记录
按任意键继续
Getch()
返回
C语言实训报告、、
10.输出学生信息功能模块函数ListAll()设计
C语言实训报告、、
五、调试分析
本系统在VC6下编译调试通过,可顺利运行,各项功能达到设计要求。 本系统程序由一个.h头文件和三个.c源文件构成。系统调试主要在VC6下进行,采用分模块调试的方法进行编译,即完成一个函数功能模块就编译一个功能模块,最后再进行整体编译并生成可执行文件 Student.exe。
在调试的过程中,主要碰到了以下问题:
1、清屏函数在 TC 中使用的 clrsrc() 函数,但在VC6中没有该函数也没有相应的函数。查资料,发现在VC中可使用 system() 函数调用系统命令 cls 实现。
2、在使用C语言系统函数进行数据输入的时候,发现使用getchar()和gets()函数输入字符和字符串的时候,系统经常跳过相应的输入语句,无法输入数据。查资料,是C系统的输入处理的输入缓存问题,解决方法是在进行字符和字符串输入的时候,先使用fflush(stdin) 函数清除输入缓存,即可正常输入字符和字符串。 六、用户手册
本系统是WIN32控制台 …… 此处隐藏:1892字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




