面向对象课程设计报告.pdf

上传人:奔*** 文档编号:88183371 上传时间:2023-04-24 格式:PDF 页数:28 大小:2.16MB
返回 下载 相关 举报
面向对象课程设计报告.pdf_第1页
第1页 / 共28页
面向对象课程设计报告.pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《面向对象课程设计报告.pdf》由会员分享,可在线阅读,更多相关《面向对象课程设计报告.pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、课 程 设 计 任 务 书课 程 名 称面对对象程序设计课 题同学成果管理系统专业班级 计算机同学姓名_ _ _ _ _ _ _ _ _ _ _ _ _ _ _学 号指导老师 李珍辉 陈淑红 李杰军审 批 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _任务书下达日期2022年1 1月1 5日任务完成日期 2022年1 2月2 8日一、设计内容与设计要求1.课程设计目的:面对对象程序设计课程设计是集中实践性环节之一,是学习完 面对对象程序设计课程后进行的一次全面的综合练习。要求同学达到娴熟把握C+语言的基本学问和技能;基本把握面对对象程序设计的思想

2、和方法;能够采用所学的基本学问和技能,解决简洁的面对对象程序设计问题,从而提高动手编程解决实际问题的力量。2.课题题目1)公司库存管理系统2)高校学籍管理系统3)高校工资管理系统4)高校人事管理系统5)通讯录程序设计6)同学成果管理系统7)图书管理系统8)文本编辑器的设计与实现9)同学考勤管理系统1 0)公司人员管理系统3.设计要求:(1)设计课题题目:每位同学依据自己学号除以1 0所得的余数加1选择相应题号的课题。随便换题者不记成果。依据自己对应的课题完成以下主要工作:完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。完成系统总体设计:包括系统功能分析;系

3、统功能模块划分与设计(系统功能模块图)。完成系统具体设计:包括数据库需求分析;数据库概念结构设计(ER图);数据库规律结构设计;类层次图;界面设计与各功能模块实现。系统调试:调试消失的主要问题,编译语法错误及修改,重点是运行规律问题修改和调整。使用说明书及编程体会:说明如何使用你编写的程序,具体列出每一步的操作步骤。关键源程序(带注释)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。(4)不得抄袭他人程序、课程设计报告,每个人应体现自己的共性设计。二、进 度 支 配第1 7周星期一8:0 0 -1 2:0 0星期二8:0 0-1 2:0 0星期四8:0 0-1 2:0 0第1

4、8周星期一8:0 0-1 2:0 0星期二1 4:3 0-1 8:3 0星期三8:0 0-1 2:0 0课题6:同学成果管理系统(一)、课程设计题目:同学成果管理系统(二)、目的与要求:1、目的:(1)要求同学达到娴熟把握C+语言的基本学问和技能;(2)基本把握面对对象程序设计的基本思路和方法;(3)能够采用所学的基本学问和技能,解决简洁的面对对象程序设计问题。2、基本要求:(1)要求采用面对对象的方法以及C+的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面对对象的一种机制。

5、3、创新要求:在基本要求达到后,可进行创新设计,如依据查找结果进行修改的功能。4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):设计一个有用的小型同学成果管理程序,具有查询,检索和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现,充分体现面对对象的程序设计特点。要求:实现主要功能:建立文件,文件的存取和显示,删除纪录,查询纪录。可以随时检索,删除,或增加纪录,也可以保存或取消新的纪录。2、问题的解决方案:依据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体

6、及它们之间的关系包括属性和行为;(3)依据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书目 录I.系统需求分析.02.总体设计.03.具体设计.14.系统调试.45.结果分析.76.总结.77.程序代码.81.系统需求分析1.1 系统设计的目的与意义:现在的学校同学数量较多,各样的考试也比较频繁,因此需要一个同学成果管理系统来对同学的成果进行管理。1.2系统功能需求:本系统有四个类,Score类、Subject类、Student类、C lass类,

7、存储同学的个人信息、考试科目及成果信息。有同学成果信息录入、同学成果信息修改、同学成果信息显示、同学成果信息删除、同学成果信息查询以及数据保存文件等功能。2.总体设计2.1 系统功能分析:系统通过调用函数来实现同学成果信息录入、同学成果信息修改、同学成果信息删除、同学成果信息查询以及数据保存文件等功能。Insert()函数用于录入同学成果及信息;Updatel()函数用来修改同学成果及信息;Show。函数用于显示全部已有的纪录;Delete()函数用来删除同学成果及信息;Searchi()及Search2()函数用来查询及信息;Save。函数用于将输入的信息存入文件内;主函数main。用于调用

8、这些函数。2.2系统功能模块划分与设计:本系统定义了 Score类、Subject类、Student类以及Class类这四个类,定义了Insert()、Updatel()、Show()、Save()、Delete()、Searchi()及 Search2()等函数来实现系统所需功能。2.3系统功能模块图:同学成果管理系统同学成果查询同学成果录入同学成果删除同学成果修改显示全部纪录纪录存入文件退出系统保存胜利退出胜利3.具体设计3.1分数类的设计:该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。Sc o r e-s c o r e:i n t+Sc o r e (s:i n

9、 t=0)+s e t l ():v o i d+s h o w l ()图 3.13.2科目类的设计:该 类 定 义 了 一 个 Sc o r e 类 类 型 的 变 量,定 义 了 一 个 字 符 数 组 用 来 存 放 科 目 名 称,定义 了 设 置 和 显 示 私 有 成 员 的 函 数。_ _ _ _ _ _ _ _ _ _ _ _ _ Su bj e c t _ _ _ _ _ _ _ _ _ _ _ _ _ _ _-s u bj e c t 2 0:c h ar-s c:Sc o r e _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

10、 _+Su bj e c t ()+s e t 2 ():v o i d+s h o w 2 ():v o i d图 3.23.3同学类的设计:该 类 定 义 了 一 个 Su bj e c t 类 类 型 的 数 组,一 个 字 符 型 数 组 和 一 个 字 符 变 量,两个整型变量以及设 置 和 显 示 私 有 成 员 的 函 数。St u d e n t-n am e 2 0:c h ar-n u m:i n t-S:c h ar-n:i n t-p l 8 :Su bj e c t+St u d e n t ()+s e t 3 ():v o i d+s h o w 3 ():v o

11、 i d+g e t N U l ():i n t图 3.33.4班级类的设计:该 类 定 义 了 一 个 St u d e n t 类 类 型 的 变 量、字 符 型 数 组、整型及设置和显示私有成员的 函 数 等。Cl as s-n am e 2 0:c h ar-n u m 2:i n t+Cl as s()+g e t N U():i n t图 3.43.5各个类的关系描述:St u d e n t-n am e 2 0:c h ar-n u m:i n t-S:c h ar-n:i n t+St u d e n t ()+s e t 3 ():v o i d+s h o w 3 ()

12、:v o i d+g e t N U l ():i n t+g e t N Al ():c h ar *v4.系统调试4.1 在调试过程中,消失了下面一些错误:1、输入数据时,输错了数据的类型会造成死循环,因此输入时需要留意。2、一开头主界面输入非正确字母时,没有提示错误。简洁造成用户误会,在主函数的switch语句结束处加上default:cout选择错误,请从新选择!就可以了。4.2 具体调试过程:主界面也 欢 迎 进 入 学 生 成 绩 管 理 系 统 一青选择功能:询入除改录件查录删修记文绩绩绩绩部入统成成成成全生生生生示雷“ZZZ子显记退abcdefno同学成果录入情输入学生的学号:

13、鳏瞿Tl12J1:m的:在号名号所卷学性课名生班生生生门目该该善该每科.1A-.1A-小1 1A-.A-.JA:I1A-佳南也用清注用本嗝请住用g在用80数分入同学成果查询请继续选择:1.揍学号查询信息2 晨 姓 名 查 询 信 息%输 入 所 要 查 询 的 学 生 的 学 号:班级:计算机 班 号:i00i姓名:张三 性别:m学 号:iC+:80同学成果显示班级:计算机 班号:1001姓名:张三 性别方 学号:2C+:90同学成果修改请输入所要修改的学生的姓名:J P-黯入所要修改的学生的学号:主DC主雇主闫主用主席主月主月C+主W-W,I,I,I,lr.l.,I,I,TJ1?II11AA

14、-JI1A-.1A-I)A:.I+输在号名号所需学性课名生班生生生门目该该该每科fl.:M的:数分入2纪录存入文件询人除改录件查录删修记文绩绩绩绩部入统成成成成全4生生生生示笺文幸显记退abcdefaa保存文件成功?同学成果删除询入除改录件查录删修记文绩绩绩绩部入统成成成成全拿水生生生生示于显记退abcdef9请输入要要进行操作的学生的学号:5.结果分析程序总共设计了四个类,满意了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也采用了面对对象的方法以及C+的编程思想来完成系统的设计,做到了用文件存储同学成果信息、从文件中读取同学成果信息、修改信息、查询信息、删除信息显示文件中存储的信

15、息等要求。而且界面简洁,简洁操作。但是程序太长,不够简练,导致消失错误很难发觉和修改。6.总结首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也打算了一个程序的质量。两个星期的课设虽然有些疲惫和困倦,但带给我很多的收获。C+已经学了一个学期了,有很多学问都存在似懂非懂的现象,这种现象通过实际的上机操作,已经削减了很多。对这些学问也有了更深的理解和很好的把握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有很多已经通过实

16、际操作解决了,并能够深刻熟悉,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,由于有了综合试验的阅历与教训,明白了写代码这一步是特别重要的,由于当你把代码输入电脑,并用编译器将其运行,发觉通过不了,再来检查找出问题,这是一件特别辛苦的事情,也很铺张时间。于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清晰,才把代码输入电脑。我觉得写程序,应当先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避开等到发觉规律上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。这次的课程设计,真是让我充分的感觉到了要自己设计一个程序

17、是多么的难,以及学习好C+是多么的重要。在这个程序的设计过程中,我清晰的意识到自己的水平有多么的薄弱,课程的学问学得有多么的不扎实。看网上的例子似乎觉得也没那么难,自己一上机实际操作就消失了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。以后还会有很多的课程设计,肯定要吸取这次的教训,把学问学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。7.程序代码#i n c l u d e#i nclu de#i nclu deu s i

18、 ng names p ace s t d;i nt M=1 0 0;s t at i c i nt M 2=0;clas s S cor e 分数类p r i v at e:i nt s cor e;p u bli c:S cor e(i nt s=0)s cor e=s;v oi d s et l0 cou t 请输入分数:z/s cor e;v oi d s h ow l()cou t z z:/zs cor e endl;);clas s S u bj ect 科目类p r i v at e:S cor e s c;ch ar s u bj ect 20 ;p u bli c:S u

19、bj ect ()f or (i nt i=0;i 20;i+)s u bj ect i =0;Jv oi d s et 2()cou t 请输入科目名称:s u bj ect;s c.s et l();)v oi d s h ow 2()cou t s u bj ect;s c.s h ow l(););clas s S t u dent 同学类p r i v at e:S u bj ect p l 8;ch ar name20 ;i nt nu m;ch ar S;i nt n;p u bli c:S t u dent ()f or (i nt i=0;i 20;i+)namei =0;n

20、u m=0;S=0;)v oi d s et 3();v oi d s h ow 3();i nt g et N U l()r et u r n nu m;ch ar *g et N A l()r et u r n name;);v oi d S t u dent:s h ow 3()i nt i;同学类显示函数cou t 姓名:性别:,S,t 学号:,z nu m endl;f or(i=0;i 8;i+)p l i .s h ow 2();v oi d S t u dent:s et 3()同学类修改函数i nt i;cou t name;cou t 请输入该生学号:;ci nnu m;c

21、ou t S;cou t*请输入每门课程的名字及分数.endl;f or(i=0;i 8;i+)p l i .s et 2();clas s C las s 班级类p r i v at e:S t u dent s t u;ch ar name220 ;i nt nu m2;p u bli c:C las s ()f or(i nt i=0;i name2;cou t nu m2;s t u.s et 3();)v oi d s h ow 4()cou t 班级:/zname2/zt 班号:t/znu m2;s t u.s h ow 3();f r i end v oi d S ear ch

22、i (C las s cl,i nt cou nt l);f r i end v oi d S ear ch 2(C las s c2,i nt cou nt 2);f r i end v oi d U p dat el(C las s c3,i nt cou nt _d);f r i end v oi d D elet e(C las s c4,i nt *cou nt _c);f r i end v oi d I ns er t(C las s c5 ,i nt&cou nt _a);b1 0 0 ;v oi d S av e(C las s c6 ,i nt cou nt)纪录存入文件函

23、数f s t r eam f i le(z,clas s.dat,i os:ou t|i os:bi nar y);i f(!f i le)c o u t/zf i le cou n,t op en.z zendl;abor t ();f or(i nt i=0;i cou nt;i+)f i le,w r i t e(r ei nt er p r et _cas t(&c6 i ),s i z eof(c6 i );f i le.clos eO ;v oi d S h ow(C las s c7 )显示纪录函数i nt i=0;f or (i=0;c7 L i .g et N U()!=0;

24、i+)c7 i .s h ow 4();v oi d I ns er t (C las s c5 ,i nt&cou nt _a)信息录入函数(i nt i,i n_nu mber,n=0;i f(cou nt _a=M)c ou t*空间已满!;r et u r n;c o u t 请输入同学的学号:endl;ci n i n_nu mber;f or (i=0;i cou nt _a;i+)i f (c5 i .g et N U()=i n_nu mber)cou t 已有相同的学号,请重新输入!endl;br eak;)w h i le(c5 i .g et N U()=i n_nu m

25、ber);i f(i n_nu mber l)cou t。输入错误,请重新输入大于零的整数!z,endl;w h i le(i n_nu mber=0);i=cou nt _a;c5 i .s et 4();cou nt _a+;cou t endl endl;n=n+l;i f(n!=0)cou t 同学成果录入胜利!nu mber;i f(nu mber=0)cou t X输入错误,请重新输入大于零的整数!z,endl;w h i le(nu mber=0);f or (i=0;i cou nt l&f lag;i+)i f(cli .g et N U()=nu mber)(cl i .s

26、 h ow 4();f lag=0;n=n+l;)i f (n=0)cou t 没有查询到该同学的资料!nam;f or (i=0;i cou nt 2;i+)i f (c2i .g et N A()=nam)(c2i .s h ow 4();n=n+l;)i f (n=0)cou t。没有查询到该同学的资料!endl;v oi d U p dat el(C las s c3,i nt cou nt _d)信息修改函数i nt i,n=0,f lag=l,m;ch ar nam20 ;cou t。请输入所要修改的同学的姓名:nam;f or(i=0;i cou nt _d&f lag;i+)(

27、i f(c3i .g et N A()=nam)(cou t。请输入所要修改的同学的学号:endl;ci n m;f or (i=0;i cou nt _d&f lag;i+)i f(c3i .g et N U()=m)(c3i .s et 4();f lag=0;n=n+l;)br eak;)i f(n!=0)cou t”修改胜利!V endl;i f(n=0)cou t。”没有查询到该同学的资料!”endl;)v oi d D elet e(C las s c4)信息删除函数(f s t r eam f i le(clas s,dat”,i os _bas e:i n|i os _bas

28、e:ou t|i os _bas e:bi nar y);i nt i=0;f or (i=0;i 1 0 0;i+)f i le.r ead(r ei nt er p r et _cas t (&bi ),s i z eof (bi );f or(i=0;bi .g et N U O !=0;i+)M 2二i;C las s c9;i nt n=0,nu mber,f lag=l;cou t 请输入要要进行操作的同学的学号:“endl;ci n nu mber;f or(i=0;i M 2&f lag;i+)(i f (c4i .g et N U()=nu mber)(f or d;i M

29、2&f lag;i+)c4i =c4i+l;f lag=0;(M 2)一;n=l;S av e(b,M 2);br eak;)i f(n=0)cou t 没有查询到可以删除的资料!endl;i f(n!=0)cou t 资料删除胜利!endl;i nt mai n()ch ar al;f s t r eam f i le(clas s.dat ,i os _bas e:i n|i os _bas e:ou t|i os _bas e:bi nar y);cou t X t t*欢 迎 进 入 同 学 成 果 管 理 系 统*endl endl;do(cou t 请选择功能:endl;cou t

30、 z,t t t a.同学成果查询 endl;cou t z,t t t b.同学成果录入 endl;cou t z,t t t c.同学成果删除endl;cou t z/t t t d.同学成果修改 endl;cou t z zt t t e.显示全部纪录endl;cou t?,t t t f.纪录存入文件”endl;cou t/zt t t g.退出系统“endl;i nt i=0;f or(i=0;i 1 0 0;i+)(f i le.r ead(r ei nt er p r et _cas t(&bi ),s i z eof(bi );f or(i=0;bi .g et N U()!=

31、0;i+)M 2=i;ci nal;s w i t ch(al)(cas e a:(cou t t t t 请连续选择:/endl;cou t,/t t t t l.按学号查询信息endl;cou t ”t t t t 2.按姓名查询信息 endl;i nt x;ci n x;s w i t ch(x)cas e 1:S ear ch 1(b,M 2);br eak;cas e 2:S ear ch 2(b,M 2);br eak;def au lt:cou t 选择错误,请重新选择!,endl;)br eak;cas e b,:I ns er t(b,M 2);br eak;cas e c:

32、f i le,clos e();D elet e(b);br eak;cas e d :U p dat e1(b,M 2);br eak;cas e e :S h ow(b);br eak;cas e f :(f i le,clos e();S av e(b,M 2);cou t。保存文件胜利!z,endl;f s t r eamf i le(clas s.dat,i os _bas e:i n|i os _bas e:ou t|i os _bas e:bi nar y);br eak;cas e g :f i le,clos e();br eak;def au lt :cou t 选择错误,

33、请重新选择!endl;)w h i le(al!=g );r et u r n 0;三,参考书籍1.C+程序设计课程设计刘振安编著TP312c5632.C+B uilder和 Delphi课程设计与系统开发案例 伍俊良 清华高校出版社7-302-06072-X3.Visual C+课程设计案例精编严华峰中国水利水电出版社7-5084-2007T20044.Visual C+课程设计与系统开发案例伍俊良清华高校出版社7-302-05968-320025.Visual C+语言课程设计:案例精选与编程指导陈清华朱红东南高校出版社7-81089-275-4 20036.VisualC+课程设计案例精编 中国水利水电出版社7-5084T004T 20027.数据结构课程设计案例精编:用 C/C+描述李建学李光元吴春芳 清华高校出版社 7-302-14536-9 2007(编程平台不限,vc+,c+Builder等等。)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁