收藏 分享(赏)

学生毕业设计管理系统_课程设计报告书.doc

上传人:精品资料 文档编号:10836892 上传时间:2020-01-13 格式:DOC 页数:29 大小:348.50KB
下载 相关 举报
学生毕业设计管理系统_课程设计报告书.doc_第1页
第1页 / 共29页
学生毕业设计管理系统_课程设计报告书.doc_第2页
第2页 / 共29页
学生毕业设计管理系统_课程设计报告书.doc_第3页
第3页 / 共29页
学生毕业设计管理系统_课程设计报告书.doc_第4页
第4页 / 共29页
学生毕业设计管理系统_课程设计报告书.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、C+面向对象程序设计综合项目报告项目名称: 学生毕业设计管理系统 专 业: 软件技术 班 级: 软件 0921 项目成员: 毛亚明 陈晓琴 王雪亮 报告日期:2010 年 12 月2设计任务 一、基本要求(1)要求学生达到熟练掌握 C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。(4)要求利用面向对象的方法以及 C+的编程思想来完成系统的设计;(5)要求在设计的过程中,建立清晰的类层次; (6)在系统中至少要定义三个类,每个类中要有各自的属性和方法;二、创新要求: 在基本要求达到后,可进行创新设计

2、,如根据查找结果进行修改的功能及设计出比较友好的界面等。 三、设计方法和基本原理: 1、问题描述(功能要求): 某学校,主要有四类学生:专科生、本科生、硕士研究生和博士研究生。现在,需要存储这些学生的编号、姓名、年级和班级、级别、论文题目、指导老师和成绩,并显示全部信息。 要求: 1)其中,学生编号在生成学生信息时同时生成,每输入一个学生信息编号顺序加1。 2)程序对所有学生都有提升级别的功能 3)能按姓名或者编号显示、查找、增加、删除和保存各类学生的信息 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题

3、描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; 3(6)功能调试; (7)完成系统总结报告以及系统使用说明书。 四、程序设计和调试: ; 以对话框的形式,展现程序的实现。1、设计思路:根据对学生信息的增删改查,为四个基本的模块,然后展开,运用文件流的方法,实现数据的保存。在原有基础上增加 4 个基本模块的一些功能,如以不同形式查看学生的信息。系统功能模块图4567类的层次图8调试过程-Configuration: Test - Win32 Debug-Compiling.Test.cppH:C+项目

4、学生毕业设计管理系统Test.cpp(50) : error C2039: next : is not a member of studentH:C+项目学生毕业设计管理系统Test.cpp(23) : see declaration of studentH:C+项目学生毕业设计管理系统Test.cpp(159) : error C2039: next : is not a member of studentH:C+项目学生毕业设计管理系统Test.cpp(23) : see declaration of studentH:C+项目学生毕业设计管理系统Test.cpp(159) : fatal

5、 error C1903: unable to recover from previous error(s); stopping compilation执行 cl.exe 时出错 .Test.obj - 1 error(s), 0 warning(s)学生类学号 学位 姓名学生信息结构体9程序代码#include #include #include#include #includeusing namespace std;int amount=0;int num=100; /当前最高学号 ofstream *file50;struct info /学生信息结构体string xy;string

6、zy;string bj;string teacher;string lw;string score;struct info *next;class student /学生数据类 public:int id; string mun;string name;info sc3;class student *next; 10;void input(student *head); /录入 /函数声明/void search1(student *head); /姓名查询void search2(student *head); /学号查询void change(student *head); /修改voi

7、d shanchu(student *head); /删除void get(student *head); /取数据void display(); /显示菜单void show(student *head); /显示数据void readin(student *head); /保存数据string int_char(int);void main() /主函数 system(“color f0“);char x; bool flag2=0; student *head=new student; /初始化学生数据head-next=NULL; coutx; if(x=0while(z!=0 swi

8、tch(z)case 0: search1(head);break;/按姓名查询case 1: search2(head);break;/按学号查询 coutnext!=NULL)15stu=stu-next;coutnext;couta; ofstream outfile(“D:课设学生信息.txt“,ios:out);if(! outfile) coutnext;break;cout中! “;outfile.close(); void input(student *head) /录入学生数据 char c;int j=0;student *p=head;filej=new ofstream

9、(“D:课设学生信息.txt“,ios:app); do 17student *stu=new student;(*stu).id=num+1;num+; cout(*stu).mun;cout(*stu).name; cout(*stu).sc3.xy; cout(*stu).sc3.zy; cout(*stu).sc3.bj; cout(*stu).sc3.teacher; cout(*stu).sc3.lw; cout(*stu).sc3.score; stu-next=p-next;p-next=stu;amount+;coutc; p=p-next;while(c!=y while(

10、c=y);j+;coutnext;bool flag=0; coutname; do if(stu!=NULL coutnamenext; while(stu!=NULL); if(flag=0) coutc; while(c!=y while(c=y); void search2(student *head)/用学号查询学生数据 char c;int no; do student *stu=head-next;int flag=0; coutno; 20doif(stu!=NULL coutnamenext;while(stu!=NULL);if(flag=0) coutc; while(c

11、!=y 21 while(c=y); void change(student *head) /修改学生数据 string name; char c; dobool flag2=0; student *stu=head ; info sc3;string mu;coutname; do if(name=(*stu).name) flag2=1; coutmu; coutsc3.xy; coutsc3.zy; coutsc3.bj; coutsc3.teacher; 22coutsc3.lw; coutsc3.score; (*stu).mun=mu;(*stu).sc3.xy=sc3.xy;(*

12、stu).sc3.zy=sc3.zy; (*stu).sc3.bj=sc3.bj; (*stu).sc3.teacher=sc3.teacher;(*stu).sc3.lw=sc3.lw;(*stu).sc3.score=sc3.score;coutnext;while(stu!=NULL); if(flag2=0) 23 coutc; if(c!=y cinc; while(c=y); void shanchu(student *head)/删除学生数据 char c;int no; do int flag=0; coutno; student *q,*p;q=head;while(q-ne

13、xt!=NULLif(q-next!=NULL) flag=1;24p=q-next;q-next=q-next-next; amount-;free(p);coutc; while(c!=y while(c=y); void get(student *head) /提取学生数据 student *p;p=head;int j=0;string no;coutno;string aa;aa=int_char(p-next-id);while(p-next!=NULL)25if(no=aa.substr(0,7)coutnext;if(j=1)break;if(j=1) int c,m=0;st

14、ring b,b1,e,infoma6=“xueyuan“,“zhuanye“,“banji“,“daoshi“,“lunwen“,“jiaquan“;string kemu6=“学院“,“专业“,“ 班级“,“导师“,“ 论文“,“加权“;cout学院 2专业 3班级“导师 5论文 6加权“c; string cla=“class“;e=no.substr(6,1);b1=cla+e;b=b1+infomac-1;char *f=new char20;for(int i=0;inext!=NULL) outfilenext-idnext-namenext-sc3.xynext-sc3.zyn

15、ext-sc3.bjnext-sc3.teachernext-sc3.lwnext-sc3.scorenext;outfileb;for(i=0;i9;i+)a=b%10;b=b/10;c8-i=a+0;c9=0;return c;28五、总结。经过这次的测试技术实践,我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了实验能力。现在我总结了以下的体会和经验。这次的项目跟我们以前做的项目不同,因为我觉得这次我是真真正正的自己亲自去完成。所以是我觉得这次实验最宝贵,最深刻的。就是实验的过程全是我们学生自己动手来完成的,这样,我们就必须要理清课本的知识。在这里我深深体会到哲学上

16、理论对实践的指导作用:亲自开动脑筋,亲自去请教别人才能得到提高的。我们做项目绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,项目总是与课本知识相关的,所以课本的内容是非常重要的,但是有实在不会的可以参考网络资源,也可以问小组成员。我们做项目不要一成不变和墨守成规,应该有改良创新的精神。实际上,在弄懂了课本知识基础上,我们的时间是充分的,做项目应该是游刃有余的,如果说创新对于我们来说是件难事,那改良总是有可能的。在做项目的过程中我们要培养自己的独立分析问题,和解决问题的能力。培养这种能力的前题是你对每次项目的态度。如果你在项目这方面很随便,抱着等老师教你怎么做,拿同学的报告去抄,尽管你的成绩会很高,但对将来工作是不利的。在这次的项目中, 通过这次的测试技术实验我们不但对理论知识有了更加深的理解,对于实际的操作和也有了质的飞跃。经过这次的实验,我们整体对各个方面都得到了不少的提高,希望我们再接再厉!七、参考资料C+面向对象的程序设计八、教师评语 成绩29

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报