/*一、银行ATM系统的开发 |
功能包括: |
1、用户注册 |
2、用户登录 |
1)存款 |
2)取款 |
3)查询 |
4)转账 |
5)修改密码 |
6)注销 |
7)退出 |
3、退出系统*/ |
#include"stdafx.h" |
#include"stdio.h" |
#include"stdlib.h" |
#include"conio.h" |
#include"windows.h" |
#include"string.h" |
struct user |
{ |
int number; |
float balance=0.00; |
char password[20]; |
}; |
user u[1000]; |
FILE *fp; |
void welcome(); |
void regist(); |
//主程序 |
void main() |
{ |
int xz; |
fflush (stdin); |
printf ( "\n\t\t欢迎进入ATM操作界面,系统正在进入,请稍后。\n" ); |
Sleep(500); |
system ( "cls" ); |
printf ( "\t\t\t啦啦啦!我是一个快乐的ATM机\t\t\t\n" ); |
printf ( "\n" ); |
printf ( "1、新用户注册入口\t\t\t\t\t2、老用户登录入口\n" ); |
printf ( " \t\t\t\t 0、退出系统\n" ); |
printf ( "\n" ); |
printf ( "\n" ); |
printf ( "请选择您要进行的操作:" ); |
scanf_s( "%d" , &xz); |
if (xz == 1) |
{ |
regist(); |
_getch(); |
system ( "cls" ); |
fflush (stdin); |
main(); |
} |
else if (xz == 2) |
{ |
printf ( "正在完善!" ); |
} |
else if (xz == 0) |
{ |
system ( "cls" ); |
printf ( "\t\t\t感谢您的使用,下次再见 ^ , ^ " ); |
Sleep(2000); |
system ( "cls" ); |
exit (0); |
} |
} |
//注册函数 |
void regist() |
{ |
fflush (stdin); |
system ( "cls" ); |
fopen_s(&fp, "用户信息.dat" , "ab+" ); |
if (fp == NULL) |
{ |
printf ( "打开失败\n" ); |
return ; |
} |
int i,k; |
char ch, pass[20],check[20]; |
printf ( "\n\t\t\t正在转入新用户注册界面。\n" ); |
Sleep(500); |
system ( "cls" ); |
printf ( "提示:\n" ); |
printf ( "注册信息请务必牢记,\n" ); |
printf ( "由于您泄露账号信息造成的损失与本软件无关 - -!\n" ); |
printf ( "\n\n" ); |
for (k = 0; k < 200; k++) |
{ |
fscanf_s(fp, "%3d " , &(u[k].number)); |
fscanf_s(fp, "%s " , &(u[k].password)); |
fscanf_s(fp, "%.2f\n" , &(u[k].balance)); |
} |
while (1) |
{ |
fflush (stdin); |
printf ( "请输入密码:" ); |
i = 0; |
fflush (stdin); |
ch = _getch(); |
while (ch != 13) |
{ |
if (ch == 8) |
{ |
i--; |
printf ( "\b " ); |
printf ( "\b" ); |
} |
else if ((ch <= 'Z' &&ch >= 'A' ) || (ch <= 'z' &&ch >= 'a' ) || (ch <= '9' &&ch >= '0' )) |
{ |
printf ( "*" ); |
pass[i] = ch; |
i++; |
} |
ch = _getch(); |
} |
printf ( "\n请再次输入密码:" ); |
i = 0; |
fflush (stdin); |
ch = _getch(); |
while (ch != 13) |
{ |
if (ch == 8) |
{ |
i--; |
printf ( "\b " ); |
printf ( "\b" ); |
} |
else if ((ch <= 'Z' &&ch >= 'A' ) || (ch <= 'z' &&ch >= 'a' ) || (ch <= '9' &&ch >= '0' )) |
{ |
printf ( "*" ); |
check[i] = ch; |
i++; |
} |
ch = _getch(); |
} |
if ( ! strcmp (pass,check)) |
{ |
printf ( "\n" ); |
break ; |
} |
else |
{ |
printf ( "\n对不起,密码输入错误!请重新操作。\n" ); |
} |
} |
system ( "cls" ); |
for (k=0; k < 1000; k++) |
{ |
if (u[k].number == 0) |
{ |
u[k].number = u[k - 1].number + 1; |
fprintf (fp, "%3d " , u[k].number); |
fprintf (fp, "%s " , pass); |
fprintf (fp, "%.2f\n" , 0.00); |
break ; |
} |
} |
printf ( "\n注册成功,请您核对并牢记您的信息!\n" ); |
printf ( "\n\n您的银行卡号码为:\t%3d\n" , u[k].number); |
printf ( "\n\n\n\n按任意键回到主界面。" ); |
//2014年5月8日12:30:07 |
fclose (fp); |
} |