C语言实现ATM系统程序的完整代码

yizhihongxing

下面是C语言实现ATM系统程序的完整代码攻略,包括以下步骤:

  1. 确定实现ATM系统所需的功能和操作,例如登录、查询余额、取款、存款、转账等。

  2. 设计ATM系统的数据结构,包括记录用户信息的结构体、记录ATM机状态的结构体等。在这个实现中,我们可以采用一个用户信息的数据结构体,包含账户名、账户密码和账户余额等信息。对于ATM机状态,我们可以使用一个状态枚举变量,例如IDLE、ACTIVE等。

  3. 根据ATM系统需要实现的功能,编写相应的函数,并在主函数中调用这些函数。例如,输入密码的函数、查询余额的函数、取款的函数、存款的函数和转账的函数等。

  4. 在主函数中实现ATM系统的操作流程,例如通过用户登录确认是否为合法用户,根据用户输入的操作选择相应的ATM系统功能,执行相应的函数等。

下面是一个具体的示例说明,假设我们需要实现一个简单的ATM系统,可以执行登录和取款两个功能。

我们首先设计一个存储用户信息的结构体User:

typedef struct User {
    char username[21];
    char password[21];
    float balance;
} User;

然后定义一个存储ATM机状态的枚举变量State:

typedef enum State {
    IDLE,
    ACTIVE
} State;

接下来,我们编写登录和取款两个功能的函数。一个示例的代码如下:

void login(User account) {
    char username[21], password[21];
    printf("请输入账号名:");
    scanf("%s", username);
    printf("请输入账号密码:");
    scanf("%s", password);
    if (strcmp(username, account.username) == 0 && strcmp(password, account.password) == 0) {
        printf("登陆成功!\n");
    } else {
        printf("账号名或密码错误!\n");
    }
}

void withdraw(User account) {
    float amount;
    printf("请输入取款金额:");
    scanf("%f", &amount);
    if (amount > account.balance) {
        printf("账户余额不足!\n");
    } else {
        account.balance -= amount;
        printf("成功取款%f元,账户余额为%f元。\n", amount, account.balance);
    }
}

最后,我们在主函数中实现ATM系统的操作流程,例如:

int main() {
    User account = {"user", "pass", 1000};
    State state = IDLE;
    while (1) {
        if (state == IDLE) {
            login(account);
            state = ACTIVE;
        }
        if (state == ACTIVE) {
            int option;
            printf("请输入操作选项(1-取款,2-查询余额):");
            scanf("%d", &option);
            switch (option) {
              case 1:
                withdraw(account);
                break;
              case 2:
                printf("您的账户余额为%f元。\n", account.balance);
                break;
              default:
                printf("无效选项!\n");
                break;
            }
        }
    }
    return 0;
}

以上是一个简单的ATM系统示例,可以根据实际需求进行功能扩展和优化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现ATM系统程序的完整代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++简易通讯录系统实现流程详解

    下面是C++简易通讯录系统实现流程的详细攻略: 1. 设计思路 本通讯录系统主要由以下几个部分组成: 联系人信息类ContactPerson: 包含联系人姓名、性别、电话号码、住址等属性。 实现获取、设置各属性值的方法。 通讯录类Contacts: 包含多个联系人对象,可以进行联系人的添加、删除、修改、遍历等操作。 通过文件操作实现通讯录的存储和读取。 主函…

    C 2023年5月30日
    00
  • c语言clock函数使用示例

    C语言Clock函数使用示例 Clock函数介绍 clock()是C语言标准库中的一个函数,其函数原型为:clock_t clock(void);。该函数通常用于计算程序运行的时间,单位为时钟周期(clock tick),可以通过除以CLOCKS_PER_SEC转换成秒。 需要注意的是,clock()函数返回的是程序自进程开始运行时起累计的时钟周期数,并不是…

    C 2023年5月23日
    00
  • C语言用值传递数据

    C语言的值传递 C语言函数参数传递方式包括值传递和引用传递两种方式。值传递就是指在调用函数时,将实参的值复制一份传递给形参,函数内部对形参的修改不会影响到实参的值。C语言的值传递语法很简单,只需要在函数声明和函数定义时声明一个变量即可。 示例一:值传递函数的定义和调用方法 下面的代码演示了一个简单的值传递的函数定义和调用的方法。 #include <s…

    C 2023年5月9日
    00
  • C语言中如何进行内嵌汇编?

    C语言中通过内嵌汇编实现与系统硬件相关的底层操作,如操作系统的中断处理、设备驱动、优化等。在C语言中嵌入汇编语言代码可以实现高效、精确和灵活的系统程序。下面是C语言中如何进行内嵌汇编的详细攻略: 1.内嵌汇编基本语法 在C语言中使用内嵌汇编,需要使用__asm__关键字来表示即将进行内嵌汇编的代码块,具体的语法如下: __asm__( "汇编指令&…

    C 2023年4月27日
    00
  • C++ 如何用cout输出hex,oct,dec的解决方法

    使用C++中的cout语句输出数字时,默认是以10进制方式输出的,并且不直接支持以16进制和8进制的方式输出。为了输出16进制和8进制的数字,我们需要使用cout的标志控制。 1.输出16进制的数字 要想输出16进制的数字,需要使用cout中的hex控制符,它可以将数字转换为16进制输出。示例代码如下: #include <iostream> u…

    C 2023年5月23日
    00
  • C#实现的ACCESS数据库操作类完整实例

    下面我将详细讲解“C#实现的ACCESS数据库操作类完整实例”的完整攻略。 1. 准备工作 在使用C#操作ACCESS数据库之前,需要做以下准备工作: 安装ACCESS数据库驱动程序 在C#项目中添加对ACCESS数据库的引用 在代码中引入对System.Data.OleDb命名空间的引用 2. 创建ACCESS数据库连接对象 在开始对ACCESS数据库进行…

    C 2023年5月22日
    00
  • 解决@Transactional注解事务不回滚不起作用的问题

    解决@Transactional注解事务不回滚不起作用的问题的详细攻略如下: 问题描述 在进行数据库操作时,我们通常会使用@Transactional注解来保证事务的原子性,但在使用过程中可能会出现事务不回滚不起作用的问题,导致数据一旦出现异常就无法恢复。这种情况通常是因为注解失效或者配置不正确导致的。 解决方案 1. 配置文件中开启事务管理器 我们可以在配…

    C 2023年5月23日
    00
  • C#自动创建数据库实现代码

    要实现C#自动创建数据库的代码,可以采用ADO.NET的方式来实现。以下是实现步骤: 1. 引入命名空间和依赖库 首先,在代码文件中引入命名空间和依赖库 using System.Data.SqlClient; 2. 创建数据库连接 使用SqlConnection类创建数据库连接对象,然后使用连接字符串指定连接的数据库和身份认证信息。 string conn…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部