ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:287.88KB ,
资源ID:11480948      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11480948.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统txt.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统txt.docx

1、学生信息管理系统txt学生信息管理系统完成时间 2013年5月27日1、编程目的(1)对C+语法、基础知识进行综合运用,编写具有一定综合应用价值的稍大一些的程序, 掌握面向对象程序设计(OOP)的思想,培养学生使用面向对象的程序设计思想分析和解决实际问题的能力;(2)掌握在Visual C+集成开发环境下编辑、编译、链接和运行一个C+程序的基本方法; (3)加深对所学知识的理解和掌握;(4)培养文档报告书面表达和思辨的能力。2、系统简介利用面向对象的方法以及C+的编程思想来完成学生信息管理系统的设计。学生信息包括:学号、姓名、性别、班级、联系电话等等信息(也可自主设计其他的学生相关信息)。要求

2、实现学生信息的增加、修改、查询、删除、浏览等基本功能。学生信息保存在文件中,要求文件中至少要记录10位学生信息的相关数据。3、编程思路本程序建立了带表头节点的链表类、菜单类、主函数。菜单类包括增加学生信息、删除信息、查找、浏览等功能。 链表类包括建立链表和删除链表4、总体设计下表是根据程序画的基本结构图:5、关键技术说明运用了面向对象设计中的类和链表,类是逻辑上相关的函数及数据的封装,它是对所要处理的问题的抽象描述。类实际上也就相当于用户自定义的类型,和基本数据类型的不同之处在于,类这个特殊类型中同时包含了对数据进行操作的函数。链表类的基本操作应该包括:生成新节点、插入节点、删除节点、访问/修

3、改节点数据、遍历链表等。因此,在链表类中应该包含完成上述操作的成员函数,以及为了实现这些函数而添加的一些辅助函数,为了方便链表类对象间的赋值,还应重载“=”运算符。另外,由于面向对象的封装特性,当然还要提供一些接口函数。6、源代码#include #include class StuList;class Student friend StuList; private: char name9; char sex6; char add20; int number; Student *next; public: Student(char *val=NULL,char *sal=NULL,char *

4、adl=NULL,int No=0) number=No;next=NULL; if(val!=NULL) strcpy(name,val); if(sal!=NULL) strcpy(sex,sal); if(adl!=NULL) strcpy(add,adl); ;class StuList /带表头节点的链表类 private: Student *head,*current; int count; public: StuList() current=head=new Student; count=2003060; cout链表已建立endl; StuList() makeEmpty();

5、 delete head; cout链表已删除next!=NULL) p=head-next; head-next=p-next; delete p; current=head; count=0;void StuList:add(char *value,char *salue,char *adl)/将新元素value插入到最后 Student *newStu; newStu=new Student(value,salue,adl); while(current-next!=NULL) current=current-next; newStu-next=current-next; current

6、=current-next=newStu; newStu-number=count+1; count+; coutvalue已经加入表next!=NULL) if(node-number=No-1)break; node=node-next; newStu-next=node-next; newStu-number=No; node=node-next=newStu; Student *p=node-next; while(p!=NULL) p-number+; p=p-next; count+; coutvalue已经插入next; while(q!=NULL) if(q-number=No

7、)break; q=q-next; if(q=NULL) cout没找到!next=q)break; p=p-next; p-next=q-next; delete q; count-; p=p-next; while(p!=NULL) p-number-; p=p-next; cout学号No已移除next=NULL)/链表为空 cout链表为空!endl; return; cout学号 姓名 性别 地址next; while(p-next!=NULL) coutnumber name sex addnext; coutnumber name sex addnext; while(curre

8、nt!=NULL) if(strcmp(current-name,value)=0)break; current=current-next; if(current=NULL)cout没找到!endl; else cout找到学号为number value在链表里endl;class Menu/菜单类 char *c1,*c2; public: Menu() c1= *; c2=*n; void show() coutendl; coutc1-*-*-*-*-*-*-*-*-*-*-*-*菜单*-*-*-*-*-*-*-*-*-*-*-*-*c2; coutc1 c2; coutc1 1.建立链

9、表 2.加入学生资料 c2; coutc1 3.插入一个学生 4.移除一个学生 c2; coutc1 5.显示该表 6.按姓名查找 c2; coutc1 7.学生总数 8.清空链表 c2; coutc1 9.显示菜单 0.退出程序 c2; coutc1 c2; coutc1-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-c2; coutendl; ;void main() char cmd; StuList *list=NULL; Menu menu; menu.show(); do coutendlcmd; if(list=NULL)

10、/检查输入的命令是否合适 while(cmd!=1 & cmd!=9 & cmd!=0) coutcmd; switch(cmd)/匹配命令 case (1):/建表 list=new StuList; break; case (2):/加入学生到链表后 char insname29,inssex26,insadd220; cout请输入姓名,性别(male or female),地址。insname2; cininssex2; cininsadd2; list-add(insname2,inssex2,insadd2); break; case (3):/按学号插入一个学生 char ins

11、name39,inssex36,insadd320; int insnum; coutinsnum; coutinsname3; coutinssex3; coutinsadd3; list-insert(insnum,insname3,inssex3,insadd3); break; case (4):/删除一个学生 int rem; coutrem; list-remove(rem); break; case (5):/显示所有学生 list-print(); break; case (6):/按姓名查找一个学生 char sear9; coutsear; list-searchStu(s

12、ear); list-print(); break; case (7):/学生总数 cout共有 length() 个学生makeEmpty(); cout链表为空endl; break; case (9):/显示菜单 menu.show(); break; case (0):/退出 if(list=NULL) break; char temp; couttemp; if(temp=y) list-StuList();list=NULL; else cmd=10; break; default: cout请输入菜单中的命令!endl; while(cmd!=0);7、测试(程序有相似只列出部分

13、程序)。()(1)开始界面:(2)加入学生资料:本程序可以添加很多的学生资料(加一个为例)(3)插入一个学生:(4)移除一个学生信息:(5)显示学生人数:由于移除一个学生,下面的学生学号自动升一位。(6)按姓名查找:8、系统评价及展望优点:(1)界面友好(良好的人机交互),提供菜单选项,并给出足够的选择信息以及提示信息。(2)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。(3)源程序要加适当的注释,使程序容易阅读;(4)可无限添加学生资料缺点:(1)学生学号是系统默认的,如果要更改学号要重新编写程序。(2)本程序要进行操作,首先要建立链表,否则不能进行。(3)界面中的9操作及彩单重复展望:在此程序基础之上还可以进行添加其他功能,例如添加学生的成绩。且不会对原程序任何影响。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1