千家信息网

C语言如何实现银行ATM存取款系统

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关C语言如何实现银行ATM存取款系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、课程设计的目的掌握C语言程序设计的基础知识、基本理论、原理和实
千家信息网最后更新 2025年02月01日C语言如何实现银行ATM存取款系统

这篇文章给大家分享的是有关C语言如何实现银行ATM存取款系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、课程设计的目的

掌握C语言程序设计的基础知识、基本理论、原理和实现技术。

二、课程设计的题目

银行ATM存取款系统

三、设计内容

(主要技术关键的分析、解决思路和方案比较等)

银行ATM存取款系统

银行ATM存取款系统业务描述如下:

银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。

为了模拟真实的ATM业务环境,本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。

用户通过开户业务在本系统开立银行账户,之后可以通过该银行账户登陆ATM系统,在系统中实现存款、取款、查询账户信息、修改密码的操作。

本系统各个业务有如下注意点:

(1)登陆系统
用户登陆之前,必须在登陆界面输入其银行账户,通过其正确输入的银行账户登陆系统。
(2)开户业务
要使用本系统必须首先执行开户业务开立新的银行账户,并且将此新开的银行存储于文件当中。同时,系统以身份证号码作为开户的充分条件,即一个身份证号码只能开立一次银行账户。
(3)存款业务
客户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。
(4)取款业务
客户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的银行账户取出,但是取款金额必须大于目前的账户余额。
(5)查询业务
客户登陆系统后,可以选择查询业务,查询账户余额。
(6)转账业务
客户登陆系统后,可以选择转账业务,进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。
(7)修改密码
客户登陆系统后,可以选择修改密码业务,进行密码修改。

实现的效果

源码

#include#include#include#define N 1000 #includestruct chuhu{        char idnum[9];//账户         char name[10];//姓名        char idnumber[20];//省份证号   char password[7];//密码    double cunkuan;//存款 }hu[N]; void date();//显示当前日期int a,a1;//主界面选择变量 void Flag1();//主界面void Flag2();//用户界面 void Flag3();//用户功能选择界面void zhuce();//注册 int yanzheng();//验证存单号或密码 //&&&&&&&&&&&&&&&&&&&&&&&void qukaun();//取款void cunkaun();//存款void display();//查询void zhuan();//转账 void xiugai();//密码修改 void display();//查找 //&&&&&&&&&&&&&&&&&&&&&&&&&& int A,key;//开户人数  int i;//控制密码循环  char ch='y';//是否继续注册  double jin;//存的钱  int t; char id[11],password[7];int main(){system("COLOR 0A"); int b;        Flag1();//引入主界面        do{        printf("\n\n\t\t##请输入你的选择:");        scanf("%d",&a);         switch(a){                case 1:{                        zhuce();//zhuce                        Flag1();                         break;                }                case 2:{                        b=yanzheng();                        fflush(stdin);///好东西,以防跳过数据                        Flag2();                        break;                }                 case 3:exit(0);break;                default:printf("\n\n\n\t\t您输入的数据不符合要求!!!\n\n\n\n\n");                        }        }while(1);}void Flag1(){        printf("\n#################################################################################\n");    printf("\n▓                          * 银行定期储蓄管理系统  *                           ▓\n");    printf("\n#################################################################################\n");        printf("\n          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");        printf("          |◆|******|◆|                                     |◆|******|◆|\n");        printf("          |◆|******|◆|       ☆ 开户业务    请按 1         |◆|******|◆|\n");         printf("          |◆|******|◆|       ☆ 登录系统    请按 2         |◆|******|◆|\n");        printf("          |◆|******|◆|       ☆ 退出        请按 3         |◆|******|◆|\n");        printf("          |◆|******|◆|                                     |◆|******|◆|\n");        printf("          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");        printf("\n#################################################################################\n");      } //********************************************************************************************************************//用户界面 void Flag2(){       int a,b;//选择功能的变量           do{                 printf("\n\n按ENTER键进入、返回主菜单 " ) ;                 fflush(stdin);                 scanf("%c",&ch);                 system("cls");//清屏                   date();     printf("\n#################################################################################\n");    printf("\n▓                               * 欢迎使用  *                                 ▓\n");    printf("\n#################################################################################\n");        printf("\n          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");           printf("          |◆|******|◆|        ☆ 存款业务       请按 1        |◆|******|◆|\n");         printf("          |◆|******|◆|        ☆ 取款业务       请按 2        |◆|******|◆|\n");        printf("          |◆|******|◆|        ☆ 查询业务       请按 3        |◆|******|◆|\n");         printf("          |◆|******|◆|        ☆ 转账业务       请按 4        |◆|******|◆|\n");        printf("          |◆|******|◆|        ☆ 修改密码       请按 5        |◆|******|◆|\n");        printf("          |◆|******|◆|        ☆ 退出系统       请按 6        |◆|******|◆|\n");         printf("          |◆|******|◆|                                        |◆|******|◆|\n");        printf("          ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");    printf("\n#################################################################################\n");    printf("\n▓                          *******************************                    ▓\n");    printf("\n#################################################################################\n");        printf("\n\n\t\t##请输入你的选择:");        fflush(stdin);        scanf("%d",&a);        switch(a){//注册                case 1: { system("cls");fflush(stdin);cunkaun();break;//存款                                     }                 case 2:  {system("cls");fflush(stdin);qukaun();break;//取款                      }                case 3: {display();//查询业务                        break;                }                case 4:{system("cls");fflush(stdin);zhuan();break;//转账                              }                case 5: {system("cls");fflush(stdin);xiugai();break;//密码修改                                }                case 6: exit(0);                default:printf("您输入的选择有误,请输入正确的选项:");                                                                      }         } while(1);} //********************************************************************************************************************//用户功能选择界面 void Flag3(){        printf("\n\n\t\t##请输入你的选择:");        scanf("%d",&a1);        switch(a1){                case 1:printf("存款业务");break;                 case 2:printf("取款业务");break;                 case 3:printf("查询业务");break;                 case 4:printf("转账业务");break;                 case 5:printf("密码修改");break;                case 6:printf("退出");break;          } }//********************************************************************************************************************//开户 void zhuce(){        FILE *nchuhu=fopen("chuh.txt","r");        FILE *fchuhu=fopen("chuh.txt","a");        int i;        if((nchuhu=fopen("chuh.txt","r"))==NULL) printf("文件无,系统创建\n");         do{        system("cls");        date();//显示当前日期         printf("\n\n\t\t请输入新储户的信息:");        fscanf(nchuhu,"%s\t%s\t%s\t%s\t%lf\n",&hu[A].idnum,&hu[A].name,&hu[A].idnumber,&hu[A].password,&hu[A].cunkuan);              printf("\n\n\t\t储户存单:");        fflush(stdin);        gets(hu[A].idnum);        printf("\n\t\t姓名:");        fflush(stdin);        gets(hu[A].name);        printf("\n\t\t储户密码(6位):");        for(i=0;i<6;i++){                fflush(stdin);                hu[A].password[i]=getch();                printf("*");        //      scanf("%d",&hu[A].password[i]);        }          do{                printf("请输入省份证号码(18位):");                fflush(stdin);                gets(hu[A].idnumber);                if(strlen(hu[A].idnumber)!=18)//strlen 代表的意思                printf("\n\t\t输入错误!\n\t\t身份证请输入18位数字或者字母\n");                for(i=0;i

业务流程

1、用户开户

2、登录流程

3、密码修改

感谢各位的阅读!关于"C语言如何实现银行ATM存取款系统"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0