返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现模拟银行系统
  • 915
分享到

C语言实现模拟银行系统

2024-04-02 19:04:59 915人浏览 泡泡鱼
摘要

本文实例为大家分享了C语言实现银行系统的具体代码,供大家参考,具体内容如下 1.实现要求 生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);实现登

本文实例为大家分享了C语言实现银行系统的具体代码,供大家参考,具体内容如下

1.实现要求

生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);
实现登录功能:用户有三次输入密码的机会,输入正确的密码才能登录,如果输入错误超过了三次 之后密码还是错,则提示账户被冻结,退出程序。
实现查询账户余额功能:查询账户余额并输出。
实现取款功能:提示用户输入相应的金额,并取款。
实现存款功能:提示用户输入存款金额,并存款。
实现修改密码功能:提示用户输入新的密码,密码修改成功后,退出系统,提示重新登录。
实现退出系统功能。

2.示例代码:

//示例代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void menu();
int changePwd();
int drawDeposit() ;
void getDeposit() ;
void judgePwd();
void Print();
long saveDeposit();

long deposit;//存款
int passWord=123456;//密码 
//随机生成一个1000-1000000之间的整数来代表存款
void getDeposit() {
    do {
        deposit=rand()%1000000+1;
    } while(deposit<1000);
}

//打印菜单选择项
void menu() {
    printf("\t  ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
    printf("\t☆※※※※※※※※欢迎使用银行系统※※※※※※※※☆\n");
    printf("\t  ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n");
    printf("银行业务有以下几种:\n");
    printf("按键1:查看账户余额\n");
    printf("按键2:取款\n");
    printf("按键3:存款\n");
    printf("按键4:修改密码\n");
    printf("按键5:退出系统\n");
}

//判断密码是否正确
void judgePwd() {
    int input;
    int count=0;//输入密码的次数,初值为0
    printf("请输入您的密码:");
    scanf("%d",&input);
    count++;//每输入一次密码,次数加一
    //如果密码密码输入错误,就提示重新输入,直到输入正确的密码或者次数用完
    while(input!=password) {
        if(count==3) {//当count=3时,表示输入了3次错误的密码,退出程序
            printf("你的次数已用完,账户已被冻结!\n");
            printf("正在退出系统......\n");
            exit(0);
        }
        printf("密码输入错误,请重新输入:(您还有%d次机会)\n请输入您的密码:",3-count);
        scanf("%d",&input);
        count++;
    }
    printf("密码输入正确,登录成功!\n");
    printf("\n \n");
}
//打印账户余额
void Print() {
    printf("您的账户余额为:%ld\n",deposit);
}
//取款
int drawDeposit() {
    long draw;//取款金额
    do {
        printf("请输入您的取款金额(本机只能提取100元面值的钞票):");
        scanf("%ld",&draw);
        if(draw>deposit) {//如果输入的金额大于余额,提示余额不足
            while(draw>deposit) {
                printf("您的余额不足,请重新输入取款金额:");
                scanf("%ld",&draw);
            }
        }
        if(draw<100||draw%100!=0) {//输入的金额不合法,提示重新输入
            printf("输入的取款金额有误,请重新输入取款金额:\n");
        }
    } while(draw<100||draw%100!=0);
    deposit=deposit-draw;//计算余额(原来的余额-取款金额)
    return draw;
}
//存款
long  saveDeposit() {
    long save;//存款金额
    printf("存款时只接受面值为100的钞票。\n") ;
    printf("请输入您的存款金额:");
    scanf("%ld",&save);
    //存款金额不能为负,且只能存百元钞
    while(save<=0||save%100!=0) {
        printf("存款金额不符合规定,请重新输入存款金额:");
        scanf("%ld",&save);
    }
    deposit=deposit+save;//账户余额=原来的余额+存款金额
    return save;
}
//修改密码
int changePwd() {
    int change_pwd,change;
    char ch;
    printf("您确定要修改密码吗?(Y/y)");
    scanf("%c",&ch);
    ch=getchar();
    if(ch=='y'||ch=='Y') {
        judgePwd(); 
        printf("请输入新的密码:");
        scanf("%d",&change_pwd);
        printf("请确认新的密码:") ;
        scanf("%d",&change);
        if(change_pwd!=change) {
            printf("两次密码输入不一致,即将返回主页面...\n");
//            menu();
            return password;
        } else {
            password=change_pwd; 
            printf("密码修改成功......\n");
            printf("请重新登录:\n");
            judgePwd();
            return change_pwd;
        }
    } else {
        return password;
    }
}
int main() {
    srand((unsigned)time(NULL));//使每次生成的随机金额不同
    getDeposit();//调用函数生成账户余额
    menu();//调用函数,打印菜单
//    int password=123456;//设置初始密码
    judgePwd();//判断输入的密码是否正确
    int ch,statu=0;
    //程序主体:登录之后,只有等到用户自己选择退出时才退出系统, 否则就一直执行下去
    while(1) {
        printf("--------------------------------------------------------------------------------\n\n");
        menu();
        printf("请选择你的业务:\n");
        scanf("%d",&ch);
        //根据用户输入选择执行相应的操作
        switch(ch) {
            case 1:
                Print();
                break;
            case 2:
                printf("取款成功,金额为:%ld\n",drawDeposit());
                break;
            case 3:
                printf("存款成功,金额为:%ld\n",saveDeposit());
                break;
            case 4:
                password=changePwd();
                break;
            case 5:
                statu=-1;
                break;
            default:
                printf("输入有误,请重新输入......\n");
        }
        if(statu==-1) {
            break;
        }
    }
    printf("\n欢迎下次光临,再见\3\3\3\3\3...\n");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言实现模拟银行系统

本文链接: https://lsjlt.com/news/151539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C语言实现模拟银行系统
    本文实例为大家分享了C语言实现银行系统的具体代码,供大家参考,具体内容如下 1.实现要求 生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);实现登...
    99+
    2024-04-02
  • java+mysql模拟实现银行系统
    模拟电子银行,开户,存钱,取钱,查询用户信息,修改用户信息,查询余额,查询明细,注销,退出,等等  基本实现了相关功能。但是规定每次需要重新登录,还是很麻烦的。 另外用户注销时候,没有规定删除operato...
    99+
    2022-05-22
    java mysql 银行系统
  • C语言实现银行管理系统(文件操作)
    本文实例为大家分享了C语言实现银行管理系统的具体代码,供大家参考,具体内容如下 银行管理系统主要有五个模块组成: 1、查询账户信息2、存钱3、取款4、转账5、退出系统 测试文件:(首...
    99+
    2024-04-02
  • C语言如何实现银行ATM存取款系统
    这篇文章给大家分享的是有关C语言如何实现银行ATM存取款系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、课程设计的目的掌握C语言程序设计的基础知识、基本理论、原理和实现技术。二、课程设计的题目银行ATM存取...
    99+
    2023-06-25
  • 银行家算法 C语言实现
    以下是银行家算法在C语言中的实现:```c#include // 资源数量#define M 3// 进程数量#define N 5...
    99+
    2023-09-28
    C语言
  • C语言编程银行ATM存取款系统实现源码
    目录一、课程设计的目的二、课程设计的题目三、设计内容银行ATM存取款系统实现的效果源码业务流程1、用户开户2、登录流程3、密码修改这里使用的运行工具是DEV C++。老铁们一定要看仔...
    99+
    2024-04-02
  • C语言实现自动存取款机模拟系统
    本文实例为大家分享了C语言实现自动存取款机模拟系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string....
    99+
    2024-04-02
  • C语言模拟实现学生学籍管理系统
    学生学籍管理系统的C语言模拟实现是对链表、指针、结构体、文件操作等知识点的综合运用,需要实现的功能主要包含:输入学生信息、显示学生信息、查询学生信息、新增学生信息、删除学生信息、修改...
    99+
    2024-04-02
  • C语言如何实现自动存取款机模拟系统
    这篇文章主要讲解了“C语言如何实现自动存取款机模拟系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现自动存取款机模拟系统”吧!#include<stdio.h>#i...
    99+
    2023-06-30
  • java模拟实现银行ATM机操作
    java模拟银行ATM机操作(基础版),供大家参考,具体内容如下 实现的功能需求: 修改密码之后,就会自动退出登录,再重新登录,若登录成功才能验证修改密码成功,这里用到 【跳出指定循...
    99+
    2024-04-02
  • C语言实现自行车管理系统
    在大家学完C语言后,经常会被学校要求做很多管理系统,主流做法当选链表,但是很多问题就来了,在学习阶段写过最多基本上就是50行代码左右了,一下子做个小型管理系统问题就比较多。小编当然也...
    99+
    2024-04-02
  • C语言简单实现银行ATM存取款功能
    这里使用的运行工具是DEV C++。老铁们一定要看仔细了。是DEV C++ 一、课程设计的目的 掌握C语言程序设计的基础知识、基本理论、原理和实现技术。 二、课程设计的题目 银行...
    99+
    2024-04-02
  • java实现简单银行ATM系统
    本文实例为大家分享了java实现简单银行ATM系统的具体代码,供大家参考,具体内容如下 #ATM系统 ##功能 模拟银行ATM机系统,具有注册、登录功能用户登录后可实现以下功能:1)...
    99+
    2024-04-02
  • Java简单实现银行ATM系统
    本文实例为大家分享了Java实现银行ATM系统的具体代码,供大家参考,具体内容如下 实现步骤: 定义账户类,用于后期创建账户对象封装用户的账户信息。 账户类中的信息至少需要包含(卡号...
    99+
    2024-04-02
  • Java实现基础银行ATM系统
    目录一、前言二、使用步骤三、运行效果图:本文实例为大家分享了Java实现银行ATM系统的具体代码,供大家参考,具体内容如下 一、前言 银行ATM系列简单操作 二、使用步骤 1.创建...
    99+
    2024-04-02
  • java实现银行ATM管理系统
    本文实例为大家分享了java实现银行ATM管理系统的具体代码,供大家参考,具体内容如下 功能 账户类、首页设计 分析 ① 每个用户一个账户对象,需要设计账户类,账户类至少包含(卡号、...
    99+
    2024-04-02
  • C语言实现点菜系统
    本文实例为大家分享了C语言实现点菜系统的具体代码,供大家参考,具体内容如下 一、main.c #include<stdio.h> #include<string.h...
    99+
    2024-04-02
  • C语言模拟实现动态通讯录
    目录1.模拟实现通讯录总体架构一览图2.文件执行任务3.分模块实现 测试模块 test.c头文件 功能函数声明 contact.h功能函数逐一实现1.模拟实现通讯录总体架构...
    99+
    2024-04-02
  • C语言 模拟实现strlen函数详解
    目录前言一.strlen函数的介绍1.strlen函数的声明2.strlen函数的简单运用3.注意事项二.三种实现strlen函数的方法1.计数器的方法2.递归方法3.指针-指针的方...
    99+
    2024-04-02
  • C语言怎么模拟实现strlen函数
    这篇文章主要讲解了“C语言怎么模拟实现strlen函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么模拟实现strlen函数”吧!一.strlen函数的介绍1.strlen函数的声...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作