作业

不知道老师您是不是要这样的类型:

分为user.h、user.cpp、main.cpp三部分组成:

#ifndef USER_H
#define USER_H
 
#include<iostream>
#include<string.h>
using namespace std;
class user
{
    public:
        void setInfo();
        void printInfo();
        void changePasswd();
        int use();
        int CurrentID(int n);
    private:
        string name="bot";
        string passwd="111111";
        string email="\0";
        int inuse=0;
        int id=999;
        int passinuse=0; 
};
#endif
#include"user.h"
#include<iostream>
#include<string.h> 
using namespace std;
void user::setInfo()
 {
     string x;
     cout<<"请 输入用户名:";
     cin>>name;
     if(passinuse==0){
         cout<<"请 输入密码:";
         cin>>passwd;
     }
     cout<<"请 输入邮箱地址:";
     cin>>email;
     inuse=1;
     cout<<"修 改成功!"<<endl;
 }
 void user::printInfo()
 {
     string A="\0";
     cout<<"用 户ID"<<id<<endl;
    cout<<"用 户名:"<<name<<endl;
    cout<<"密 码:";
    for(int i=1;i<=passwd.length();i++) 
        cout<<"*";
    cout<<endl;
    if(email.compare(A)==0) cout<<"尚 未填写邮箱地址"<<endl;
    else cout<<"邮 箱地址:"<<email;
 }
 void user::changePasswd()
 {
     string t;
     int n=3;
     do
     {
        cout<<"请 输入旧密码,默认密码为111111:";
        cin>>t;
        if(t.compare(passwd)==0) break;
        else{n--;cout<<"请 重新输入,剩余次数为:"<<n<<endl;}    
     }while(n!=0);
     if(n!=0) {cout<<"请 输入新密码:";cin>>passwd;cout<<"修 改成功!"<<endl;}
     else cout<<"请 稍后重试,暂时退出修改密码!"<<endl;
     if(passinuse==0) passinuse=1;
 }
 int user::use(){
     return inuse;
 }
 int user::CurrentID(int N){
     id+=N;
     return id;
 }
#include"user.h"
#include<iostream>
#include<string.h>
#define S cout<<"请 输入指令:";
using namespace std;

user us[100];
void gai(int);
int main(){
    int pan=0,N=-1;
    while(pan==0){
        cout<<"1 为增添新的用户信息,2为调用已有用户信息,3为退出系统:"<<endl;
        int x;
        S
        cin>>x;
        switch(x){
            case 1:{
                N++;
                cout<<"当 前用户ID为:"<<us[N].CurrentID(N)<<endl;
                gai(N);
                break;
            }
            case 2:
                if(N==-1){
                    cout<<"系 统暂无用户!"<<endl;
                    cout<<endl;
                    break; 
                }
                else{
                    cout<<"请 输入用户ID:";
                    int n=0,n1;
                    cin>>n;n1=n-999;
                    if(n1<=N&&n1>=0) gai(n1);
                    else {
                        cout<<"无 该用户信息!"<<endl;
                        cout<<endl;
                    }
                    break;
                }
            case 3:cout<<"谢 谢使用!"<<endl;pan=1;break;
            default:cout<<"无 效的指令,请重新输入!"<<endl;cout<<endl;
        }
    }
    return 0;
}
void gai(int n){
    int x,pan=0;
    while(pan==0){
        cout<<endl;
        cout<<"1 为设置用户信息,2为打印用户信息,3为修改密码,4为退出当前菜单:"<<endl;
        S
        cin>>x;
        switch(x){
        case 1:if(us[n].use()==0){
                    us[n].setInfo();
                    break;
                }
                else{
                    cout<<"请 勿重复设置该用户信息!"<<endl;
                       break;
                   }
           case 2:
            us[n].printInfo();cout<<endl;break;
          case 3:{
                   us[n].changePasswd();
                   break;
               }
        case 4:pan=1;cout<<endl;break;
        default:cout<<"无 效的指令,请重新输入!"<<endl;
       }
}
}

 

结果:

 

上次作业更改过的代码:

#include<iostream>
#include<cmath> 
using namespace std;
class Complex{
    public:
        Complex(double x1=0,double y1=0):x(x1),y(y1){}
        Complex(const Complex &p):x(p.x),y(p.y){}
        void add(Complex &p){
            x+=p.x;y+=p.y;
        }
        void show(){
            cout<<x<<"+"<<y<<"i"<<endl;
        }
        double mod(){
            return sqrt(x*x+y*y);
        }
    private:
        double x,y;
};
int main(){
    Complex c1(3,5);
    Complex c2=4.5;
    Complex c3(c1);
    c1.add(c2);
    c1.show();
    cout<<c1.mod();
}

 

posted @ 2019-04-09 20:37  淳简拉基茨德  阅读(329)  评论(3)    收藏  举报