C++程序设计经典300例2of3.docx
- 文档编号:12991958
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:139
- 大小:42.19KB
C++程序设计经典300例2of3.docx
《C++程序设计经典300例2of3.docx》由会员分享,可在线阅读,更多相关《C++程序设计经典300例2of3.docx(139页珍藏版)》请在冰点文库上搜索。
C++程序设计经典300例2of3
1.*****************************************
//类的多态实现
#include
usingnamespacestd;
classsalary
{
public:
salary(){}
~salary(){}
virtualvoidpay(){}
private:
};
classmember1:
publicsalary
{
public:
member1(doublea){_total=a;}
~member1(){}
voidpay()
{
cout<<"每月给员工1的薪水为:
"<<_total<<"元"< } private: double_total; }; classmember2: publicsalary { public: member2(doublea){_total=a;} ~member2(){} voidpay() { cout<<"每月给员工2的薪水为: "<<_total<<"元"< } private: double_total; }; voidmain() { member1m1(4000.0); member2m2(10000.0); salary*sa1=&m1; salary*sa2=&m2; sa1->pay(); sa2->pay(); } 2********************************************* //实例113动物对象进化(继承) #include usingnamespacestd; classanimal_ancestor { public: animal_ancestor(){} ~animal_ancestor(){} voidrespire()//呼吸 { cout<<"可以呼吸"< } }; classape: publicanimal_ancestor { public: ape(){} ~ape(){} voidmove()//行走 { cout<<"可以行走"< } }; classhuman: publicape { public: human(){} ~human(){} voidmiss() { cout<<"可以想念某人"< } }; voidmain() { human_human; cout<<"人类"; _human.respire(); _human.move(); _human.miss(); } 3.************************************************ //实例112求圆的面积和周长 #include usingnamespacestd; #definePi3.14159265 classcircle { public: doublearea(doublex) { returnPi*x*x; } doublecircumfer(doubley) { return2*Pi*y; } public: doubleradius; }; voidmain() { circle_circle; cout<<"请输入圆的半径: "; cin>>_circle.radius; cout<<"圆的面积为: "<<_circle.area(_circle.radius)< cout<<"圆的周长为: "<<_circle.circumfer(_circle.radius)< } 4-********************************************** /实例111乡村生产总值(同类对象数据统计(ABC对象相加)) #include usingnamespacestd; classCun_product { public: Cun_product(){veget_result=0;fruit_result=0;grain_result=0;} Cun_product(doublex,doubley,doublez) { veget_result=x; fruit_result=y; grain_result=z; } ~Cun_product(){} friendCun_productoperator+(Cun_productcun1,Cun_productcun2);//重载友元运算符函数 voidoutput() { cout< } private: doubleveget_result; doublefruit_result; doublegrain_result; }; Cun_productoperator+(Cun_productcun1,Cun_productcun2) { Cun_productadd; add.veget_result=cun1.veget_result+cun2.veget_result; add.fruit_result=cun1.fruit_result+cun2.fruit_result; add.grain_result=cun1.grain_result+cun2.grain_result; returnadd; } voidmain() { Cun_productcun_A(1.2,3,4),cun_B(2.3,5,1),cun_C(1.4,3,2),cun; cun=cun_A+cun_B+cun_C; cout<<"ABC村总共的蔬菜、水果和稻谷产量分别为: "; cun.output(); } 5***************************************************** //实例110产量统计(计算A村各类农作物的产量) #include usingnamespacestd; classCun_A { public: Cun_A(doublex,doubley,doublez) { acer_veget=x; acer_fruit=y; acer_grain=z; } ~Cun_A(){} voidSetPerProduct(doublea,doubleb,doublec) { output_per_acerV=a; output_per_acerF=b; output_per_acerG=c; } voidveget() { doubleresult=acer_veget*output_per_acerV; cout<<"A村蔬菜的产量为: "< } voidfruit() { doubleresult=acer_fruit*output_per_acerF; cout<<"A村水果的产量为: "< } voidgrain() { doubleresult=acer_grain*output_per_acerG; cout<<"A村稻谷的产量为: "< } private: doubleacer_veget;//蔬菜作物的占地 doubleoutput_per_acerV;//每亩地产蔬菜多少 doubleacer_fruit;//水果作物的占地 doubleoutput_per_acerF;//每亩地产水果多少 doubleacer_grain;//稻谷作物的占地 doubleoutput_per_acerG;//每亩地产稻谷多少 }; voidmain() { Cun_AA(1.2,2,3); A.SetPerProduct(500,400,700); A.veget(); A.fruit(); A.grain(); } 6.***************************************************** #include usingnamespacestd; voidcal_num(double*a,int*b,intnumber) { for(inti=0;i { if(a[i]<60)//不及格 b[0]++; elseif(a[i]>=60&&a[i]<70) b[1]++; elseif(a[i]>=70&&a[i]<80) b[2]++; elseif(a[i]>=80&&a[i]<90) b[3]++; else//优秀 b[4]++; } } voidmain() { doublemath_score[35];//班级有35个学生 intnum[5]={0};//5个等级的人数 cout<<"请输入35个学生的成绩: "< for(inti=0;i<35;i++) cin>>math_score[i]; cal_num(math_score,num,35); cout<<"<60分的人数: "< cout<<"介于60~70分的人数: "< cout<<"介于70~80分的人数: "< cout<<"介于80~90分的人数: "< cout<<">90分的人数: "< } 7******************************************************** #include usingnamespacestd; structticket { chartrain_number[5];//车次 chartrain_name[50];//从哪儿到哪儿 intyingwo_num;//硬卧票数 floatyingwo_cash;//硬卧钱 intyingzuo_num;//硬座票数 floatyingzuo_cash;//硬座钱 }; ticketTicket[5];//数据库目前只存5条项目 voidinit() { strcpy(Ticket[0].train_number,"T56"); strcpy(Ticket[0].train_name,"西安-北京西"); Ticket[0].yingwo_num=100; Ticket[0].yingwo_cash=263.5; Ticket[0].yingzuo_num=200; Ticket[0].yingzuo_cash=148.5; strcpy(Ticket[1].train_number,"K126"); strcpy(Ticket[1].train_name,"西安-天津"); Ticket[1].yingwo_num=60; Ticket[1].yingwo_cash=289.5; Ticket[1].yingzuo_num=100; Ticket[1].yingzuo_cash=163.5; strcpy(Ticket[2].train_number,"T166"); strcpy(Ticket[2].train_name,"西安-上海"); Ticket[2].yingwo_num=150; Ticket[2].yingwo_cash=321.5; Ticket[2].yingzuo_num=240; Ticket[2].yingzuo_cash=180.5; strcpy(Ticket[3].train_number,"T266"); strcpy(Ticket[3].train_name,"西安-广州"); Ticket[3].yingwo_num=50; Ticket[3].yingwo_cash=414; Ticket[3].yingzuo_num=40; Ticket[3].yingzuo_cash=236; strcpy(Ticket[4].train_number,"T114"); strcpy(Ticket[4].train_name,"西安-南京"); Ticket[4].yingwo_num=10; Ticket[4].yingwo_cash=270.5; Ticket[4].yingzuo_num=20; Ticket[4].yingzuo_cash=152.5; } voidquery() { charcheci[5]; boolflag=true; boolwhether=false;//是否有 while(flag==true) { cout<<"请输入要查询的车次: "; cin>>checi; for(inti=0;i<5;i++) { if(strcmp(Ticket[i].train_number,checi)==0) { whether=true; cout< cout<<""< cout<<""< i=5; } else whether=false; } if(whether==true)//有 {} else {cout<<"该车次在系统中没有相应信息,请检查后输入"< cout<<"是否继续查询? 0-否,1-是"; intx; cin>>x; if(x==0) { flag=false; cout<<"退出查询系统"< } elseif(x==1) {} } } intmain() { cout<<"------------------------火车票当日售卖查询系统---------------------"< cout<<"现存火车票信息只有从西安发的列车,"; cout<<"目的地只有北京西、上海、天津、广州和南京。 "< cout<<"请前往上述5个目的地的旅客进行查询"< cout<<"车次-------始地-目的地-------硬卧剩票"; cout<<"------硬卧价钱------硬座剩票------硬座价钱"< init();//初始化信息 query();//查询 return0; } 8********************************************************** #include usingnamespacestd; voidfun1() {cout<<"功能1实现"< voidfun2() {cout<<"功能2实现"< voidfun3() {cout<<"功能3实现"< voidfunction(inta) { switch(a) { case1: fun1(); break; case2: fun2(); break; case3: fun3(); break; default: break; } } voidmain() { intchoice; cout<<"本实例实现最基本的互动式程序,"<<"\n"; cout<<"可实现的功能有3种: 1-功能1,2-功能2,3-功能3,\n"; boolflag=true; while(flag==true) { cout<<"请输入功能编号: "< cin>>choice; function(choice); cout<<"是否继续? 0-是,1-否"; intx; cin>>x; if(x==0) {} elseif(x==1) { flag=false; cout<<"退出成功"< } } } 9************************************************************* #include usingnamespacestd; intmain(intargc,char**argv) { for(inti=0;i cout<<"Argument"< if(argc==5) cout<<"一共有4个命令需要106.exe执行"< else cout<<"不是4个命令"< return0; } 10-****************************************************** #include usingnamespacestd; intmain(intargc,char**argv) { for(inti=0;i cout<<"Argument"< return0; } 11*************************************************************** #include #include #include usingnamespacestd; voidgenerate_lower() { charlower; intlower_index; lower_index=1+(int)(26.0*rand()/(RAND_MAX+1.0)); lower=char(lower_index+96); cout< } voidgenerate_upper() { charupper; intupper_index; upper_index=1+(int)(26.0*rand()/(RAND_MAX+1.0)); upper=char(64+upper_index); cout< } voidgenerate_number() { intnumber; number=0+(int)(9.0*rand()/(RAND_MAX+0.0)); cout< } intmain() { srand((int)time(0)); intnum; intupper; intlower; intnumber; while (1) { cout<<"请输入验证码的位数: "; cin>>num; cout<<"在这"< cin>>upper>>lower>>number; while(upper) { generate_upper(); upper--; } while(lower) { generate_lower(); lower--; } while(number) { generate_number(); number--; } cout< "< cout<<"1.是2.否"< inty; cin>>y; cout< if(y==1) {} if(y==2) { cout<<"退出系统"< break; } } return0; } 12**************************************************************** #include usingnamespacestd; doublejiecheng(intn) { if(n==0)//0的阶乘 return1; else returnn*jiecheng(n-1); } intmain() { intm=100; cout< return0; } 13****************************************************** #include usingnamespacestd; voidadd() { cout<<"2+3="<<2+3< } voidsubstract() { cout<<"2-3="<<2-3< } intadd1() { cout<<"2+3="<<2+3< return0; } intsub1() { cout<<"2-3="<<2-3< return0; } voidmain() { atexit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 经典 300 of3