[c]代码库
/*一、银行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);
}