实验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;}

posted @ 2019-03-27 13:51  音音最腻害!  阅读(195)  评论(4)    收藏  举报