- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
衢州学院
程序设计实训报告
课 程 名 称 程序设计实训
课 题 名 称 学生学籍管理系统
班 级 11信管
姓 名 xxx
指 导 教 师 xxx
完 成 时 间 2012·6·29
目 录
1 实训目的 - 1 -
2系统简介 - 1 -
3 系统的需求分析 - 1 -
4 系统的概要设计 - 2 -
4.1 系统功能结构图 - 2 -
4.2 数据结构设计 - 2 -
4.3 函数设计 - 3 -
5 详细设计 - 5 -
6 实现代码 - 10 -
7程序测试 - 16 -
8 个人总结 - 19 -
1 实训目的
(1) 进一步掌握和利用C语言进行程设计的能力
(2) 进一步理解和运用结构化程设计的思想和方法
(3) 初步掌握开发一个小型实用系统的基本方法
(4) 学会调试一个较长程序的基本方法
(5)学会利用流程图
(6)掌握书写开发文档的能力
4.2 数据结构设计
学生学籍的记录项用结构体StuMessage 表示,包括6个属性,stuNo、name、spec、grade、sex、birthday 分别代表学生的学号、姓名、专业、年级、性别和出生日期,其中 birthday 类型为自定义的结构体类型 Date。
struct StuMessage
{
char stuNo[11]; //学号
char name[9]; //姓名
char spec[21]; //专业
struct Grade score; //年级
char sex; //性别
struct Date birthday; //出生日期
};
日期类型 Date 包括三个属性,分别代表年、月、日。
struct Date
{
int year; //年
int month; //月
int day; //日
};
struct Grade
{
int CompFoundation;
int math;
int English;
int sport;
int language;
};
4.3 函数设计
学籍管理系统程序采用了结构化程序设计的思想,程序中除了主函数外,共设计了以下14个函数,以下是这些函数的函数原型及功能设计。
(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(s
文档评论(0)