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