初夏浅梦i 2020-06-06 17:53 采纳率: 60%
浏览 189
已采纳

请问各位大佬,为什么存不进去数组呀!这是什么情况啊

这是相关头文件

#pragma once
#include<string>
#include<iostream>
#include"User.h"
#include"SafeSystem.h"
using namespace std;

class oneaccount
{
public:
    User accpass[1000];
    string name;
    string password;
    int accountlen;

    void showlogin();                   //注册
    void loginaccount();                //登录
    void showall();                     //展示所有账号和密码

    oneaccount();
    ~oneaccount();
};

这是相关cpp文件

#include"stdafx.h"
#include"account.h"
#include<string>
using namespace std;

oneaccount::oneaccount()
{
    string accountsz[1000] = { "account1","account2","account3" };
    string passwordsz[1000] = { "password1","password2","password3" };


    for (int i=0; i < 1000; i++)
    {
        accpass[i]._name = accountsz[i];
        accpass[i]._password = passwordsz[i];
    }

    for (accountlen = 0; accountlen < 100; accountlen++)
    {
        if (accountsz[accountlen] == "\0")
        {
            break;
        }
    }
}

void oneaccount::showall()                          //展示账号 密码
{
    for (int i = 0; i < 1000; i++)
    {
        if (accpass[i]._name == "\0")
        {
            break;
        }
        accpass[i].showall();
    }
}

void oneaccount::loginaccount()                         //登录
{

    cout << accountlen<<endl;
    showall();

        while (1)
        {
            string name;
            string password;
            cout << "请输入登录ID:" << endl;
            cin >> name;
            cout << "请输入登录密码:" << endl;
            cin >> password;
            for (int i = 0; i < 1000; i++)
            {
                if (accpass[i]._name == name && accpass[i]._password == password)
                {
                    cout << "登陆成功!!" << endl;
                    break;
                }
                else if (accpass[i]._name == name && accpass[i]._password != password)
                {
                    cout << "密码错误!请检查后重新输入!" << endl;
                    break;
                }
                else if (accpass[i]._name != name && accpass[i]._password != password)
                {
                    system("cls");
                    cout << "账号不存在,请注册后在来登录!!" << endl;
                    cout << "已经自动跳转注册页面!!" << endl;
                    SafeSystem login;
                    login.SignLogin();
                    break;
                }
                else
                {
                    continue;
                }
            }
        }


}

void oneaccount::showlogin()                                    //注册
{


    while (1)
    {
        int len = accountlen;
        string cname;
        string cpassword1;
        string cpassword2;
        cout << "请设置您的ID:" << endl;
        cin >> cname;
        cout << "请设置您的密码:" << endl;
        cin >> cpassword1;
        cout << "请再次确认您的密码:"<<endl;
        cin >> cpassword2;
         if (cpassword1 == cpassword2)
        {
             cout << "注册成功!" << endl;
            accpass[len-1]._name = cname;
            accpass[len-1]._password = cpassword1;

            len++;
            break;
        }
         else if (cpassword1 != cpassword2)
         {
             cout << "前后两次输入密码不一致,请重新设置密码:" << endl;
             continue;
         }
        else
        {
            cout << "出现未知错误!!" << endl;
            break;
        }
    }
}

oneaccount::~oneaccount()
{

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-06 23:03
    关注

    字符串的比较用strcmp不是==
    而且不能用
    if (accountsz[accountlen] == "\0")
    判断字符串数组中有多少有效的元素

    采纳率太低,之前的回答采纳了,再详细帮你看。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?