C语言实训:ATM机存取款机管理系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("\t\t\t 请输入您的密码:"); scanf("%d",&password); fp = fopen("clients.txt","r+"); for(i=0;i<N;i++) {
fscanf(fp,"%d %d %s %f",&yonghu[i].card_number, &yonghu[i].card_password,yonghu[i].name, &yonghu[i].money);
while(h==1) { printf("请输入存款金额:\n"); scanf("%f",&saved_money); if(saved_money>0) {
break; } else { printf("输入有误!!\n"); printf("重新输入请按 1,返回请按 0\n"); scanf("%d",&h); if(h==1) {
printf(">"); for(j=0;j<3000;j++)
for(k=0;k<3000;k++); } printf("\n\n"); printf("\t\t\t 欢迎使用中国银行\n"); printf("\n\n"); for(i=0;i<80;i++) {
printf(">");
for(j=0;j<3000;j++) for(k=0;k<3000;k++);
break; } } } if(h==0) break; }
while(saved_money>0) {
m += saved_money; printf("操作成功!卡内余额为: %f\n",m); yonghu[k].money = m; save(); printf("继续请按 1,取卡请按 0\n"); scanf("%d",&b); if(b==0) {
void fuction(float m,int k)//功能界面 {
float saved_money,fetched_money,payment; int bank_num,x,old_password,new_password,b,h; while(1) { system("cls");
printf("\n\t\t 请选择操作:");
i=-1;
}
else
{
printf("您的磁卡已被冻结请到银行解除:\n");
exit(0);
}
times1--;
}
else
{
if(number==yonghu[i].card_number)
{
if(password==yonghu[i].card_password)
{ system("cls");
{
//查询余额
case 1:
printf("卡内金额: %f\n",m);
printf("返回请按 1,取卡请按 0\n");
scanf("%d",&b);
wenku.baidu.com
for(h=1;;h++)
{
if(b!=1&&b!=0)
{ system("cls");
printf("输入有误请重新输入!\n");
printf("返回请按 1,取卡请按 0\n");
if((times1-1)!=0)
{
printf("\t\t\t 该用户不存在!您还有%d 次尝试机会\n",times1-1);
printf("\t\t\t 请重新输入您的银行卡号:");
scanf("%d",&number);
printf("\t\t\t 请输入您的密码:");
scanf("%d",&password);
printf("\n\n");
printf("\t\t\t%s 登陆成功!请继续您的操作\n",yonghu[i].name);
j=i;
i=5;
/*登陆成功,退出循环*/
}
else {
if((times2-1)!=0) {
printf("密码输入错误!您还有%d 次尝试机会\n",times2-1); printf("\t\t\t 请输入您的密码:\n"); scanf("%d",&password); i=-1; } else { printf("尝试失败!请按任意键退出:\n"); exit(0); } times2--; } } } }
} fclose(fp); /*判断卡号及密码是否匹配*/ for(i=0;i<N;i++) {
if((number!=yonghu[0].card_number)&&(number!=yonghu[1].card_number)&&(number!=y
onghu[2].card_number))
{
printf("\n"); printf("\t\t\t 银行卡号"); scanf("%d",&yonghu[i].card_number); printf("\t\t\t 密码"); scanf("%d",&yonghu[i].card_password); printf("\t\t\t 用户名"); scanf("%s",yonghu[i].name); printf("\t\t\t 卡内金额"); scanf("%f",&yonghu[i].money); printf("\n"); fprintf(fp,"%d %d %s %f",yonghu[i].card_number, yonghu[i].card_password,yonghu[i].name, yonghu[i].money); putc('\n',fp); printf("\t\t 你想继续添加新卡吗?(y/n):"); ch=getch(); } } } fclose(fp); /*登录系统,输入卡号和密码*/ system("cls"); printf("\n\t\t\t||====================================||"); printf("\n\t\t\t||------------------------------------||"); printf("\n\t\t\t||--- 欢迎使用中国银行自助 ATM 机 ---||"); printf("\n\t\t\t||------------------------------------||"); printf("\n\t\t\t||====================================||"); printf("\n\n"); printf("\t\t\t 请输入您的银行卡号:"); scanf("%d",&number);
fuction(yonghu[j].money,j); } void save(void)//文件文本保存 {
int i; fp = fopen("clients.txt","w"); for(i=0;i<N;i++) {
fprintf(fp,"%d %d %s %f",yonghu[i].card_number, yonghu[i].card_password,yonghu[i].name, yonghu[i].money); putc('\n',fp); } puts("保存成功!"); fclose(fp); }
printf("\n\t\t ||===================================||");
printf("\n\t\t || 1. 查询
2.取款 ||");
printf("\n\t\t ||
||");
printf("\n\t\t || 3.存款
4.修改密码||");
printf("\n\t\t ||
while((fetched_money<0)||(m<0))
{
system("cls");
printf("输入有误!请重新输入!\n");
m += fetched_money; printf("输入 1 重新输入,输入 0 返回!\n"); scanf("%d",&h); if(h==0) break; if(h==1) { printf("请输入取款金额:\n"); scanf("%f",&fetched_money); m -= fetched_money; if(fetched_money>0) break; else { printf("输入 1 重新输入,输入 0 返回!\n"); scanf("%d",&h); } } } while(fetched_money>0) { printf("操作成功!卡内余额为: %f\n",m); yonghu[k].money = m; save(); printf("请输入 1 继续,0 取卡\n"); scanf("%d",&b); if(b==0) { exit(0); } else break; } break; //存款 case 3: printf("卡内金额: %f\n",m); printf("请输入存款金额:\n"); scanf("%f",&saved_money); while(saved_money<0) { system("cls"); printf("输入有误!!\n"); printf("重新输入请按 1,返回请按 0\n"); scanf("%d",&h); getchar();
scanf("%d",&b);
}
if(b==1)
{
break;
}
else
exit(0);
}
break;
//取款
case 2:
printf("卡内金额: %f\n",m);
printf("请输入取款金额:\n");
scanf("%f",&fetched_money);
m -= fetched_money;
||");
printf("\n\t\t || 5.转帐
6.取卡 ||");
printf("\n\t\t ||===================================||");
printf("\n\n");
/******功能实现*********/
scanf("%d",&x);
switch(x)
} printf("\n"); printf("\n"); /*管理员操作新建用户*/ printf("\n\t\t 管理员操作请按 1,普通用户登入请按 2 继续:"); scanf("%d",&b); if(b==1) { printf("\n\t\t 管理员操作中,添加新卡请继续(y/n):"); ch=getch(); while(ch=='y'||ch=='Y') {
exit(0); break; } else break; } break; //改密码 case 4: while(1)
{
printf("继续请按 1,返回请按 0\n"); scanf("%d",&h); if(h==1) { printf("请输入原密码:\n"); scanf("%d",&old_password); if(old_password==yonghu[k].card_password) {
long int card_number,card_password; char name[20]; float money; }yonghu[N];//结构体
FILE *fp; int i; void fuction(float,int);//定义变量
main()//主函数 {
system("color 8F");//界面颜色 int j,number,password,times1=3,times2=3,b; char ch; fp = fopen("clients.txt","a+");//读写文本 if(getw(fp)==EOF) { /*欢迎界面进度条*/ int i=0,j=0,k=0; for(i=0;i<80;i++) {
/***********************************************/
/*
实训案例:ATM 存取款机管理系统
*/
/***********************************************/
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <ctype.h> #define N 3 /*用户人数*/ struct clients {