database类设计-(学生信息管理)C++.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《database类设计-(学生信息管理)C++.doc》由会员分享,可在线阅读,更多相关《database类设计-(学生信息管理)C++.doc(77页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datedatabase类设计-(学生信息管理)C+_x0001_课程设计报告课程设计题目:database类设计 (学生信息管理) 学生姓名 学 号 专 业 班 级 指导教师 二一一 年 十一月 二十四 日目录目录i1.概述11.1程序的基本功能21.2扩展功能22.课程设计的目的与要求2.1教学要求32.3教学目的33. 课程设计的内容与安排3.1 详细说明44.课程设计
2、代码55.程序运行截图16参考文献191 概述本课程设计是面向对象程序设计课程的后继教学环节,学好C+语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C+实际应用程序。此次课程设计的题目及要求:实现一个简单的学生信息管理系统。1.1程序的基本功能系统的主要功能是注册学生信息,对学生信息的增加修改,查询等功能。1.2扩展功能 各种信息都将存入student.txt文件中。 2、课程设计的目的与要求2.1 教学目的在面向对象程序设计课程教学的基础上,根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统的设计与开发,深入复习并进一步掌握
3、面向对象的程序设计思想与方法。同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。2.2 教学要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:1)根据实现的功能,划分出合理的对象类,明确对象类间的关系。2) 为每个对象类设计正确的域和方法,为每个方法设计合理的方法体。同时,为对象类及内部的域和方法运用正确的修饰符,如访问控制符等。3)编程简练,程序功能齐全,能正确运行。4)说明书、流程图要清楚,规范(必须采用UML格式)5)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。3、课程设计的内容与安排 设计一个D
4、atabase类问题描述设计一个Database类。Database类是一个表的集合,而表又由行和列组成。例如,下面的雇员信息表包含三个记录,每个记录有四个字段( Employee、Name、Department和Boss)。学号姓名学院班主任111-11-1234CruzACCWarder213-44-5649JohnstonMISMichaels321-88-7895TomFINBearskin基本要求能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一
5、个或多个表中查找相关信息。测试数据可以选取高校人员(教师、学生、职工等)数据库作为测试数据实现提示Database 类的公有接口包含如下数据成员: 创建一个表。 通过增加或删除字段修改表结构。 删除一个表。 在表中增加一个记录。 从表中删除记录。 用适当的查询语言从一个或多个表中查找信息。代码如下:#include #include #include #include #include struct person /*个人信息*/ char name20; char num20; char Department20; char boss20; typedef struct linknode /
6、定义节点的类型 struct person pe; /个人信息 bool flag; struct linknode* next;nodetype;class database nodetype* head;public: database(); database:database(); linknode* creatdatabase(int); /创建链表 int databaselen(); /返回链表长度 nodetype* findnode(int); /通过查找序号返回节点的指针 nodetype* find(char c); /通过查找姓名返回节点的指针 int find2(cha
7、r 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 dispname(); /显示所有学生姓名 void dispperson(nodetype
8、*); /显示一个学生的个人说明;/-class Operater database L1;public: void Loop(); /主循环 void display(); /显示菜单 ;/-database:database() head = NULL;/-bool database:check(char *a, char *b) /对比两个字符串是否相等 int i; int j=strlen(b); for(i=0; ij; i+) if(*a=*b) a+; b+; else return 0; return 1;/-nodetype*database:creatdatabase (
9、int n) /创建链表 nodetype *h=NULL, *s, *t; int i=1; for(int j=0; jnext=NULL; t=h; else /创建其余节点 s=(nodetype*)malloc(sizeof(nodetype); s-next=NULL; t-next=s; t=s; /t 始终指向生成的单链表的最后一个节点 i+; head=h; return h;/-void database:readstr(FILE *f,char *string) do fgets(string, 255, f); /fgets(): 从文件 f 读入长度为 255-1 的
10、字符串 while (string0 = /) | (string0 = n); return;/-nodetype*database:load() FILE *fp; nodetype *p; char c255; int num; if(fp=fopen(student.txt, r)=NULL) cout打开文件失败endl; return 0; readstr(fp, c); sscanf(c, The Length Of Link: %d, &num); /获取链表长度 p=creatdatabase(num); /创建链表 for(int i=0; ipe.name, c); re
11、adstr(fp, c); strcpy(p-pe.num, c); readstr(fp, c); strcpy(p-pe.Department , c); readstr(fp, c); strcpy(p-pe.boss , c); p=p-next; fclose(fp); return p;void database:dispname() /显示所有学生姓名 nodetype* p=head; cout现有的学生: endl; cout=endl; if(p=NULL) cout没有任何学生数据endl; while(p!=NULL) cout=endl; couttt学生的学号ttp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- database 设计 学生 信息管理 C+
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内