实验2
//1.编写重载函数add(),实现对int型,double型,Complex型数据的加法。在main()函数中定义不同类型 数据,调用测试 #include <iostream> using namespace std; struct Complex { double real; double imaginary; };//struct 是结构体 int add(int ,int ); double add(double ,double ); Complex add(Complex ,Complex ); int main(){ int a,b; cin>>a>>b; cout<<add(a,b)<<endl; double m,n; cin>>m>>n; cout<<add(m,n)<<endl; Complex x,y,k; cin>>x.real>>x.imaginary>>y.real>>y.imaginary; k=add(x,y); cout<<k.real<<"+"<<k.imaginary<<endl; //定义不同类型数据,调用add(),输出结果,测试//补足程序 } int add(int a,int b) {return a+b;} double add(double m,double n) {return m+n;} Complex add(Complex x,Complex y) {Complex k; k.real=x.real+y.real; k.imaginary=x.imaginary+y.imaginary; return k;}

#include <iostream> using namespace std; template<class T> void quick_sort(T a[],int low,int high) { int i=low; int j=high; int t=a[i]; if(i<j) {while(i<j) { while(i<j&&a[j]>=t) j--; if(i<j) {a[i]=a[j]; i++; } while(i<j&&t>a[i]) i++; if(i<j) {a[j]=a[i]; j--;} } a[i]=t; quick_sort(a,low,i-1); quick_sort(a,i+1,high); } } int main() { int i; int m[5]={06,67,45,77,34}; cout<<"m[5]={06,67,45,77,34}"<<endl; quick_sort(m,0,4); cout<<"由小到大排序为:"; for(i=0;i<5;i++) cout<<m[i]<<" "; return 0; }
//3对密码的长度、合法性进行有效性校验,等等。。。(附程序框架及预期运行结果截图,见本文档附3) #include <iostream> #include <string> using namespace std; class User { public: void setInfo(string name0,string passwd0="111111",string email20=" "); void changePasswd(); void printInfo(); private: string name; string passwd; string email; void SetInfo(string name0,string passwd0,string email0){ name=name0; passwd=passwd0; email=email0; } void changepasswd(){ string passwd1,passwdn; int n=1; cout<<"enter the old passwd:"; cin>>passwd1; while(n<=3) { if(User::passwd==passwd1) { cout<<"enter the new passwd:"; cin>>passwdn; break; } else if(n<3&&(User::passwd!=passwd1)) { cout<<"请重新输入密码"<<endl; cin>>passwd1; n++; } else if(n==3&&(User::passwd!=passwd1)) {cout<<"清稍后重新再试"<<endl; break;} } } void PrintInfo(){ cout<<"name:\t\t"<<name<<endl; cout<<"passwd:\t\t"<<"******"<<endl; cout<<"email:\t\t"<<email<<endl; } int main() { cout << "testing 1......" << endl << endl; User user1; user1.setInfo("Leonard"); user1.printInfo(); user1.changePasswd(); user1.printInfo(); cout << endl << "testing 2......" << endl << endl; User user2; user2.setInfo("Jonny", "92197", "xyz@hotmail.com"); user2.printInfo(); system("pause"); return 0; } };

小结:
我不知道第三题错误的地方在哪里,希望各位看了后能够告诉我我的错误的地方。
ps:
#include<iostream> #include<string> using namespace std; class User{ public: User(string yourname,string yourpasswd,string youremail); User(){ name=" "; passwd="111111"; email=" ";} void setInfo(string yourname=" ",string yourpasswd="111111",string youremail=" "); void changePasswd(); void printInfo(); private: string name; string passwd; string email; }; void User::setInfo(string yourname,string yourpasswd,string youremail) { name=yourname;passwd=yourpasswd;email=youremail;} void User::changePasswd(){ string a,b; int i; cout<<"请输入密码:"; cin>>a; if(a!=passwd) {for(i=0;i<2;i++) {cout<<"请再次输入密码:"; cin>>a; if(a==passwd) break;} cout<<"请稍后再试"<<endl;} if(a==passwd) {cin>>a;cout<<"请再输入一次:";cin>>b; if(a==b) passwd=a; else cout<<"密码错误"; }} void User::printInfo(){ cout<<"Name:"<<name<<endl; cout<<"Passwd:"<<"******"<<endl; cout<<"Email"<<email<<endl;} int main() {cout<<"testing 1......"<<endl; User user1; user1.setInfo("Leonard"); user1.printInfo(); user1.changePasswd(); user1.printInfo(); cout<<endl<<"testing 2......"<<endl<<endl; User user2; user2.setInfo("tonny","232322","xxx@126tmail.com"); user2.printInfo(); return 0;}


浙公网安备 33010602011771号