《C++程序设计》课程设计大纲_第1页
《C++程序设计》课程设计大纲_第2页
《C++程序设计》课程设计大纲_第3页
《C++程序设计》课程设计大纲_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++程序设计》课程设计大纲(C++ProgrammingDesign)课程代码:0600002总学时:一周先修课程:《C语言程序设计》、《数据结构》一、目的与任务《C++程序设计》课程设计是数字媒体技术专业实践性环节之一,是学习完《C++程序设计》课程后进行的一次全面的综合练习。本课程是一门计算机程序设计语言课,是学完程序设计的后续课程。其目的在于加深对面向对象理论和基本知识的理解,掌握使用C++语言进行面向对象设计的基本方法,提高运用面向对象知识解决实际问题的能力。使学生通过学习掌握C++语言的语法规则、面向对象的程序设计方法,对面向对象方法和思想增加感性的认识;学会利用C++语言编写出一些短小、可靠的Windows实用程序,切实提高面向对象的程序设计能力。二、基本内容利用《C++程序设计》课程中所学到的编程知识和编程技巧,设计一个实用的程序,掌握编程、调试的基本技能,独立完成所布置的任务。课程设计的题目可由指导教师根据具体情况来确定,参考题目:.有理数运算问题描述:有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,否则为无理数。在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求:定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。止匕外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。测试数据:在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性实现提示:设有两个有理数a/b和c/d,则有:(1)有理数相加分子=a*d+b*c;分母=b*d(2)有理数相减分子=a*d-b*c;分母=b*d(3)有理数相乘分子=a*c;分母=b*d(4)有理数相除分子=a*d;分母=b*c优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。选做内容:重载插入(«)和提取(»)运算符,使得对有理数可以直接输入输出。设有理数输入格式为:整数1整数2//整数1为分子,整数2为分母有理数输出格式为:分子/分母.银行账户管理程序问题描述:设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。基本要求:程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。测试数据:程序应输入不少于10人的账户信息,应考虑到人员同名的情况。实现提示:可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。选作内容:在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。.模拟计算器程序问题描述:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。基本要求:程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入'='符号后,窗口显示出结果。测试数据:程序输入不少于5种不同的表达式进行测试。实现提示:可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。选作内容:如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。.设id个类CStudent类中包含一个学生的基本数据如下:编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字符。如:1LiPingm18899894请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为“序”来对文件中的各对象数据进行随机读写处理)。并设计该类的成员函数,而且对输出运算符“<<”进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。要求成员函数完成以下功能:(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。(3)按姓名对学生信息进行检索并将检索结果显示在屏幕上。(4)计算某编号学生的总成绩与平均成绩。(5)列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。思考:可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数(如可通过咨询教学办公室管理人员后确立),进而将其编制成为一个简单而实用的小型学籍与成绩管理软件。.求解有理数分式方程内容及要求:设计一个Rational(有理数)类,用来求解有理数分式方程。为它设计两个数据成员,一个作为分子,另一个作为分母。分母不能为0。有理数1/2可以使用这个类的对象r表示为r(l,2)。需要完成如下操作:(1)如果分子和分母有公约数,就应该进行化简;(2)有理数可以进行四则运算,需要重载运算符;(3)重载流运算符,可以直接输入分子和分母,以及作为整体输出,如:cin»r;1/6〃输入cou«r;1/6〃输出解有理数方程a/bx+c/d=e/f,用有理数表示为:rl=a/br2=b/cr3=e/f贝!Jx=(r3-r2)/rl.复数计算器内容及要求:(1)所设计的复数计算器可以进行+-*+=-=*=++->=<===!=运算符,其中>=<二是针对复数的模进行运算。(2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。(3)设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测试,乘法要求为一位数的运算。(4)设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机内,开机时要求用户输入用户名,显示该名户以前的记录。用户记录用包括:做了多少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用心的用户记录代替原有的记录。三、基本要求.对系统进行功能需求分析.设计合理的数据结构和系统框架.编程简练,程序功能齐全,能正确运行.说明书、流程图要清楚.课题完成后必须按要求提交课程设计报告四、学时分配教学内容学时地点备注设计动员,布置任务0.5天教室周一查阅资料,分析、讨论与设计0.5天图书馆、软件实验室周一编写程序,进行调试2天软件实验室周二、三完成模块联调,进行测试1天软件实验室周四成果验收,完成设计报告1天软件实验室周五五、课程设计报告要求学生完成设计任务后,应按要求提交课程设计报告。设计报告除了填写封面内容和正文部分的规定内容外,还包含如下几个方面的内容:.需求分析.概要设计.详细设计.调试分析.用户使用说明.测试结果.参考资料六、成绩考核由指导教师根据学生在设计中的平时表现、任务的完成情况、课程设计报告的质量等综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%o不及格者需重新做课程设计。七、参考书目.《C++程序设计(第3版

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论