C++账号注册、登录、修改、注销

User.h

#pragma once
#include <iostream>
#include <string>
#include <map>
#include <fstream>

#define FILENAME "Account.txt"

using namespace std;


class User
{
public:

	ifstream fin;
	ofstream fout;

	User() = default;

	bool checkIfNum(string str);

	void read();

	void save();

	void registration();

	void login();

	void modify();

	void logout();

private:

	static map<string, string> mapUser;

	string m_acc;
	string m_psw;
	
};

User.cpp

#include "User.h"

map<string, string> User::mapUser;

bool User::checkIfNum(string str)
{
	for (auto c: str)
	{
		if (c >= 48 && c <= 57)
			continue;
		else
		{
			cout << "Please enter number" << endl;
			return false;
		}
	}
	return true;
}

void User::read()
{
	fin.open(FILENAME, ios::in);
	
	if (!fin.is_open()) 
	{
		cout << "No accounts" << endl;
		return;
	}

	while (!fin.eof())
	{
		fin >> m_acc >> m_psw;
		mapUser.insert(make_pair(m_acc, m_psw));
	}

	fin.close();
}

void User::save()
{
	fout.open(FILENAME, ios::out);

	for (auto it = mapUser.begin(); it != mapUser.end(); it++) 
		fout << it->first << " " << it->second << endl;

	fout.close();
}

void User::registration()
{
	this->read();

	string pswForCheck;

	while (true)
	{
		cout << "Please enter the account :"
  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值