欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++实验报告.doc

    • 资源ID:92213878       资源大小:922.01KB        全文页数:27页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++实验报告.doc

    C+实验报告学生姓名: 学 号: 学院名称: 专业班级: 年 月 日实验一:例程验证(一)实验说明:课本5.13例程,输入时间,输入12进制24进制的时间格式。#include <iostream>using namespace std;class Timepublic:Time(int new_hours,int new_mins) hours=new_hours;mins=new_mins; friend void Time12(Time time); friend void Time24(Time time);private:int hours,mins;void Time12(Time time)if(time.hours>12) time.hours-=12;cout<<time.hours<<":"<<time.mins<<"PM"<<endl;elsecout<<time.hours<<":"<<time.mins<<"AM"<<endl;void Time24(Time time)cout<<time.hours<<":"<<time.mins<<endl;void main()Time Time1(20,30),Time2(10,45);Time12(Time1);Time24(Time1);Time12(Time2);Time24(Time2);实验二:例程验证(二)实验说明:课本6.7例程,链表操作,建立Item类作为链表项,建立链表操作的类list,包含生成链表,输出链表,前插入,后插入,删除,求项数等操作。源码:#include <iostream>#include <stdio.h>using namespace std;class List;class itempublic:friend class List;private:item(int d=0)data=d;next=0;item *next;int data;class Listpublic:List()list=0;List(int d)list=new item(d);int print();int insert(int d=0);int append(int d=0);void cat(List &il);void reverse();int length();private:item *end();item *list;int List:print()if(list=0)cout<<"emptyn"return 0;cout<<"("int cnt=0;item *pt=list;while(pt)if(+cnt%40=1&&cnt!=1)cout<<endl;cout<<pt->data<<" "pt=pt->next;cout<<")n"return cnt;int List:insert(int d)item *pt=new item(d);/pt->next=list;list=pt;return d;int List:append(int d)item *pt=new item(d);if(list=0)list=pt;else(end()->next=pt;return d;item *List:end()item *prv,*pt;for(prv=pt=list;pt;prv=pt,pt=pt->next);return prv;void List:cat(List&il)item *pt=il.list;while(pt)append(pt->data);void List:reverse()item *pt,*prv,*tmp;prv=0;pt=list;list=end();while(pt!=list)tmp=pt->next;pt->next=prv;prv=pt;pt=tmp;list->next=prv;int List:length()int cnt=0;item *pt=list;for(;pt;pt=pt->next,cnt+);return cnt;void main()List list1;list1.print();for(int i=10;i<18;i+)list1.insert(i);cout<<"list1:"list1.print();List list2;for(i=15;i<20;i+)list2.append(i);cout<<"list2:"list2.print();cout<<"list length:"<<list1.length()<<endl;list2.cat(list1);cout<<"list2:"list2.print();list2.reverse();cout<<"list2:"list2.print();cout<<"list2 length:"<<list2.length()<<endl;实验三:例程验证(三)实验说明:课本7.5例程,日期和时间的操作,建立三个类,Date,Time,TimeDate,后者是以前面两者为基类的派生类。#include <iostream>using namespace std;#include <string.h>#include <stdio.h>typedef char string8080;class Datepublic:Date()Date(int y,int m,int d)setdate(y,m,d);void setdate(int y,int m, int d)year=y;month=m;day=d;void getstringdate(string80 &Date)sprintf(Date,"%d%d%d",year,month,day);protected :int year,month,day;class Timepublic:Time()Time(int h,int m,int s)settime(h,m,s);void settime(int h,int m,int s)hours=h;mins=m;sec=s;void getstringtime(string80 &Time)sprintf(Time,"%d:%d:%d",hours,mins,sec);protected : int hours,mins,sec;class timedate:public Date,public Timepublic:timedate():Date()timedate(int y,int mo,int d,int h,int mi,int s): Date(y,mo,d),Time(h,mi,s)void getstringdt(string80 &DTstr)printf(DTstr,"%d%d%d;%d:%d:%d",year,month,day,hours,mins,sec);void main()timedate date1,date2(1998,8,12,12,45,10);string80 demostr;date1.setdate(1998,8,7);date1.settime(10,30,45);date1.getstringdt(demostr);cout<<"the date1 and time is"<<demostr<<endl;date1.getstringdate(demostr);cout<<"the date1 time is"<<demostr<<endl;date2.getstringdt(demostr);cout<<"the date2 date and time is"<<demostr<<endl;实验四:例程验证(四)实验说明:设计一个形状基类,内含面积函数,派生出矩形、三角形、圆形、正方形等类。#include <iostream>using namespace std;class shapepublic :virtual double area() const =0;class sjx:public shapepublic:sjx(double h1,double w1) h=h1;w=w1; double area() const return w*h/2;private:double h,w;class jx:public shapepublic:jx(double h1,double w1)h=h1;w=w1;double area() const return h*w;private:double h,w;class yuan:public shapepublic:yuan(double r1)r=r1;double area() const return r*r*3.1415;private:double r;class tx:public shapepublic:tx(double top,double bom,double high)t=top;b=bom;h=high;double area() const return (t+b)/2*h;private :double t,b,h;class zfx:public shapepublic:zfx(double b1)a=b1;double area() const return a*a;private:double a;class apppublic:double compute(shape *s,int n) const;double app:compute(shape *s,int n)constdouble sum=0;for(int i=0;i<n;i+)sum+=si->area();return sum;class mypro:public apppublic:mypro();mypro();double run();private :shape *s;mypro:mypro()s=new shape*5;s0=new sjx(3.0,4.0);s1=new jx(6.0,8.0);s2=new yuan(6.5);s3=new tx(10.0,8.0,5.0);s4=new zfx(6.7);mypro:mypro()for(int i=0;i<5;i+)delete si;delete s;double mypro:run()double sum=compute(s,5);return sum;void main()cout<<"Area's sum="<<mypro().run()<<endl;实验五:例程验证(五)实验说明:课本例程,A含虚函数,是B的基类,调用析构函数时显示。#include <iostream>using namespace std;class Apublic:virtual A()cout <<"A:A() called.n"class B:public Apublic :B(int i)buf=new chari;virtual B()delete buf;cout<<"B:B() called.n"private:char *buf;void fun(A *a)delete a;void main()A *a=new B(15);fun(a);实验六:九宫格游戏设计实验说明:设计一个九宫格游戏程序,随机输出1-8以及空格组成的九宫格,按WASD键移动空格,当移至1-8从小到大的顺序排列时游戏成功。设计源码:#include <iostream>#include <stdlib.h>#include <time.h>#include <windows.h>#include <stdio.h>using namespace std;class jggpublic:jgg();int data44;void move(char key);int right();int scanx();int scany();void print();int x,y,bs;int jgg:right()int a,b,c;a=0;for(b=1;b<=3;b+)for(c=1;c<=3;c+)if(databc!=a)return 0;a+;return 1;void jgg:move(char key) int a;if(key='W'|key='w')if(x>1) a=dataxy; dataxy=datax-1y; datax-1y=a;if(key='S'|key='s')if(x<3) a=dataxy; dataxy=datax+1y; datax+1y=a;if(key='D'|key='d')if(y<3) a=dataxy; dataxy=dataxy+1; dataxy+1=a;if(key='A'|key='a')if(y>1) a=dataxy; dataxy=dataxy-1; dataxy-1=a;void jgg:print()int i,j;for(i=1;i<=3;i+)for(j=1;j<=3;j+) if(dataij!=0) cout<<' '<<dataij; else cout<<" " cout<<endl; jgg:jgg() int arr10; int sy=9,i,j,n; int a,b,c;bs=0; for(i=0;i<=9;i+) arri=i;for(a=1;a<=3;a+)for(b=1;b<=3;b+) srand(unsigned)time(NULL); c=rand()%(sy); dataab=arrc; arrc=arrsy-1; sy-; int jgg:scanx() for(int i=1;i<=3;i+) for(int j=1;j<=3;j+) if(dataij=0) return i; int jgg:scany() for(int i=1;i<=3;i+) for(int j=1;j<=3;j+) if(dataij=0) return j;void main()jgg A;A.print();char k;while(!A.right()A.x=A.scanx();A.y=A.scany(); k=getchar(); system("cls"); A.move(k); A.print(); A.bs+;cout<<A.bs<<endl;实验七:扑克发牌程序的设计实验说明:设计一个模拟斗地主游戏的发牌程序,将54牌随机发给三位玩家,每位玩家手牌数为17张,留有三张底牌。(大王用%表示,小王用$表示)#include <iostream>#include <time.h>#include <iomanip>#include <stdlib.h>#include <stdio.h>#include <conio.h>using namespace std;char huase(int n)if(n=0) return '3' if(n=1) return '3'if(13>=n)&&(n>=0) return '3'if(26>=n)&&(n>=14)return '4'if(39>=n)&&(n>=27)return '5'if(52>=n)&&(n>=40)return '6' if(n=53|n=54) return ' 'class pkpublic: int total54; int player417; int syps; pk(); void print();void pk:print()int i,j;for(i=1;i<=3;i+)cout<<"player"<<i+1<<':' for(j=1;j<=17;j+) if(playerij=53) cout<<" $" if(playerij=54) cout<<" %" elseif(playerij%13=0)&&(playerij!=53) cout<<' '<<huase(playerij)<<"K" if(playerij%13=12)&&(playerij!=53)cout<<' '<<huase(playerij)<<"Q" if(playerij%13=11)&&(playerij!=53)cout<<' '<<huase(playerij)<<"J" if(playerij%13<=10)&&(playerij%13>0)&&(playerij!=53) cout<<' '<<huase(playerij)<<playerij%13; cout<<endl;for(i=1;i<=3;i+) if (totali=53)cout<<" $ "if(totali=54) cout<<" % " else if(totali%13=13) cout<<' '<<huase(totali)<<"K" if(totali%13=12)cout<<' '<<huase(totali)<<"Q" if(totali%13=11)cout<<' '<<huase(totali)<<"J" else cout<<' '<<huase(totali)<<totali%13;cout<<endl;system("pause");pk:pk()syps=54; int sjs,i,j;system("cls"); for(i=1;i<=54;i+) totali=i; for(i=1;i<=3;i+) for(j=1;j<=17;j+) srand(unsigned)time(NULL); sjs=rand()%(syps); playerij=totalsjs; totalsjs=totalsyps; syps-; ;void main()char m;pk a;a.print();m=getchar();while(m)pk a;a.print();实验八:堆栈设计实验说明:设计一个堆栈程序,实现功能有压栈,弹栈,栈满,栈空,栈元素计数。随机函数输入数据。设计源码:#include <iostream>#include <stdlib.h>#include <time.h>using namespace std;typedef int dataType;#define maxSize 100class stackpublic:stack();/stack();void push(dataType var); /压栈void pop();/出栈,什么都不返回dataType stackTop();/返回栈顶数据,栈顶不变化bool isEmpty();/空则返回true,否则返回falsebool isFull();/满则返回true,否则返回falseprivate:dataType smaxSize; int top; ;stack:stack()top = -1;void stack:push(dataType var)s+top = var; void stack:pop()-top; dataType stack:stackTop()return stop; bool stack:isEmpty()return top = -1; bool stack:isFull()return top = maxSize-1; /int main()stack exp;int n;srand(unsigned)time(NULL);if(!exp.isFull()for(int i=0;i<=10;i+)n=rand()%10;cout<<"第"<<i<<"个元素是:"<<n<<endl;exp.push(n);if(!exp.isEmpty()cout<<"栈顶数据是: "<<exp.stackTop()<<endl;exp.pop();if(exp.isEmpty()cout<<"栈为空!"<<endl;return 0;综合设计:学生信息管理系统实验说明:设计一个班级信息管理系统,界面友好。实现功能有录入学生信息,插入,修改,查询,排名,查看全部等,输出文件保存信息。设计源码:/* 学生成绩管理系统*/#include <iostream>#include <fstream>#include <stdlib.h>#include <string.h>#include <stdio.h>using namespace std;class Stupublic: friend void Input(Stu stud) ; friend void Statistic(Stu stud); friend void Lookup(Stu stud) ; friend void Modify(Stu stud) ; friend void Delete(Stu stud) ; friend void Output(Stu stud) ; friend void Sort(Stu stud) ; friend void Insert(Stu stud) ; friend void Write(Stu stud,int n); friend int Read(Stu stud);private: char class_020; int num; char name8; float math; float c_program; float media; float english; float diantuo; float sport; float polity; float average; int order;stud100;void Write(Stu stud,int n)fstream myFile; myFile.open("student.dat",ios:out|ios:binary); if(!myFile) cout<<"student.dat can't open!"<<endl; abort(); int count=n; myFile<<count<<endl<<endl; for(int i=0;i<=count;i+) myFile<<studi.class_0<<" "<<studi.num<<" "<<studi.name<<" "<<studi.math<<" "<<studi.c_program<<" "<<studi.media<<" "<<studi.english<<" "<<studi.diantuo<<" "<<studi.sport<<" "<<studi.polity<<" "<<studi.average<<endl; myFile.close();int Read(Stu stud) fstream myFile; myFile.open("student.dat",ios:in|ios:binary); if(!myFile) cout<<"student.dat can't open!"<<endl; abort(); int count; myFile.seekg(0); myFile>>count; for(int i=0;i<=count;i+)myFile>>studi.class_0>>studi.num>>studi.name>>studi.math>>studi.c_program>>studi.media>>studi.english>>studi.diantuo>>studi.sport>>studi.polity>>studi.average; myFile.close(); return count ;void Input(Stu stud) system("cls"); int i=0; int flag; char sign; cout<<endl<<"=>> 请输入学生成绩 <<="<<endl; while(sign!='n'&&sign!='N') cout<<" 班级:" cin>>studi.class_0;loop: cout<<" 学号:" cin>>studi.num; int c=0; while(c<i) c+; if(studi.num=studi-c.num) cout<<" 你输入的学号已经存在!请重新输入。"<<endl; goto loop; cout<<" 姓名: " cin>>studi.name; do flag=0; cout<<" 高等数学:" cin>>studi.math; if(studi.math>100 |studi.math<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" C+程序设计成绩:" cin>>studi.c_program; if(studi.c_program>100 |studi.c_program<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" 实验:" cin>>studi.media; if(studi.media>100 |studi.media<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" 大学英语成绩:" cin>>studi.english; if(studi.english>100 |studi.english<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" 大学物理成绩:" cin>>studi.diantuo; if(studi.diantuo>100 |studi.diantuo<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" 大学体育成绩:" cin>>studi.sport; if(studi.sport>100 |studi.sport<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0); do flag=0; cout<<" 思修:" cin>>studi.polity; if(studi.polity>100 |studi.polity<1) cout<<"对不起,请输入1-100之间的数字!n" else flag=1; while(flag=0);studi.average=(studi.math+studi.c_program+studi.media+studi.english+studi.diantuo+studi.sport+studi.polity)

    注意事项

    本文(C++实验报告.doc)为本站会员(蓝****)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开