概述
主要功能模块:
一、 登录界面
从左到右依次为:前十一位数代表账户号,接下来的六位数代表账户密码,带小数点的代表账户余额,接下来的1代表账户正常(3代表账户已经挂失),后面的1代表是管理员的账户,如果为2代表是普通用户账号。
二、普通用户
有六项功能
三、管理员
也是有六项功能
该自动取款具备管理员和普通用户两个界面,代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
using namespace std;
/*flagI标记当前登录账户,flagN标记当前转账的账户*/
int flagI, flagN;
int userID = 0;
int UserNumber = 0;
struct User //这里面变量的位置不要动
{
char name[50]; //账号
double money; //金额
int flag; //账号能否正常使用, 1表示能,2表示冻结,3表示挂失,,等等,你自己可以随便定义;
int d; //账户类型
char key[50]; //密码
} user[10000];
void ChuCun() //更新用户信息
{
FILE* fp;
if ((fp = fopen("user.txt", "w")) != NULL)
{
for(int i=1; i<=UserNumber; i++)
{
fwrite(&user[i], sizeof(struct User), 1, fp);
}
fclose(fp);
}
else printf("用户信息更新失败");
}
void TiQu() //提取用户信息
{
UserNumber = 0;
FILE* fp;
if ((fp = fopen("user.txt", "r")) != NULL)
{
while (!feof(fp))
{
fread(&user[++UserNumber], sizeof(struct User), 1, fp);
}
fclose(fp);
}
else printf("用户信息加载失败");
UserNumber--; //
}
void drawmoney()//功能1:取款业务
{
int a, i;
char c;
while (1)
{
printf("t请输入您的取款金额(整百):");
scanf("%d", &a);
if (a > user[userID].money)
printf("t账户余额不足,请重新输入!n");
else if (a < 0 || a % 100 != 0)
printf("t输入有误,请重新输入!n");
else
break;
}
getchar();
user[userID].money -= a;
printf("t取款成功,请收好您的钞票!n");
printf("t是否打印凭条? y/n ");
scanf("%c", &c);
getchar();
if (c == 'Y' || c == 'y')
{
printf("t正在打印请稍后。。。。。ntt");
for (i = 0; i < 10; i++)
{
printf("■");
Sleep(200);
}
printf("n");
ChuCun();
printf("t打印完成,请收好您的凭条n");
printf("t请按Enter键退出n");
getchar();
}
else
{
printf("t请按Enter键退出n");
getchar();
}
}
void savemoney()//功能2:存款业务
{
int a, i;
char c;
while (1)
{
printf("t请输入您的存款金额(整百):");
scanf("%d", &a);
if (a < 0 || a % 100 != 0)
printf("t输入有误,请重新输入!n");
else
break;
}
getchar();
user[userID].money += a;
printf("t存款成功n");
printf("t是否打印凭条? y/n ");
scanf("%c", &c);
getchar();
if (c == 'Y' || c == 'y')
{
printf("t正在打印请稍侯。。。。。ntt");
for (i = 0; i < 10; i++)
{
printf("■");
Sleep(200);
}
printf("n");
ChuCun();
printf("t打印完成,请收好您的凭条n");
printf("t请按Enter键退出n");
getchar();
}
else
{
printf("t请按Enter键退出n");
getchar();
}
}
void showmoney()//功能3:查询余额
{
printf("t用户名 :%sn", user[userID].name);
printf("t账户余额:%.2lfn", user[userID].money);
printf("t请按Enter键返回n");
getchar();
}
char* get_password()//星号密码获取函数;
{
int i = 0;
char a[50];
char ch = '