C++ Primer Plus (第6版)编程练习 代码-----第十章
来源:互联网 发布:php如何做面包屑 编辑:程序博客网 时间:2024/06/03 16:17
1.
test.cpp
main.cpp
3.
bank.h#ifndef bank_H_ #define bank_H_ #include"stdafx.h"class bank{ private: char name[40]; char account[20]; double money; public: bank(); bank(const char* nm,const char*ac,double mo); ~bank(); void show(); void input(double mo); void output(double mo);};#endifbank.cpp#include"stdafx.h"#include"bank.h"#include<iostream>bank::bank() { strncpy(name,"no name",39); name[39]='\0'; strncpy(account,"no account",19); account[19]='\0'; money=0.0; } bank::bank(const char* nm,const char*ac,double mo) { strncpy(name,nm,39); name[39]='\0'; strncpy(account,ac,19); account[19]='\0'; money=mo; } bank::~bank() { std::cout<<"Bye"; }void bank::show() {std::cout<<name<<"'s account is : "<<account<<" has "<<money<<std::endl;}void bank::input(double mo){money+=mo;}void bank::output(double mo){ money-=mo;}main.cpp#include "stdafx.h"#include<iostream>#include <string>#include<cctype>#include "bank.h"void main(){{ bank bk("John Smith","JS0001",5000.0); bk.show(); bk.input(1200.0); bk.show(); bk.output(200.0); bk.show();}std::system("pause");}
2.test.h
#ifndef TEST_H_ #define TEST_H_ #include"stdafx.h"#include<string>using namespace std;class Person{ private:static const int LIMIT =25;string lname;char fname[LIMIT]; public: Person(){lname="";fname[0]='\0';}; Person(const string & ln,const char *fn="Heyyou"); void Show() const; void FormalShow() const; ~Person();};#endif
test.cpp
#include"stdafx.h"#include"test.h"#include<iostream>#include<string>Person::Person(const string & ln ,const char *fn) { std::cout<<"\n"; std::cout<<"lname is :"<<ln<<" fname is : "<<fn; lname=ln; int n=strlen(fn); for(int i=0;i<n;i++ )fname[i]=fn[i]; fname[n]='\0'; }Person::~Person() { }void Person::Show() const{ std::cout<<std::endl<<"lname: "<<lname<<" fname: " <<fname<<std::endl;} void Person::FormalShow() const{std::cout<<" fname: " <<fname<<" lname: "<<lname<<std::endl;}
main.cpp
#include "stdafx.h"#include<iostream>#include <string>#include<cctype>#include "test.h"int main(){{ Person one; one.Show();one.FormalShow(); Person two("Smythecraft");two.Show();two.FormalShow(); Person three("Dimwiddy","Sam");three.Show();three.FormalShow(); std::system("pause"); }return 0;}
3.
test.h#ifndef TEST_H_ #define TEST_H_ #include"stdafx.h"#include<string>using namespace std;const int Len=40;class Golf{private: char fullname[Len]; int handicap; public: Golf();~Golf(); void setgolf(const char*name,int hc); int setgolf(); void Handicap(int hc); void showgolf(); };#endiftest.cpp#include"stdafx.h"#include"test.h"#include<iostream>#include<string>using namespace std; Golf::Golf(){}Golf::~Golf(){}void Golf::setgolf(const char*name,int hc) { strcpy(fullname,name); handicap=hc; } int Golf::setgolf() { cout<<"Please enter the name: "; cin.getline(fullname,40); if(strlen(fullname)==0) return 0; else cout<<"Please enter the handicap: "; cin>>handicap; return 1; } void Golf::Handicap(int hc) { handicap=hc; } void Golf::showgolf() { cout<<"the name is : "<<fullname<<endl; cout<<"the handicap is : "<<handicap<<endl<<endl<<endl; } main.cpp#include "stdafx.h"#include<iostream>#include <string>#include<cctype>#include "test.h"using namespace std;int main(){{ Golf ann; ann.setgolf("Ann Birdfree",24); ann.showgolf(); ann.Handicap(26); ann.showgolf(); int i=0; Golf gf[5] ; int test=gf[i].setgolf(); while((test==1)&&(i<4)) { i++; cin.get(); test=gf[i].setgolf(); } for(int j=0;j<=i;j++) { cout<<"the "<<j+1<<" is : "<<endl; gf[j].showgolf(); cout<<endl; } cout<<"Bye!\n"; std::system("pause"); }return 0;}
4.test.h#ifndef TEST_H_ #define TEST_H_ #include"stdafx.h"#include<string>using namespace std;namespace SALES { const int QUARTERS =4; class Sales { private: double sales[QUARTERS]; double average; double max; double min; public : Sales(const double ar[],int n); Sales(); void showSales(); }; } #endiftest.cpp#include"stdafx.h"#include"test.h"#include<iostream>#include<string>using namespace std; namespace SALES { Sales::Sales(const double ar[],int n) { double sum=0;max=ar[0];min=ar[0]; for(int i=0;i<n;i++) { sales[i]=ar[i]; sum=sum+sales[i]; if(sales[i]>max) max=sales[i]; if(sales[i]<min) min =sales[i]; } average=sum/n; /*max=max; min=min; */ } Sales::Sales() { double sum=0; for(int i=0;i<4;i++) { std::cout<<"Plesae enter the number:"; std::cin>>sales[i]; sum=sum+sales[i]; } max=sales[0]; min=sales[0]; for(int i=0;i<4;i++) { if(sales[i]>max) max=sales[i]; if(sales[i]<min) min =sales[i]; } average=sum/4; /* max=max; min=min; */ } void Sales::showSales() { int n =sizeof(sales)/8; std::cout<<"The sales of Sales is :"; for(int i=0;i<n;i++) std::cout<<sales[i]<<" "; std::cout <<std::endl; std::cout<<"The average of Sales is :"<<average<<std::endl; std::cout<<"The max of Sales is :"<<max<<std::endl; std::cout<<"The min of Sales is :"<<min<<std::endl; } } main.cpp#include "test.h"using namespace std;int main(){ using namespace SALES; double st[4]={3.08,2.01,10.234,1.097}; Sales s1(st,3); s1.showSales(); Sales s2; s2.showSales(); system("pause"); return 0; }
5.
<pre name="code" class="cpp">Stack.h#ifndef STACK_H_ #define STACK_H_ struct customer{char fullname[35];double payment;};typedef customer Item;class Stack{private:enum{MAX =10};Item items [MAX];int top;public:Stack();bool isempty() const;bool isfull() const;bool push(const Item &item);bool pop(Item &item);};#endifStack.cppStack::Stack(){ top=0;}bool Stack::isempty()const{return top==0;}bool Stack::isfull()const{return top==MAX;}bool Stack::push(const Item &item){if (top<MAX){ items[top++] =item; return true;}else{ return false;}}bool Stack::pop(Item &item){if (top>0){ item =items[--top]; return true;}elsereturn false;}main.cppusing namespace std;int main(){Stack st;customer cs[10]={{"AA",100},{"BB",200},{"CC",300},{"DD",400},{"EE",500},{"FF",600},{"GG",700},{"HH",800},{"II",900},{"JJ",1000}}; for(int i=0;i<=10;i++) { if(st.isfull()) { cout<<"the stack is full!\n"; }else { st.push(cs[i]); cout<<"push the "<<i<<" customer "<<cs[i].fullname<<"'s payment is "<<cs[i].payment<<endl; } } cout<<"\n\n\n";int total=0; for(int i=0;i<=10;i++) { if(st.isempty()) { cout<<"the stack is empty!\n"; } else { st.pop(cs[i]); total+=cs[i].payment; cout<<"total="<<total<<endl; } } system("pause"); return 0; }
6.
Move.hclass Move{private: double x; double y;public: Move (double a=0,double b=0); void showmove() const; Move add(const Move &m); void reset(double a=0,double b=0);};Move.cppusing namespace std; Move::Move (double a,double b){ x=a; y=b;}void Move:: showmove() const{ cout<<"\nthe current x is :"<<x<<endl; cout<<"the current y is :"<<y<<endl;}Move Move::add(const Move &m){x=x+m.x;y=y+m.y;return *this;}void Move:: reset(double a,double b){ x=a; y=b;}main.cppusing namespace std;int main(){Move mv(1,2);mv.showmove();Move mt(3,4);mt.showmove();mv.add(mt);mv.showmove();mt.showmove();mv.reset();mt.reset();mv.showmove();mt.showmove(); system("pause"); return 0; }
7.test.h#ifndef TEST_H_ #define TEST_H_ class Plorg{private: char name[19]; int ci;public: Plorg(char *ch="Plorg",int c=0); void newplorg(char*ch); void changeplorg(int n); void showplorg()const;};#endiftest.cpp#include"stdafx.h"#include"test.h"#include<iostream>#include<string>using namespace std;Plorg::Plorg(char *ch,int c) { strcpy(name,ch);ci=c; }void Plorg::newplorg(char*ch){cout<<"the new name !\n" ;strcpy(name,ch);ci=50;}void Plorg::changeplorg(int n){cout<<"change the ci !\n" ;ci=n;} void Plorg::showplorg()const { cout<<"the Name is :"<<name<<" the CI is : "<<ci<<endl<<endl; }main.cpp#include "stdafx.h"#include<iostream>#include <string>#include<cctype>#include "test.h"using namespace std;int main(){Plorg pl("Test",10);pl.showplorg();pl.newplorg("ChangeTest");pl.showplorg();pl.changeplorg(20);pl.showplorg(); system("pause"); return 0; }10.8
0 0
- C++ Primer Plus (第6版)编程练习 代码-----第十章
- 《C Primer Plus 第五版》第十章编程练习
- C primer plus(第五版)编程练习第十章
- c++.primer.plus第五版第十章编程练习答案
- C ++ Primer Plus 第六版 第十章编程练习答案
- C primer plus 第十章 练习6:
- c++ primer plus(第6版)中文版 第十章编程练习答案
- C++Primer Plus第6版 4.13编程练习答案
- C.Primer.Plus(第六版)第10章 编程练习
- C.Primer.Plus(第六版)第11章 编程练习
- C.Primer.Plus(第六版)第12章 编程练习
- C.Primer.Plus(第六版)第13章 编程练习
- C.Primer.Plus(第六版)第14章 编程练习
- C.Primer.Plus(第六版)第15章 编程练习
- C.Primer.Plus(第六版)第16章 编程练习
- C.Primer.Plus(第六版)第17章 编程练习
- 《C Primer Plus(第5版)中文版》第6章编程练习第1题
- 《C Primer Plus(第5版)中文版》第6章编程练习第14题
- iptables 备忘
- Spark Streaming+kafka+eclipse编程
- IOS工程自动打包并发布脚本实现
- SQLServer游标(Cursor)简介和使用说明
- iOS中属性与成员变量的区别
- C++ Primer Plus (第6版)编程练习 代码-----第十章
- 一些温习的内容
- 好博客-学习好资源
- [All in one WP Migration plugin] 搬迁wordpress 站点
- 数据分析与处理之二(Leveldb 实现原理)
- fragment、ListFragment使用ListView及自定义Listview等初始化操作
- 第十二周 项目4-点,圆的关系(1)
- VS单步调试的无法进入断点、行号错乱等问题解决方法
- Java获取内存使用信息