问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用c语言编写ATM系统

发布网友 发布时间:2022-04-23 09:46

我来回答

4个回答

热心网友 时间:2023-10-10 00:30

真正的ATM系统不可能只是用C语言编写的,它应该是一套完整独立的系统,核心代码更机密,不会轻易的泄露。

C语言可以写一个类似于ATM系统的框架,用以模拟ATM机上的各种操作。

框架代码如下:

    #include<iostream.h>  
    #include<stdio.h>  
       
    int main()   
    {  
        int choice =- 1;   
          
        while(1) {  
            printf("请选择\n1.login\t2.regist\n");  
                scanf("%d", &choice);  
            switch(choice) {  
                case 1:  
                     login();  
                     break;  
                case 2:  
                     regist();  
                     break;  
                default:  
                     printf("输入有误,重新输入\n");  
                     break;  
            }  
        }  
        return 0;
    }  
      
    void login() {  
        printf("IN LOGIN\n");  
        int flag = -1;  
        int X = -1;  
        printf("输入账户和密码\n");  
        flag = search();  
        if(falg == 1) {  
            printf("存在,进入主页面\n");  
            X = menu();  
            if(X == 1)  
                 return;  
        }  
        else if(flag == 0) {  
            printf("账户或密码错误\n");  
            return;       
        }  
    }  
      
    int regist() {  
        printf("IN REGIST\n");  
        return 1;  
    }  
      
    int menu() {  
        printf("IN MENU\n");  
        int key = -1;  
        int N = -1;  
        while(1) {  
            printf("请选择业务:1.refer\t2.deposit\t3.withdraw\t4.transfer\t5.resetPW\t6.退出\n");  
                scanf("%d", &key);  
            switch(key) {  
                case 1:  
                    N = refer();  
                    break;  
                case 2:  
                    N = deposit();  
                    break;  
                case 3:  
                    N = withdraw();  
                    break;  
                case 4:  
                    N = transfer();  
                    break;  
                case 5:  
                    N = resetPW();  
                    break;  
                case 6:  
                    N = 6;  
                    return 1;  
                    break;  
                default:  
                    printf("输入有误,重新选择:\n");   
                    break;  
            }  
            if(N%2 == 0) {  
                printf("Error!\n");  
            }   
        }  
    }  
      
    int refer() {  
        printf("IN REFER\n");  
        //输出余额   
        return 1;  
    }  
      
    int deposit() {  
        printf("IN DEPOSIT\n");  
        //存钱   
        return 3;  
    }  
      
    int withdraw() {  
        printf("IN WITHDRAW\n");  
        //取钱   
        return 5;  
    }  
      
    int transfer() {  
        ptintf("IN TRANSFER\n");  
        //转账   
        return 7;  
    }  
      
    int resetPW() {  
        prtintf("IN RESETPW\n");  
        //重设密码   
        return 9;  
    }

热心网友 时间:2023-10-10 00:30

#include<stdio.h>
#include<string.h>
void print_welcome();
int main()
{
print_welcome();
char c[11]="1234567890",d[7]="123456";
char a[20],b[20];
char p,q;
int h=0,i=0,j=0,k,l=0;
do
{
printf("请输入账号:\n");
gets(a);
printf("请输入密码:\n");
gets(b);
if(strcmp(c,a)==0&&strcmp(d,b)==0)
{
printf("账号正确 欢迎使用\n");
h++;
}
else
printf("账号或密码错误请重新输入\n");
}while(h!=1);
do
{
print_welcome();
retrn:
printf("请选择对应的字母\n");
printf(" a存款业务 \n");
printf(" b余额查询\n");
printf(" c资金转账\n");
printf(" d取款业务\n");
printf(" e退卡\n");
printf("请选择您要办理的业务\n");
scanf("%c",&p);
getchar();
switch(p)
{
case'a':printf(" 存款业务\n");
printf("**本服务暂停 请重新选择**\n");
break;
case'b':
printf(" 余额查询\n");
printf("**您的余额为 ¥9999999\n请重新选择**\n");
break;
case'c':
printf(" 资金转账\n");
printf("**您的银行卡不支持该业务 请重新选择**\n");
break;
case'd':
printf(" 取款业务\n");
do
{
printf("请选择您要取款的金额\n**请输入序号\n**请您注意每位用户每天只能去20000 每次最多取2500\n");
printf(" r 100\n");
printf(" s 200\n");
printf(" t 500\n");
printf(" u 1000\n");
printf(" v 2000\n");
printf(" w 其他\n");
printf(" x 返回\n");
printf("请选择要取的金额\n");
scanf("%c",&q);
getchar();
switch(q)
{
case'r':printf("**取款成功 金额为100元**");goto retrn;break;
case's':printf("**取款成功 金额为200元**");goto retrn;break;
case't':printf("**取款成功 金额为500元**");goto retrn;break;
case'u':printf("**取款成功 金额为1000元**");goto retrn;break;
case'v':printf("**取款成功 金额为2000元**");goto retrn;break;
case'w':printf("**请输入你想取出的金额**\n**并保证是100的倍数\n");
while(l!=1)
{
scanf("%d",&k);
getchar();
if(k%100==0&&k>=0&&k<=2500)
{
printf("您取出的金额%d元\n",k);
l++;
goto retrn;
}
else
{
printf("您输入的面额有误请重新输入\n");
printf("请您保证为100的倍数\n");
}
}
break;
case'x':goto retrn;break;
default:printf("**操作有误请从新输入**");
j++;
}
}while(j!=1);
break;
case'e':
printf("**欢迎您的使用 请勿忘取卡**\n");
i++;
break;
default:printf("**操作有误请从新输入**\n");
}
}while(i!=1);
print_welcome();
return 0;
}
void print_welcome()
{
printf(" **欢迎使用**\n");
}

热心网友 时间:2023-10-10 00:32

////////////////////////////////////////////////
根据下面的框加,完成ATM选择菜单循环
do{
一级菜单
请选择
switch(一级选择)
case 2:
do{
二级菜单
请选择
switch(二级){
}
}while(!='f' && !='F');
break;
}while(退出一级)

1.开户---->1......完成...
2.服务---->
3.退卡
请选择1-3:

2服务子菜单

A查询--->...... 暂停
B取款--->......
C存款
D转帐
E修改密码
F返回
请选择...A-F

-------------------------------------------------
typedef struct{
int cid;
char name[32];
char pwd[32];
int money;

};

根据以上要求,结合文件操作:

写一个函数,从 id.dat中读到最后一个客户的id号,为新帐户自加编卡号.如果第一次注册,id.dat文件不存在,则卡号初始值为 1001,以后就自动增加。

写一个函数,把注册帐号的信息存放在 XXXX.dat文件中,XXXX以卡号命名。

每注册一个新用户,重写 id.dat文件, 存放最近一个客户的 id号;

写一个密码输入函数,进行注册时,用户输入密码

实现查询,取款,存款,转帐和修改密码的功能

热心网友 时间:2023-10-10 00:32

难度系数比较小
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 手机的水滴屏到底是什么? 水滴屏的手机 华为水滴屏手机,1000以上,2500以下,我王者吃鸡都玩,喜欢拍照,推荐一下,谢谢! 给我推荐一些有水滴屏的手机。 水滴屏手机哪个好 颜值高不薄不厚? 黄油嘴堵住了怎么办? 水滴屏手机有哪款推荐? 新铲车有三个黄油嘴打得进去,但是很费力,特别特别难打怎么办? 苹果手机有没有水滴屏 挖掘机打不进黄油请教高手。。。 货车方向盘的几个球头打不进黄油怎么办 挖掘机大臂根打不进黄油咋办,帮帮忙! 装载机销子黄油打不进去了,怎么办? 黄油管堵了怎么疏通 6.53英寸水滴屏手机有哪些? 挖机行走油缸打不进黄油什么原因,请大神指点 铲车黄油打不进去妙招 涨紧油缸打不进黄油是怎么回事 车黄油放时间长了黄油嘴打不进去了怎办 挖掘机油缸链接部位黄油打不进去怎么办 excel百分比在哪 c语言程序设计ATM机 有的人每天都吃姜泡醋,天天吃的话会对身体造成哪些影响? 求C语言程序设计(银行ATM取款机) 百分数在日常生活中有哪些应用?(举例说明) c语言编程,帮忙编一个ATM取款机的程序,200分 吃醋泡姜有什么好处和坏处 用C语言编写ATM系统代码的修改 姜对人体好吗?天天吃醋泡的姜会会对身体造成什么影响? 用c语言编写ATM的程序,实现开户、存款、取款、查询余额、转账的业务逻辑。 【C语言】编写ATM机程序 吃醋姜对身体有好处还是坏处? 在计算机里百分比打在数字前还是后? 用C语言写一个类似于ATM机的程序,有开户(姓名,密码),存款,取款,查询余额,转账的功能, 醋泡生姜的危害是什么? 用c语言编写ATM自动取款机 不要c++的 天天吃泡醋姜,对身体有什么影响? 苹果百分比在哪设置 C语言编程,模拟银行的ATM机 百分数与分数在意义上的相同点和不同点