![c++作业个人项目3.1-学生数据管理软件].doc_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-3/4/95390c1e-7b9a-4ebf-b492-34f841f7e92d/95390c1e-7b9a-4ebf-b492-34f841f7e92d1.gif)
![c++作业个人项目3.1-学生数据管理软件].doc_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-3/4/95390c1e-7b9a-4ebf-b492-34f841f7e92d/95390c1e-7b9a-4ebf-b492-34f841f7e92d2.gif)
![c++作业个人项目3.1-学生数据管理软件].doc_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-3/4/95390c1e-7b9a-4ebf-b492-34f841f7e92d/95390c1e-7b9a-4ebf-b492-34f841f7e92d3.gif)
![c++作业个人项目3.1-学生数据管理软件].doc_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-3/4/95390c1e-7b9a-4ebf-b492-34f841f7e92d/95390c1e-7b9a-4ebf-b492-34f841f7e92d4.gif)
![c++作业个人项目3.1-学生数据管理软件].doc_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-3/4/95390c1e-7b9a-4ebf-b492-34f841f7e92d/95390c1e-7b9a-4ebf-b492-34f841f7e92d5.gif)
免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
详细设计文档学生数据管理软件详细设计文档填写时间二零一六年四月东南大学自动化学院 C+程序设计详细设计文档目录1引言31.1编写目的31.2背景31.3定义31.4参考资料32程序系统的结构33程序设计说明33.1概述43.2功能43.3输入项43.4输出项43.5算法43.6流程逻辑43.7限制条件53.8实施方案53.9尚未解决的问题53.10运行环境及配置说明54程序2设计说明51 引言1.1 编写目的完成作业,练习C+,充分掌握类的用法1.2 背景说明:待开发软件系统的名称:学生信息管理软件本项目的任务提出者:老师开发者:用户:信息管理员运行该程序系统的逻辑和物理节点:运用链表对信息进行组织操作1.3 定义1.4 参考资料C+程序设计(第二版)2 程序系统的结构用一系列图表列出本程序系统内的每个序(包括每个模块和子程序)的名称和它们之间的层次结构关系。 学生信息简易管理软件输入学生信息3.5.1查询学生信息3.5.2删除学生信息3.5.3排序学生信息3.5.4保存学生信息键盘输入3.5.11文件导入3.5.12以任一学生信息作为关键字查询学生信息以任一学生信息作为关键字删除学生信息以学号作为关键字排序将链表数据重新写入文件更新3 程序设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1 概述根据用户需求选择功能3.2 功能具有增、减、查找,排序选作)等基本功能的学生管理软件,退出时数据存入文件、进入时从文件中读入数据3.3 输入项输入操作选项,添加学生信息时,输入学生类中的相关数据。STUDENT类,Node类,list类STUDENT类:私有成员:学号number,院系school,班级calss,姓名name,性别sex公有函数:char* GetSchool(void);;/获取学校函数long GetNumber(void);/获取学号int GetMyclass(void);/获取班级char* GetName(void);/获取姓名 char*GetSex(void);/获取性别void show() cout Number t School t Myclass t Name t Sex endl; /输出学生信息 friend ostream&operator(ostream &dist,STUDENT &iv);/重载(istream &sour,STUDENT &iv);/重载函数Node类:私有成员:STUDENT info; /STUDENT类作为成员对象数据域Node*link; /指针域公有函数:Node(); /不带参数的构造函数,生成头结点的构造函数Node(const STUDENT &data); /以STUDENT类为参数的构造函数,生成一般结点的构造函数void InsertAfter(Node*P); /在当前结点后插入一个结点Node*RemoveAfter(); /删除当前结点的后继结点,返回该结点STUDENT&Getinfo() return info; /获取私有成员infoNode*Getlink() return link; /获取私有成员linkvoid PrintNode(STUDENT&s);friend class List; /以LIst作为友元类list类私有成员:Node*head, *tail; /链表头指针和尾指针公有函数:List(); /构造函数,生成头结点(空链表)List(); /析构函数void MakeEmpty(); /清空一个链表,只剩表头结点void FindStudent(void);void Add(void);void Delete(void);void Rank(void);void Save(void);void PrintList(); /打印链表的数据域void InsertFront(Node*p); /向前生成链表,在表头插入一个结点void InsertRear(Node*p); /向后生成链表,在表尾添加一个结点void InsertOrder(Node*p); /按升序生成链表Node*CreatNode(STUDENT& data); /创建一个结点(孤立结点)Node*DeleteNode(Node*p); /删除指定结点3.4 输出项主要按格式输出满足条件的学生信息到控制台和文件3.5算法3.5.1输入学生信息3.5.1.1添加学生信息函数STUDENT s输出“输入新增学生信息”cinsNode*tempP = head-link, *tempQ = head; tempP != NULL p-info.GetNumber()info.GetNumber()否 是 breaktempQ = tempP;tempP = tempP-link;tempQ-InsertAfter(p); tail = tempQ是 否tail = tempQ-link;3.5.1.2读文件fstream iofileiofile.open(E:StudentInfo.txt,ios:in|ios:out) !iofile否 是cout 已经打开 endlcout 不能打开文件!StudentInfo.txt link;cout n; chose = 1 | chose= 3否 是chose = 2 | chose = 4 | chose= 5 是cout 请输入信息n;cout num;cin str;temp != NULLp = temp-link;temp != NULL如果与院系,姓名,性别任一信息相符p = temp-link;temp-info.GetNumber()=num|temp-info.GetMyclass()=num否是tempP-info.show();tempP-info.show()temp = p;tempP = tempP-link3.5.3删除函数int n;long num;char str20;Node*tempP = head-link;cout n; chose = 1 | chose= 3否 是chose = 2 | chose = 4 | chose= 5 是cout 请输入信息n;cout num;cin str;temp != NULLp = temp-link;temp != NULL如果与院系,姓名,性别任一信息相符p = temp-link;temp-info.GetNumber()=num|temp-info.GetMyclass()=num否是temp = DeleteNode(temp);delete temp;temp = DeleteNode(temp)temp = p;cout link,*ptemp1 != NULLtemp1 != NULLp = temp1-link;InsertOrder(temp1);temp1 =p;tail-link = NULL;cout 排序成功!nPrintList();3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程电梯安装施工方案
- 2025秋季学期国开电大法律事务专科《刑法学(2)》期末纸质考试名词解释题库珍藏版
- 各类建筑施工安全防护方案
- 研学基地团队协作与合作能力培养方案
- 幕墙施工现场安全与环境管理方案
- 水电站防汛应急知识培训课件
- 正常人体解剖学躯干骨的骨性标志88课件
- 脂溶性维生素维生素D86课件
- 二零二五年度建筑废弃物资源化承包合同范本
- 2025版能源行业设备采购代理合同
- GB/T 43137-2023土方机械液压破碎锤术语和商业规格
- 京东集团员工手册-京东
- 2023年苏州市星海实验中学小升初分班考试数学模拟试卷及答案解析
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- GB/T 27746-2011低压电器用金属氧化物压敏电阻器(MOV)技术规范
- GB/T 22237-2008表面活性剂表面张力的测定
- GB/T 13667.3-2003手动密集书架技术条件
- 导轨及线槽项目投资方案报告模板
- 复旦大学<比较财政学>课程教学大纲
- 书法的章法布局(完整版)
评论
0/150
提交评论