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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++实践报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++实践报告.docx

1、c+实践报告中南大学C+课程设计设计报告题目C+课程设计报告学生姓名学号专业班级数学类1104班指导老师刘新儒数学与统计学院2012年7月题目一、实验目的、内容目的: 1、使学生能够熟练地掌握C+语言的基本规则。2、熟练掌握面向对象的程序设计技巧,如类的实现、创建类的实例、实现类的继承。3、掌握各种面向对象的程序设计技术,如多态性的实现、运算符的重载、使用C+标准库等。4、学会分析错误并改正错误。内容:第一类:42输入某年某月某日,判断这一天是这一年的第几天。47一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。第二类:文件类题目1.统计一源程序语句数、行数

2、、字符数、类及函数的个数。第三类:综合类题目1.有理数运算问题描述有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C+中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符=实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构

3、造函数和有理数输出函数。测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。实现提示设有两个有理数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优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只

4、需判定它们两个的分子和分母分别相等即可。选做内容重载插入()运算符,使得对有理数可以直接输入输出。设有理数输入格式为:整数1 整数2 /整数1为分子,整数2为分母有理数输出格式为:分子/分母二、实验程序设计及结构需求分析:查看已文件中内容句数、行数、类、字符数。实现+、-、*、/对有理数的重载,扩展在实际中的运用。三、设计过程见附件。在C+实践过程中,这些题目涉及了很多我们没有掌握甚至是没有学过的知识,在完成这些题的过程中我使用了最基本的类,循环,选择等结构,也自学并且掌握使用了链表和文件流,总的说来,这次C+实践不仅巩固了我所学的知识,并且锻炼我的自学能力,让我自己能有一个平台去自学并摸索C

5、+的使用,增强了我的分析以及逻辑能力,让我有了自主编写C+程序的能力,让我受益匪浅。四、设计的特点和结果包括实验处理结果和设计心得。指出实验结果运行的操作系统和平台,运行结果。总结:在C+实践过程中,这些题目涉及了很多我们没有掌握甚至是没有学过的知识,在完成这些题的过程中我使用了最基本的类,循环,选择等结构,也自学并且掌握使用了链表和文件流,总的说来,这次C+实践不仅巩固了我所学的知识,并且锻炼我的自学能力,让我自己能有一个平台去自学并摸索C+的使用,增强了我的分析以及逻辑能力,让我有了自主编写C+程序的能力,让我受益匪浅。操作系统和平台: VC2005运行环境运行结果:见附录参考文献1、作者

6、名:刘卫国杨长兴李小兰蔡旭辉书名【C+程序设计实践教程(第二版)】【C+程序设计(第二版)】出版机构:中国水利水电出版社出版时间2012年1月2、作者名:陈志泊王春玲孟伟文献名【面向对象的程序设计语言C+(第二版)】出版机构:人民邮电出版社出版时间:2007年8月附录自己做的主要实验源代码第一类:#includeusing namespace std;void main() cout请输入年月日nyr;if(n%4=0 & n%100!=0 |n%400=0)switch(y-1)case 11:s+=30;case 10:s+=31;case 9:s+=30;case 8:s+=31;cas

7、e 7:s+=31;case 6:s+=30;case 5:s+=31;case 4:s+=30;case 3:s+=31;case 2:s+=29;case 1:s+=31;case 0:s+=r; elseswitch(y-1) case 11:s+=30;case 10:s+=31;case 9:s+=30;case 8:s+=31;case 7:s+=31;case 6:s+=30;case 5:s+=31;case 4:s+=30;case 3:s+=31;case 2:s+=28;case 1:s+=31;case 0:s+=r; coutn y r是一年的第s天endl;设计过程

8、:闰年366天,非闰年365天,分别找出闰年和非闰年。闰年二月有29天,非闰年二月有28天。输入年月日,先确定是否为闰年,再确定月份,最后把前面几个月的天数加起来,再加上当月天数就得出结果。#includeusing namespace std;void main() inti,j,k; cout请输入一个五位数i; j=i/1000;k=i%100; if(i/10000=i%10&j%10=k/10) couti是回文数endl; else couti不是回文数endl;分别求出五位数的万位、个位和千位、十位,如果万位与个位、千位与十位分别相等,则为回文数,否则不为回文数。第二类:输文件路

9、径时注意 号要用引导符;5源代码头文件:stat_file_num.h#ifndef _STAT_FILE_NUM_H_#define _STAT_FILE_NUM_H_/统计一源程序语句数、行数、字符数、类及函数的个数(statistic file number-类的名字是随意编的 )class stat_file_numprivate: intYuju, Hang, Zifu; / 语句数、行数、字符数 int Classes, Funs; / 类及函数的个数 ifstream File; /*-辅助数据成员-*/ int flag, funsjuge, / 括号计数器(用int数,模拟栈

10、) tine, / 计数:函数外尖括号的配对(尖括号内的class不是声明类的关键字,要排除) chuan, / 识别:1 表示当前字符cur是在字符串内;0 cur在字符串外 zf; / 识别:1 表示当前字符cur是在字符内;0 cur在字符外 protected: / 辅助函数 void funsCount(char &cur); void Cross(char &cur);public: stat_file_num(const char *FileName ); stat_file_num(); void stat_num(); void Output();stat_file_num:

11、stat_file_num(const char *FileName )/ 构造函数 File.open(FileName, ios:in); / 连接文件流到文件 if(File.fail() cout打开失败n; exit(1); Classes = Funs = Yuju = Hang = Zifu = 0; / 初始化数据 flag = funsjuge = tine = chuan =zf = 0; / 辅助数据成员初始化stat_file_num:stat_file_num()/析构函数 File.close();void stat_file_num:Output()/ 功能:输出

12、结果 coutn源代码中共有:n; cout- Yuju 条语句n; cout- Hang 行n; cout- Zifu 个字符n; cout- Funs 个函数n; cout- Classes 个类n;void stat_file_num:funsCount(char &cur)/ 功能:统计函数及类的个数 /- if(flag=0 & cur=) / 识别函数体外的尖括号 tine-; if(flag=0 & cur=) tine+; /- if(chuan=0 &zf=0 & cur=) / 识别字符串(识别字符外的“”) chuan=1; / 第一次出现表示字符串开始 else if(

13、chuan=1 &zf=0 & cur=) chuan=0; / 第二次出现表示字符串结束 /- if(zf=0 &chuan=0 & cur=) / 识别字符串(识别字符串外的) zf=1; / 第一次出现表示字符串开始 else if(zf=1 &chuan=0 & cur=) zf=0; / 第二次出现表示字符串结束 /- if(cur=c & flag=0 & tine=0) File.putback(cur); / 把字符放回重新读取. char keyword6; File.read(keyword, 5); / 读取五个字符检测是否为 class keyword5=0; if( strcmp(keyword,class)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1