C++第二次上机-作业
来源:互联网 发布:软件成熟度模型richard 编辑:程序博客网 时间:2024/04/29 10:41
一、#include <iostream>using namespace std;class Time{public: void set_time(); void show_time(); void add_a_hours(int); void add_a_minutes(int); void add_a_seconds(int);private: bool is_time(int,int,int); int hour; int minute; int sec;};void Time::set_time(){ char c1,c2; cout<<"请输入时间(格式hh:mm:ss)"; while(1) { cin>>hour>>c1>>minute>>c2>>sec; if(c1!=':'||c2!=':') cout<<"格式不正确,请重新输入"<<endl; else if(!is_time(hour,minute,sec)) cout<<"时间非法,请重新输入"<<endl; else break; }}void Time::show_time(){ cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m,int s){ if (h<0||h>24||m<0||m>60||s<0||s>60) return false; return true;}void Time::add_a_seconds(int s){ int n; sec+=s; if(sec>=60) { n=sec/60; sec%=60; Time::add_a_minutes(n); }}void Time::add_a_minutes(int m){ int n; minute+=m; if(minute>=60) { n=minute/60; minute=minute%60; Time::add_a_hours(n); }}void Time::add_a_hours(int h){ hour+=h; if(hour>=24) { hour%=24; }}int main(){ int tSecond,tMinute,tHour; Time t1; t1.set_time(); t1.show_time(); cout<<"调整时间,输入增加的量ss,mm,hh"<<endl; cin>>tSecond>>tMinute>>tHour; t1.add_a_seconds(tSecond); t1.add_a_minutes(tMinute); t1.add_a_hours(tHour); t1.show_time(); return 0;}二、#include<iostream>#include<string>using namespace std;class Book{public:void setBook(string n,string p,string w,double pri,int num);int borrow();int restore();void printf();void setNo(int a);int getNo();private:string name,publicer,writer;double price;int No,number;};void Book::setBook(string n,string p,string w,double pri,int num){name=n;publicer=p;writer=w;price=pri;number=num;}int Book::borrow(){return(number=number-1);}int Book::restore(){return(number=number+1);}void Book::printf(){cout<<"书名: "<<name<<endl;cout<<"出版社: "<<publicer<<endl;cout<<"作者: "<<writer<<endl;cout<<"价格: "<<price<<endl;cout<<"书号: "<<No<<endl;cout<<"数量: "<<number<<endl;}void Book::setNo(int a){No=a;}int Book::getNo(){return No;}void main(){Book b1;b1.setBook("高数","上海交通大学出版社","刘二根",30,1);b1.setNo(123456);b1.printf();}三、#include <iostream> using namespace std; class CFraction { private: int nume; int deno; public: CFraction(int nu,int de); void set(int nu=0,int de=1); void input(); void simplify(); void amplify(int n);void output(int style=0);};CFraction::CFraction(int nu,int de) {nume=nu;deno=de;}void CFraction::set(int nu,int de){nume=nu;deno=de;}void CFraction::input(){cout<<nume<<"/"<<deno<<"化简后为:";}void CFraction::simplify(){for(int i=2;i<=nume;i++){if(nume%i==0&&deno%i==0){nume/=i;deno/=i;i--;}else cout<<"";}cout<<nume<<"/"<<deno<<endl;}void CFraction::amplify(int n){nume*=n;cout<<"变化和"<<nume<<"/"<<deno<<endl;}void CFraction::output(int style){while(style==1){cout<<nume<<"/"<<deno<<"化简"<<nume<<"/"<<deno<<endl;break;}while(style==2){cout<<nume<<"/"<<deno<<"化简"<<nume/deno<<"("<<nume%deno<<"/"<<deno<<")"<<endl;break;}while(style==3){double n=nume,d=deno;cout<<nume<<"/"<<deno<<"化简"<<n/d<<endl;break;}}void main(){CFraction n(0,0);n.set(6,8);n.input();n.simplify();n.set(2,3);n.amplify(5);n.set(4,3);n.output(1);n.output(2);n.output(3);}四、#include<iostream> using namespace std; class NaturalNumber {private: int n; public: void setValue (int x); int getValue(); bool isPrime(); void printFactor(); bool isPerfect();bool isDaffodil(int x);void printDaffodils();};void NaturalNumber::setValue (int x){if(x>0&&(int)x==x)cout<<x<<"是正整数"<<endl;n=x;}int NaturalNumber::getValue(){return n;}bool NaturalNumber::isPrime(){int a;for(a=2;a<=n;a++){if(n%a==0)break;}if(n==a)return true;elsereturn false;}void NaturalNumber::printFactor(){int a;for(a=1;a<=n;a++){if(n%a==0)cout<<a<<" ";}}bool NaturalNumber::isPerfect(){int a,sum=0;for(a=1;a<n;a++){if(n%a==0)sum=sum+a;}if(sum==n)return true;elsereturn false;}bool NaturalNumber::isDaffodil(int x){if(x==1)return true;else if(x<10)return false;else if(x<100){int a,b;a=x/10;b=x-a*10;if((a*a*a+b*b*b)==x)return true;elsereturn false;}else if(x<1000){int a,b,c;a=x/100;b=(x-a*100)/10;c=x-a*100-b*10;if(x==(a*a*a+b*b*b+c*c*c))return true;elsereturn false;}}void NaturalNumber::printDaffodils(){int x;for(x=2;x<n;x++){if(x<100&&x>10){int a,b;a=x/10;b=x-a*10;if((a*a*a+b*b*b)==x)cout<<x<<" ";}else if(x<1000&&x>100){int a,b,c;a=x/100;b=(x-a*100)/10;c=x-a*100-b*10;if(x==(a*a*a+b*b*b+c*c*c))cout<<x<<" ";}}} void main(void) { NaturalNumber nn; nn.setValue (6); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl; ;nn.setValue (37); cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl; nn.setValue (84); cout<<nn.getValue()<<"的因子有:"; nn.printFactor(); cout<<endl;nn.setValue(888);cout<<nn.getValue()<<"的水仙花数有: ";nn.printDaffodils();cout<<endl;}
0 0
- 第二次c程序设计上机作业
- C语言第二次上机作业
- 第二次上机作业
- 第二次上机作业
- 第二次上机作业
- 第二次C++上机作业
- c++第二次上机作业
- 第二次上机作业
- 第二次上机作业
- C++第二次上机作业
- C++第二次上机-作业
- 第二次上机作业
- C++第二次上机作业
- 第二次上机作业
- 第二次上机作业
- c++第二次上机作业
- 第二次上机作业
- 第二次上机作业
- VS系列控制台闪退解决
- HDOJ 1164 Eddy's research I(拆分成素数因子)
- hdu 2717 Catch That Cow bfs搜索 解题报告
- vagrant使用三种网络配置
- hibernate常用集合映射详解
- C++第二次上机-作业
- Map的赋值和putAll的区别
- 定时器的使用
- hdu 2860 Regroup【并查集+有道】
- 通过XML解析,对pandas的DataFrame.append()的思考及对大文件解析加速的方法
- 第一专题:贪心算法总结
- c#之datagridview格式
- zoj3228AC自动机
- CSS初探