挪威森林湖畔的水手 2021-10-29 10:50 采纳率: 75%
浏览 78
已结题

登录注册系统无法完善与运行,求解决.

在以下代码里问题如下:
1.如何将我需要的m2和N调用出来,将它转化成可以全局可以使用的变量。2.如何将登录系统完善。3.如何检测注册途中用户是否注册重复并且注册好可以返回登录界面。

img


 
#include<iostream>
#include<string.h>
#include<conio.h>//getch()函数的头文件
using namespace std;
struct BCZ
{
    char zhanghao[100],mima[100],mima2[100],mima4[100],zhanghao2[100],mima5[100];
    char name[100],ID[100];
    int jifen,RZ;//积分和认证标识 
}BCZ[30];// 形成BCD结构体 
void root1MainMenu(){
    cout << "\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n";
    cout << "\t\t\t\t ┃       1.注    册     2.登    录     0.退    出      ┃\t\n";
    cout << "\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n";
    cout << "\t                                      {提示}:请选择您需要的服务项目:"; 
}
void zhanghu()
{        
}
//思路,全部转移到main函数 
 
void N1N2()
{
    N1N2:
    char mima[100],ch,ch2,mima3[100];
    int i = 0;
    cout<<"请输入您的密码:"; 
            while (1)
            {     
                ch=getch();//无回显的输入
                mima[i++] = ch;
                if (ch=='\r')//getch()函数如果读到回车符号返回'/r'
                {
                    mima[i] = '\0';
                    break;
                }
                    putchar('*');
            }
    int j = 0;
    cout<<"\n请再次输入您的密码:"; 
            while (1)
            {     
                ch2=getch();//无回显的输入
                mima3[j++] = ch2;
                if (ch2=='\r')//getch()函数如果读到回车符号返回'/r'
                {
                    mima3[j] = '\0';
                    break;
                }
                    putchar('*');
            } 
    if(strcmp(mima,mima3)==0)
        {
            char*N;
            N=mima3;
            cout<<N;//测试待删除 
            cout <<endl <<"\t\t\t\t\t\t********恭喜您!注册成功!********\n";
            cout<<"\n\t\t\t\t\t\t\t按1返回用户界面\n" ; 
        }
        else
        {
            cout<<"\n\t\t\t\t\t\t两次密码不一致!请重新输入!\n";goto N1N2;
        }
}
void Xm()
{        
    Xm:    cout<<"请输入您的密码:";
        int m;
        int m1; 
        char*m2; 
        cin>>BCZ[m].mima2;
        cout<<"请再次输入您的密码:";
        cin>>BCZ[m1].mima4;
        if(strcmp(BCZ[m].mima2,BCZ[m1].mima4)==0)
        {
            m2=BCZ[m1].mima4;
            cout<<m2;//测试待删除 
        cout <<endl <<"\t\t\t\t\t\t********恭喜您!注册成功!********\n";
        cout<<"\n\t\t\t\t\t\t\t按1返回用户界面\n" ; 
        }
        else
        {
            cout<<"\n\t\t\t\t\t\t两次密码不一致!请重新输入!\n";goto Xm;
        }
}
 
 
 
void mima()
{
    char mima[100],ch,ch2,mima3[100];
    int i = 0;
    int j = 0;
    cout << "\t\t\t\t\t\t请输入密码的方式:" << endl;
    cout << "\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n";
    cout << "\t\t\t\t ┃           1.隐藏密码            2.显示密码          ┃\t\n";
    cout << "\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n";
    cout << "\t                                      {提示}:请选择您需要的服务项目:"; 
    int M;
    cin>>M; 
    switch(M)
    {
        case 1:
            N1N2();
            break;
        case 2: 
            Xm();
            break;
    }
}
 
 
 
void ycdl()//隐藏密码登录 
{
        char ch3,mima6[100],*lu;
        int l=0;
        cout<<"\n请再次输入您的密码:"; 
            while (1)
            {     
                ch3=getch();//无回显的输入
                mima6[l++] = ch3;
                if (ch3=='\r')//getch()函数如果读到回车符号返回'/r'
                {
                    mima6[l] = '\0';
                    break;
                }
                    putchar('*');
            } 
            lu=mima6;
            cout<<lu;//测试待删除 
}
 
 
/*void denglu()
{
    int d,e,n;
    //cout<<"请输入您的密码:"; 
    //cin>>BCZ[e].mima5;
    char*zhanghao2=BCZ[d].zhanghao2;
    char*mima5=BCZ[e].mima5;
    cout<<"请选择隐藏密码或显示密码登录:\n\t1.隐藏密码2.显示密码";
    cin>>n;
    switch(n)
    {
        case 1:    
        ycdl(); 
        cout<<"\n请输入用户名:\n";
        cin>>BCZ[d].zhanghao2;
        if(strcmp(BCZ[X].zhanghao,BCZ[d].zhanghao2)==0)
        {
            cout:"666";
        }
        case 2:exit(0);
    }
    //if(char*d==char*h&&)
}*/
 
 
 
 
int main()
{        
        
        cout<<"\t\t\t\t\t       《欢迎使用燕双鹰百词斩程序》"<<endl;
Root:    cout<<"\t\t\t\t\t\t请选择您所需要的登录的方式"<<endl;
        cout << "\t\t\t\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n";
        cout << "\t\t\t\t ┃           1.普通用户           2.程序管理员         ┃\t\n";
        cout << "\t\t\t\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n";
        cout << "\t                                      {提示}:请选择您需要的服务项目:"; 
        int  root;
        cout<<"\t\t\t\t\t\t\t\t\t\t\t\t    ";
        cin>>root;
        if(0<=root&&root<=2)
        {
            switch(root)
            {
                case 0:exit(0);
        R1:        case 1:cout<<"\t\t\t\t\t\t    普通用户登录界面"<<endl;//需修正
                root1MainMenu();
                int R1;
                cin>>R1;
                if(0<=R1&&R1<=2)
                {
                    switch(R1)
                    {
                        case 1:cout<<"注册部分补充"<<endl;
                        int X;
                        cout<<"\t\t\t\t\t\t请输入您注册的账户名:"; 
                        cin>>BCZ[X].zhanghao;
                        mima();
                        break;
                        case 2:
                        char*mima5;
                        cout<<"登录部分补充";
                        //denglu(); 
                        int d,e,n;
                        //cout<<"请输入您注册的账户名:";
                        cout<<"\n请输入用户名:\n";
                        cin>>BCZ[d].zhanghao2;
                        //cout<<"请输入您的密码:"
                        cout<<"请输入密码:"; 
                        cin>>BCZ[e].mima5;
                           mima5=BCZ[e].mima5;
                    if(strcmp(BCZ[d].zhanghao2,BCZ[X].zhanghao)==0)
                        {
                            cout<<"用户"; 
                            if(strcmp(mima5,m2)==0||strcmp(mima5,N)==0)
                            {
                                    cout<<"登录成功";    
                            }
                        }
                        
                        
                        
                        
                        /*char*zhanghao2=BCZ[d].zhanghao2;
                        char*mima5=BCZ[e].mima5;
                        /*
                        cout<<"请选择隐藏密码或显示密码登录:\n\t1.隐藏密码2.显示密码";
                        cin>>n;
                        switch(n)
                        {
                            case 1:    
                            ycdl(); 
                            if(strcmp(BCZ[X].zhanghao,BCZ[d].zhanghao2)==0)
                            {
                                cout:"666";
                            }
                            case 2:exit(0);
                        }*/
                        break;
                        case 0:exit(0);     
                    } 
                }
                else
                    cout<<"错误!"<<endl<<"请选择:\n0.结束程序\n1.返回普通用户登录界面\n";
                    int False;
                    cin>>False;
                    switch(False)
                    {
                        case 0:exit(0);
                        case 1:goto R1;
                    }
                        break;             
                case 2:cout<<"程序管理员界面";//需修正          
            }
        }
        else
            cout<<"错误!"<<endl<<"请选择:\n0.结束程序\n1.返回登录方式选择界面\n";
                int False;
                cin>>False;
                switch(False)
                {
                    case 0:exit(0);
                    case 1:goto Root;
                }      
return 0; 
}
 
 

  • 写回答

2条回答 默认 最新

  • 有问必答小助手 2021-11-01 10:23
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 修改了问题 10月29日
  • 修改了问题 10月29日
  • 展开全部