⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 member.cpp

📁 网友用VC6编写的机房管理系统
💻 CPP
字号:
// Member.cpp: implementation of the Member class.
//	
//	作者:    龙震岳
//	班级:    北京交通大学 计算机与信息技术学院 计科0308班
//	首次编译:2004年12月2日
//	
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Member.h"
#include "iostream.h"
#include "fstream.h"
#include "string.h"
#include "stdio.h"


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Member::Member()
{

}

Member::~Member()
{

}
bool Member::CheckInfo(char *IDNumberTemp)
{
	char ch;
	FILE *stream;
	//检查文件是否存在,并做出提示
	if( (stream  = fopen( IDNumberTemp , "r" )) == NULL )
	{
		cout<<"用户信息不存在,是否建立用户信息?(Y/N)";
		cin>>ch;
		if ((ch == 'Y')||(ch == 'y'))
		{
			InsertMemberInfo();
			return 0;
		}
		if ((ch == 'N')||(ch == 'n'))
			return 0;
	}
	
	//关闭文件
	fclose(stream);
	
	//如果文件存在,返回1
	return 1;
}


	
void Member::InsertMemberInfo()
{
	cout<<"+---------------请输入用户信息---------------+"<<endl;
	cout<<"学号:";
	cin>>IDNumber;
	cout<<"姓名:";
	cin>>Name;
	cout<<"身份(0、学生,1、教师):";
	cin>>isTeacher;
	cout<<"金额:";
	cin>>Money;
	cout<<"+--------"<<IDNumber<<"用户信息输入完毕--------+"<<endl<<endl;
	
	ofstream out(IDNumber);
	if (!out)
	{
		cout<<"Insert Error!"<<endl;
		return;
	}
	
	//输出到文件
	out<<IDNumber<<endl;
	out<<Name<<endl;
	out<<isTeacher<<endl;
	out<<Money<<endl;
	out<<"0000:00:00"<<endl;
	out<<'0'<<endl;
	
	out.close();
	return;
}
	
void Member::AddMoney(char *IDNumberTemp)
{
	int value;
	
	//检查用户是否存在
	if (!CheckInfo(IDNumberTemp))
		return;
	
	//读入数据
	ifstream  in(IDNumberTemp);
	if (!in)
	{
		cout<<"Add Money Error!"<<endl;
		return;
	}
	
	//读出用户数据
	in>>IDNumber>>Name>>isTeacher>>Money>>Time>>isLogin;
	in.close();
	
	ofstream out(IDNumberTemp);
	if (!out)
	{
		cout<<"Add Money Error!"<<endl;
		return;
	}
	
	//开始充值
	cout<<"请输入充值金额:";
	cin>>value;
	Money = Money + value;
	
	//写入文件
	out<<IDNumber<<endl;
	out<<Name<<endl;
	out<<isTeacher<<endl;
	out<<Money<<endl;
	out<<Time<<endl;
	
	//成功,打印信息
	out.close();
	cout<<"+--------"<<IDNumber<<"用户充值成功!"<<"--------+"<<endl<<endl;
}

char Member::Logout(char *IDNumberTemp , char *CurrTime)
{
	int TimeTemp1,TimeTemp2,TimeTemp;
	//检查用户是否存在
	if (!CheckInfo(IDNumberTemp))
		return '0';
	//读入用户资料
	ifstream in(IDNumberTemp);
	in>>IDNumber>>Name>>isTeacher>>Money>>Time>>isLogin;
	in.close();

	//判断当前状态是否已经登陆
	if (isLogin == '1')
	{
		//退出登陆
		isLogin = '0';	
		
		//扣去相应的金额
		TimeTemp1 = Time[0]*10+Time[1];
		TimeTemp2 = CurrTime[0]*10 + CurrTime[1];
		TimeTemp = TimeTemp2 - TimeTemp1;
		if (isTeacher == '1')
			Money = Money - TimeTemp*2;
		else
			Money = Money - TimeTemp;

		//写入文件
		ofstream out(IDNumberTemp);
		out<<IDNumber<<endl;
		out<<Name<<endl;
		out<<isTeacher<<endl;
		out<<Money<<endl;
		out<<CurrTime<<endl;
		out<<isLogin<<endl;
		out.close();
		//欢迎信息
		cout<<"谢谢使用,欢迎下次再来!"<<endl<<endl;
		return '1';
	}
	else 
	{
		//如果尚未登陆,则打印信息
		cout<<"您尚未登陆,请先登录。"<<endl<<endl;
		return '0';
	}
}

char Member::Login(char *IDNumberTemp , char *CurrTime)
{
	char ch;
	//检查用户是否存在
	if (!CheckInfo(IDNumberTemp))
		return '0';
	//读入用户资料
	ifstream in(IDNumberTemp);
	in>>IDNumber>>Name>>isTeacher>>Money>>Time>>isLogin;
	in.close();
	//检查余额是否足够
	if (Money <= 0)
	{
		cout<<"您的金额不足,请充值后再上机。"<<endl;
		cout<<"是否现在充值?(Y/N)";
		cin>>ch;
		if ((ch == 'Y')||(ch == 'y'))
		{
			AddMoney(IDNumberTemp);
			return '0';
		}
		if ((ch == 'N')||(ch == 'n'))
			return '0';
	}
	
	ofstream out(IDNumberTemp);
	if (!out)
	{
		cout<<"信息读取错误"<<endl;
		return '0';
	}
	
	//判断当前状态是否已经登陆
	if (isLogin == '0')
	{
		//标记登陆
		isLogin = '1';
	
		//写入文件
		out<<IDNumber<<endl;
		out<<Name<<endl;
		out<<isTeacher<<endl;
		out<<Money<<endl;
		out<<CurrTime<<endl;
		out<<isLogin<<endl;
	
		out.close();
	
		//如果一切正常打印以下信息
		cout<<"欢迎上机,祝您上机愉快!"<<endl<<endl;
		return '1';
	}
	else 
	{
		//如果已经登陆,则打印信息
		cout<<"您已经登陆,上机愉快。"<<endl<<endl;
		return '0';
	}

}

void Member::ShowInfo(char *IDNumberTemp)
{
	//检查用户是否存在
	if (!CheckInfo(IDNumberTemp))
		return;
	
	ifstream in(IDNumberTemp);
	//读入用户资料
	in>>IDNumber>>Name>>isTeacher>>Money>>Time>>isLogin;
	in.close();
	
	cout<<"+---------"<<IDNumberTemp<<"用户信息显示---------+"<<endl;
	cout<<"学号:"<<IDNumber<<endl;
	cout<<"姓名:"<<Name<<endl;
	if (isTeacher == '1')
		cout<<"身份:教师"<<endl;
	else
		cout<<"身份:学生"<<endl;
	cout<<"余额:"<<Money<<endl;
	cout<<"上一次记录时间:"<<Time<<endl;
	if (isLogin == '1')
		cout<<"当前状态:正在上机"<<endl;
	else
		cout<<"当前状态:已经离开"<<endl;
	cout<<"+-------"<<IDNumberTemp<<"用户信息显示完毕-------+"<<endl<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -