- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验目的:
基于C++语言的基础上,设计一个简单的小型的学生信息管理系统,用于提高我们平时对学生信息管理工作的效率。通过这样的系统,我们可以做到对学生信息的任意添加、删除、编辑、查询、保存和打印,以达到对学生信息的规范化管理、科学操作和快速的查询,从而减少管理反面的工作量的目的。
系统概要设计:
系统功能设计:
实现任意添加学生的信息,包括添加学生的个人信息、学科成绩、家庭住址和联系方式。
实现删除学生的信息,包括删除学生的个人信息、学科成绩、家庭住址和联系方式。
实现编辑学生的信息,包括编辑学生的个人信息、学科成绩、家庭住址和联系方式。
实现查询学生的信息,包括编辑查询学生的个人信息、学科成绩、家庭住址和联系方式。
实现保存学生的信息,包括保存学生的个人信息、学科成绩、家庭住址和联系方式。
实现打印学生的信息,包括打印学生的个人信息、学科成绩、家庭住址和联系方式,我们此处用显示学生的所有信息来表示把该学生的所有信息给打印了出来。
实现简单地使用用户名和密码来进入登陆界面,以加强DOS运行窗口的可视化效果。
系统功能模块设计
c)有关学生信息结构体设计
结构体分析
学生信息:学生个人信息、学生学科成绩、学生家庭住址、学生联系方式
个人信息:姓名、性别、民族、出生日期、国籍、学历
学科成绩:语文、英语、数学、物理
家庭住址:城市地址、县城地址、乡镇地址
联系方式:手机号码、家庭号码、学校号码
b、结构体模块设计:
程序设计思想:
我们创建一个动态链表,先用malloc()函数建立第一个struct nodetype对象a,即第一个结点,用头指针*head指向它,将它指向下一个结点的地址赋给中间指针*t ,让中间结点*t也指向该对象,再建立另一个新对象b,让尾指针*s指向它,然后将尾指针*s的地址赋给中间指针*t,与此同时,利用数组循环下去,直到中间指针*t的地址为NULL,即指向最后一个结点。
课程设计总结:
在短短的两周内,在张艳明、檀明老师及其他老师的指导下,最终完成了该项课程设计任务,从中我们学到许多“新”的知识,有课本上的(但之前未意识到其重要性的),也有课外的(如诸多系统函数的实现及其功能),与此同时也巩固了我们以往所学,如链表类的创建,像链表和指针的使用,而我个人认为最为重要的是更加深刻了领悟到C++这门课程的核心思想,即面向对象设计思想,还锻炼了我在程序设计风格的改造,这为我以后学习其他课程和程序语言奠定了一个好的基础,也为将来成为一名真正的程序员做好了准备。
程序的实现:
1.创建类List 和 类Operater及其将要实现的公有成员函数 和 所使用的私有数据成员
class List //创建类List
{
nodetype* head;
public:
List();
~List();
linknode* creatlist(int); //创建链表
int listlen(); //返回链表长度
nodetype* findnum(int); //通过查找序号返回结点的指针
nodetype* findname(char c[]); //通过查找姓名返回结点的指针
int find(char c[]); //通过查找姓名返回结点的序号
nodetype* insnode(int); //插入结点
void delnode(int); //删除结点
nodetype* load(); //初始化:从外部读入数据
void readstr(FILE *f,char *string); //读行函数
bool check(char *a, char *b); //对比两个字符串是否相等
void help(); //显示帮助菜单
void editperson(nodetype*); //编辑个人说明
void editscore(nodetype*); //编辑学科成绩
void edittelephone(nodetype*); //编辑联系方式
void dispname(); //显示所有学生姓名
void dispnode(nodetype* p); //显示一个学生的所有信息
void dispperson(nodetype*); //显示一个学生的个人说明
void dispscore(nodetype*); //显示一个学生的学科成绩
void disptelephone(nodetype*); //显示一个学生的联系方式
};
文档评论(0)