基于VC6.0的C程序
#include <stdio.h>
#include <stdlib.h>
#include<String.h>
#include<math.h>
#include<windows.h>
#define M 100
struct info { //定义用户
char user[30]; //账号
char name[10]; //姓名
long pw; //密码
long dsit; //总额
}bank[M];
int display();
void chaxun(); //查询余额
void cunkuan();//存款
void qukuan();//取款
void menu();//主菜单
void login();//登录
void regist();//注册
float N=0;
int user1, user2;
int main()
{
printf("欢迎使用中国工商银行自助服务客户端!\n\n");
system("color f0"); //面板颜色
menu();
return 0;
}
void menu()//主界面
{int choice = -1;
while(1)
{
printf(" 欢迎使用银行存取款系统 \n");
printf("\n ================================ \n");
printf(" 1.登录 \n");
printf(" 2.注册 \n");
printf(" 3.退出 \n");
printf("\n ================================ \n");
printf("\t* 请输入您的选择:");
scanf("%d", &choice);
switch(choice)
{
case 1:
system("cls");
login();
break;
case 2:
system("cls");
regist();
break;
case 3:
exit(0);
break;
default:
printf("输入有误,请重输...\n");
break;
}
}
}
void login() //登录
{
int i,j;
int flag = 0;
char my_act[100];
long password;
int X = -1;
printf("\t\t=================****登录****=================\n\n");
printf("\t\t* 输入账户: ");
scanf("%s", my_act);
printf("\n");
for(i=0; i<3; i++)
{
printf("\t\t* 输入密码: ");
scanf("%ld", &password);
if(password == bank[i].pw)
{
user1 = i;
flag = 1;
printf("\t\t登录成功,正在跳转页面...\n");
_sleep(2000);
system("cls");
while(1)
{
X = display();//成功进入
if(X == 1)
{
system("cls");
display();
}
else
return;
}
}
else
{
printf("\n");
if(i<2)
{ printf("\t\t密码错误,请重新输入...\n");
printf("\n");
_sleep(2000);
}
else
{
printf("\t\t密码错误!超过三次!登录操作失败!正在返回······\n");
_sleep(2000);
system("cls");
menu();
}
}
}
}
void regist() //注册
{
int i,n=0;
printf("\t\t=================****注册****=================\n\n");
printf("\t\t请输入您的姓名....\n");
printf("\t\t");
scanf("%s", bank[n].name);
printf("\t\t请输入您的账户....\n");
printf("\t\t");
scanf("%s", bank[n].user);
printf("\t\t输入您的密码......\n");
printf("\t\t");
scanf("%ld", &bank[n].pw);
for(i=0; i<M && i != n; i++) {
if(strcmp(bank[n].user, bank[i].user) == 0) {
printf("\t\t账户已存在,请重新注册......\n");
n -= 1;
_sleep(2000);
system("cls");
return;
}
}
printf("\t\t注册成功\n");
bank[n].dsit = 0;
n ++;
_sleep(2000);
system("cls");
return;
}
int display()
{
printf(" ********************** 主菜单 ************************");
printf("\n");
printf(" ************** 1.查询余额 **************");
printf("\n");
printf(" ************** 2.存款 **************");
printf("\n");
printf(" ************** 3.取款 **************");
printf("\n");
printf(" ************** 0.退出 **************");
printf("\n\n");
int m;
printf("请输入您的选择:");
scanf("%d",&m);
while(1)
{
switch(m)
{
case 1:
{
chaxun();
display();
}break;
case 2:
{
cunkuan();
display();
}break;
case 3:
{
qukuan();
display();
}break;
case 0:
{
exit(0);
}break;
default:
printf("您的选择有误,请重新输入!\n\n");
_sleep(1000);
display();break;
}
}
}
void chaxun()//查询
{
printf("你当前的账户余额为:%.2f元!\n\n",N);
_sleep(1500);
}
void cunkuan()
{
int m;
printf("请输入存款金额:");
scanf("%d",&m);
printf("存款正在处理中,请稍后....\n");
_sleep(1500);
N += m;
printf("你的存款%d元已经成功存入账户中!\n\n",m);
_sleep(500);
display();
}
void qukuan()//取款
{
printf(" ********************** 取款 *************************");
printf("\n");
printf(" ************** 1.1000 **************");
printf("\n");
printf(" ************** 2.500 **************");
printf("\n");
printf(" ************** 3.200 **************");
printf("\n");
printf(" ************** 4.100 **************");
printf("\n");
printf(" ************** 0.返回上级菜单 **************");
printf("\n\n");
int m;
printf("请选择取款金额:");
scanf("%d",&m);
switch(m)
{
case 1:
{
if(N>=1000)
{
N = N-1000;
printf("请求正在处理中,请稍后...\n");
_sleep(1500);
printf("请查收钞票...\n\n");
_sleep(1500);
}
else
{
printf("你的当期余额不足1000元,请重新选择!\n");
qukuan();
}
}break;
case 2:
{
if(N>=500)
{
N = N-500;
printf("请求正在处理中,请稍后...\n");
_sleep(1500);
printf("请查收钞票...\n\n");
_sleep(1500);
}
else
{
printf("你的当期余额不足500元,请重新选择!\n");
qukuan();
}
}break;
case 3:
{
if(N>=200)
{
N = N-200;
printf("请求正在处理中,请稍后...\n");
_sleep(1500);
printf("请查收钞票...\n\n");
_sleep(1500);
}
else
{
printf("你的当期余额不足200元,请重新选择!\n");
qukuan();
}
}break;
case 4:
{
if(N>=100)
{
N = N-100;
printf("请求正在处理中,请稍后...\n");
_sleep(1500);
printf("请查收钞票...\n\n");
_sleep(1500);
}
else
{
printf("你的当期余额不足100元,请重新选择!\n");
_sleep(1000);
qukuan();
}
}break;
case 0:
{
display();
}break;
default:
printf("您的选择有误,请重新输入!");
_sleep(1000);
qukuan();
break;
}
}
这是一个基础的ATM系统,还有很多地方可以完善,希望大家指点批评