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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(c面向对象课程设计报告学生成绩管理系统.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c面向对象课程设计报告学生成绩管理系统.doc

1、 课 程 设 计 报 告 课程名称 面向对象程序设计 课题名称 学生成绩管理系统 专 业 计算机科学与技术 班 级 计算机 1001 学 号 2010030101 姓 名 指导教师 李珍辉 陈淑红 李杰军 2011年 12 月 28 日 湖南工程学院 课 程 设 计 任 务 书 课程名称 面向

2、对象程序设计 课 题 学生成绩管理系统 专业班级 计算机1001 学生姓名 学 号 2010030101 指导老师 李珍辉 陈淑红 李杰军 审 批 任务书下达日期 2011 年 11 月 15 日 任务完成日期 2011 年 12 月 28 日 一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的

3、一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴ 设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相应题号的课题。随意换题者不记成绩。 ⑵ 根据自

4、己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释) ⑶ 按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。 ⑷ 不得抄袭他人程

5、序、课程设计报告,每个人应体现自己的个性设计。 二、进度安排 第 17 周 星期一 8:00——12:00 星期二 8:00——12:00 星期四 8:00——12:00 第 18 周 星期一 8:00——12:00 星期二 14:30——18:30 星期三 8:00——12:00 三、参考书籍 1.《C++程序设计课程设计》 刘振安编著 TP312C563 2.《C++ Builder和Delphi课程设计与系统开发案例》 伍俊良 清华大学出版社 7-302-0607

6、2-X 3.Visual C++课程设计案例精编 严华峰 中国水利水电出版社 7-5084-2007-1 2004 4.Visual C++课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-05968-3 2002 5.Visual C++语言课程设计 : 案例精选与编程指导 陈清华朱红 东南大学出版社 7-81089-275-4 2003 6.VisualC++课程设计案例精编 中国水利水电出版社 7-5084-1004-1 2002 7.数据结构课程设计案例精编 : 用C/C++描述 李建学李光元吴春芳 清华大学

7、出版社 7-302-14536-9 2007 (编程平台不限,vc++, c++ Builder等等。) 课题6:学生成绩管理系统 (一)、课程设计题目: 学生成绩管理系统 (二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少

8、要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理: 1、问题描述(功能要求): 设计一个实用的小型学生成绩管理程序,具有查询,检索和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现,充分体现面向对象的程序设计特点。 要求: 实现主要功能:建立文件,文件的存取和显示,删除记录,查询记录。可以随时检索,删除,或增加记录,也可以保存或取消新的记录。 2、问

9、题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书 目 录 1. 系统需求分析 1 2. 总体设计 2 3. 详细设计 3 4. 系统调试 6 5. 结果分析 8 6. 总结 9 7.

10、 程序代码 10 1. 系统需求分析 1.1系统设计的目的与意义: 现在的学校学生数量较多,各样的考试也比较频繁,因此需要一个学生成绩管理系统来对学生的成绩进行管理。 1.2 系统功能需求: 本系统有四个类,Score类、Subject类、Student类、Class类,存储学生的个人信息、考试科目及成绩信息。有学生成绩信息录入、学生成绩信息修改、学生成绩信息显示、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。 2. 总体设计 2.1 系

11、统功能分析: 系统通过调用函数来实现学生成绩信息录入、学生成绩信息修改、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。Insert()函数用于录入学生成绩及信息;Update1()函数用来修改学生成绩及信息;Show()函数用于显示所有已有的记录;Delete()函数用来删除学生成绩及信息;Search1()及Search2()函数用来查询及信息;Save()函数用于将输入的信息存入文件内;主函数main()用于调用这些函数。 2.2系统功能模块划分与设计: 本系统定义了Score类、Subject类、Student类以及Class类这四个类,定义了Insert()、Upd

12、ate1()、Show()、Save()、Delete()、Search1()及Search2()等函数来实现系统所需功能。 2.3 系统功能模块图: 学生成绩查询 学生成绩录入 学生成绩删除 学生成绩管理系统 无此记录 查询成功 录入成功 无此记录 删除成功 无此记录 修改成功 保存成功 显示成功 退出成功 显示全部记录 记录存入文件

13、学生成绩修改 退出系统 3. 详细设计 3.1 分数类的设计: 该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。 Score -score:int +Score(s:int=0) +set1():void +show1() 图 3.1 3.2 科目类的设计: 该类定义了一个Score类类型的变量,定义了一个字符数组用来存放科目名称,定义了设置和显示私有成员的函数。 Subject -subject[20]:char -sc:Score +S

14、ubject() +set2():void +show2():void 图 3.2 3.3 学生类的设计: 该类定义了一个Subject类类型的数组,一个字符型数组和一个字符变量,两个整型变量以及设置和显示私有成员的函数。 Student -name[20]:char -num:int -S:char -n:int -p1[8]:Subject +Student() +set3():void +show3():void +getNU1():int +getNA1():char *

15、 图 3.3 3.4 班级类的设计: 该类定义了一个Student类类型的变量、字符型数组、整型及设置和显示私有成员的函数等。 Class -name[20]:char -num2:int +Class() +getNU():int +set4():void +show4():void 图 3.4 3.5 各个类的关系描述: Subject -subject[

16、20]:char +Subject() +set2():void +show2():void 1..* Score -score:int +Score(s:int=0) +set1():void +show1() -sc 1 图 3.5.1 Student -name[20]:char -num:i

17、nt -S:char -n:int +Student() +set3():void +show3():void +getNU1():int +getNA1():char * Subject -subject[20]:char +Subject() +set2():void +show2():void 1..* -p1[8] 1

18、 图 3.5.2 Class -name[20]:char -num2:int +Class() +getNU():int +set4():void +show4():void Student -name[20]:char -num:int -S:char -n:int +Student() +set3():void +show3():void +getNU1():int +getNA1():char * 1..*

19、 -stu 1 图 3.5.3 4. 系统调试 4.1 在调试过程中,出现了下面一些错误: 1、输入数据时,输错了数据的类型会造成死循环,因此输入时需要注意。 2、一开始主界面输入非正确字母时,没有提示错误。容易造成用户误解,在主函数的switch语句结束处加上default:cout<<"选择错误,请从新选择!";就可以了。 4.2 具体调试过程: 主界面 学生成绩录入 学生成绩查询 学生成绩显示 学生成绩修改 记录存

20、入文件 学生成绩删除 5. 结果分析 程序总共设计了四个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储学生成绩信息、从文件中读取学生成绩信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求。而且界面简洁,容易操作。但是程序太长,不够简练,导致出现错误很难发现和修改。 6. 总结 首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目

21、要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。 两个星期的课设虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行

22、发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。 这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多

23、问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。 以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。 7. 程序代码 #include #include #include using namespace std; int M=100; static int M2=0; class

24、Score{ //分数类 private: int score; public: Score(int s=0){ score=s; } void set1(){ cout<<"请输入分数:"<>score; } void show1(){ cout<<": "<

25、ject(){ for(int i=0;i<20;i++) subject[i]=0; } void set2(){ cout<<"请输入科目名称:"<>subject; sc.set1(); } void show2(){ cout<

26、r S; int n; public: Student(){ for(int i=0;i<20;i++) name[i]=0; num=0; S=0; } void set3(); void show3(); int getNU1(){return num;} char *getNA1(){return name;} }; void Student::show3(){ //学生类显示函数 int i; cout<<"姓名:"<

27、>name; cout<<"请输入该生学号:"; cin>>num; cout<<"请输入该生性别:"; cin>>S; cout<<"请输入每门课程的名字及分数."<

28、lass{ //班级类 private: Student stu; char name2[20]; int num2; public: Class(){ for(int i=0;i<20;i++) name2[i]=0; num2=0; } int getNU(){return stu.getNU1();} string getNA(){return stu.getNA1();} void set4(){ cout<<"请输入该生所在班级名称:"; cin>>name2; cout<

29、<"请输入该班班号:"; cin>>num2; stu.set3(); } void show4(){ cout<<"班级:"<

30、int *count_c); friend void Insert(Class c5[],int &count_a); }b[100]; void Save(Class c6[],int count) //记录存入文件函数 { fstream file("class.dat",ios::out|ios::binary); if(!file) { cout<<"file coun't open."<

31、rpret_cast(&c6[i]),sizeof(c6[i])); file.close(); } void Show(Class c7[]) //显示记录函数 { int i=0; for(i=0;c7[i].getNU()!=0;i++) c7[i].show4(); } void Insert(Class c5[],int &count_a) //信息录入函数 { int i,in_number,n=0; if(count_a==M) { cout<<"空间已满!"

32、 return; } cout<<"请输入学生的学号:"<>in_number; for(i=0;i

33、}while(in_number<=0); i=count_a; c5[i].set4(); count_a++; cout<>number; if(number<=0)

34、 cout<<"输入错误,请重新输入大于零的整数!"<

35、t<<"请输入所要查询的学生的姓名:"<>nam; for(i=0;i

36、 cin>>nam; for(i=0;i>m; for(i=0;i

37、dl; if(n==0) cout<<"没有查询到该学生的资料!"<(&b[i]),sizeof(b[i])); } for(i=0;b[i].getNU()!=0;i++) ;

38、 M2=i; Class c9; int n=0,number,flag=1; cout<<"请输入要要进行操作的学生的学号:"<>number; for(i=0;i

39、"没有查询到可以删除的资料!"<

40、endl; cout<<"\t\t\tb.学生成绩录入"<(&b[i]),sizeof(b[i]));

41、 } for(i=0;b[i].getNU()!=0;i++) ; M2=i; cin>>a1; switch(a1) { case ‘a': { cout<<"\t\t\t请继续选择:"<>x; switch(x) { case 1:Search1(b,M2);break; c

42、ase 2:Search2(b,M2);break; default:cout<<"选择错误,请重新选择!"<

43、2); cout<<"保存文件成功!"<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服