C语言-简单的银行系统

#include <stdio.h>

#include <stdbool.h>

#include <stdlib.h>

#include <unistd.h>

/***********银行系统*******

    简单实现银行的:  查看余额、存钱、取钱



     查看Bank.txt 是否已经创建,没有就创建并设置初始余额为: 50(可自行修改)

     1.查看余额

     2.存钱

     3.取钱

    -1:退出

*/

#define initMoney 50

void initBank(); // 初始化,创建一个 Bank.txt 用于存储余额

void See();      // 查看余额    打印Money()的返回值

int Money();     // 返回余额

void Save();     // 存钱

void ability();  // 功能实现



void main()

{

    initBank();

    printf("\n\n\n\t\t\t\tWelcome to the Bank system!\n");

    printf("\n\n\t\t\t\tplease input:\n\t\t\t\t\t'1' : Check your balance\n\t\t\t\t\t'2' : save Money\n\t\t\t\t\t'3' : Withdraw Money");

    ability();

}

// 初始化,创建一个 Bank.txt 用于存储余额

void initBank()

{



    // 等于-1则文件不存在   #include <unistd.h>

    if ((access("Bank.txt", F_OK)) == -1)

    {

        FILE *fp;

        // 判断是否有这个文件,有就打开,没有创建打开

        if (!(fp = fopen("Bank.txt", "w")))

        { //wt+ 打开或建立一个文件

            printf("cannot open the file\n");

            exit(1); //退出

        }

        // 文件存入整数50

        putw(initMoney, fp);

        fclose(fp);

    }

}

// 查看余额

void See()

{



    printf("\t\t\t\tYour balance is:  %d\n", Money());

}

// 存钱

void Save()

{

    FILE *fp;

    char ch;

    int money;

    // 先存储文件内原有的钱

    int i = Money();

    //若文件存在,则清除原文件内容后写入;否则,新建文件后写入

    if (!(fp = fopen("Bank.txt", "r+")))

    { //wt+ 打开或建立一个文件

        printf("cannot open the file\n");

        exit(1); //退出

    }



    printf("\t\t\t\tHow much do you want to deposit: \n\t\t\t\t");

    scanf("%d", &money);

    while (money < 0)

    {

        printf("\t\t\t\tPlease enter the correct number!\n\t\t\t\t");

        scanf("%d", &money);

    }



    printf("\t\t\t\tYour balance is:  %d", i + money);

    money += i;

    putw(money, fp);



    printf("\n");

    fclose(fp); //关闭文件

}

// 取钱

void Withdraw()

{

    // 对文件只读

    FILE *fp;

    int dSee;

    int i = Money();

    if (!(fp = fopen("Bank.txt", "r+")))

    {

        printf("cannot open the file\n");

        exit(1); //退出

    }



    printf("\t\t\t\tHow much do you want to withdraw: \n\t\t\t\t");

    scanf("%d", &dSee);

    while (dSee > i)

    {

        printf("\t\t\t\tplease input again:\n\t\t\t\t");

        scanf("%d", &dSee);

    }



    i -= dSee;

    putw(i, fp);

    printf("\t\t\t\tyour balance is: %d", i);

    fclose(fp); //关闭文件

}

// 功能实现

void ability()

{

    // 创建银行文件

    int num;

    do

    {

        printf("\n\n\t\t\t\tWhat service do you want: ");

        scanf("%d", &num);

        // 只要不输入 -1,就不退出

        switch (num)

        {

        case -1:

            printf("\t\t\t\texit Bank.txt System!\n");

            exit(-1);

            break;

        case 1:

            Money();

            break;

        case 2:

            Save();

            break;

        case 3:

            Withdraw();

            break;

        default:

            printf("\t\t\t\tThe number you entered is wrong. Please re-enter it!\n");

            printf("\t\t\t\t");

            ability();

        }



    } while (num != -1);

}

// 返回余额

int Money()

{



    FILE *fp;

    int ch;

    // 对文件只读

    if (!(fp = fopen("Bank.txt", "r")))

    {

        printf("cannot open the file\n");

        exit(1); //退出

    }

    int i = getw(fp);

    printf("\t\t\t\tYour balance is:  %d\n", i);

    fclose(fp); //关闭文件

    return i;

}

代码链接:

zengshengjiang/BankSystem: /***********银行系统******* 简单实现银行的: 查看余额、存钱、取钱 查看Bank.txt 是否已经创建,没有就创建并设置初始余额为: 50(可自行修改) 1.查看余额 2.存钱 3.取钱 -1:退出 */ (github.com)

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
初学者 很浅的代码 系统说明: 银行前台处理系统包含开户、销户、存取业务。1)、开户功能中银行可以创建新用户,用户名可以重名,但是银行账号必须唯一。银行用户基本信息包括:用户名、账号、密码(初始密码都为000000)、身份证、创建时间、销户时间、销户标记、余额。开户后将开户信息存储到文件”user.dat”中。2)销户处理只需要更改用户销户标记即可。3)账务处理稍微复杂:a)账务处理菜单设计:(账号、姓名、身份证、发生额、存取标记、日期、余额)。b)工作流程:银行工作人员输入账号后,系统根据用户信息自动输出姓名、身份证、银行工作人员输入发生额(正数代表存,负数代表取,取钱时应检查用户是否透支,如透支给于提示。)存取标记根据发生额自动生成(1表示存,-1表示取)、日期(包含年月日时分)自动生成、余额自动更改, 输入完毕后,系统询问是否确定?是(1)否(0)。输入1,系统将此信息存入到文件”bankrecord.dat”中,bankrecord.dat记录发生的流水账信息。同时将用户信息中的余额进行更改。系统继续提问:是否继续记账?(1:继续0:退出记账系统银行客户自助系统包含:首先用户根据账号与初始密码进入自助系统。可以选择1)更改密码(密码应进行加密后,存储到“user.dat“文件中。2)查询余额。3)浏览对账单。浏览对账单稍显复杂:用户输入起始日期,和结束日期。系统在”bankrecord.dat”文件中进行查询,将符合条件的记录显示出来。显示项为:发生额、日期、余额。 功能扩展:银行主管子系统,用于管理普通工作人员的基本信息、银行存款总额、银行流水的发生等内容。自己扩展思路。客户查询功能可以扩展:只查取款业务、存款业务、某一天业务等。银行前台业务可以自己对账。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值