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

下面是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语言中字符串的算法问题解决实例小结”的完整攻略。攻略中包含以下内容: 引言 在C语言中,字符串是一种常见的数据类型,其操纵涉及到各种算法问题,因此学习一些C语言字符串的算法问题解决实例是很必要的。 字符串的定义和表示方法 字符串是由字符组成的一串数据,可以使用字符数组或指针来定义和表示。字符数组的定义方式如下: c char str[20…

    C 2023年5月22日
    00
  • mysql中取出json字段的小技巧

    对于“mysql中取出json字段的小技巧”,可以进行如下讲解: 1. 确保MySQL版本支持JSON数据类型 在MySQL 5.7及以上的版本中,才支持JSON数据类型,如果你的MySQL版本过低,需要进行升级。可以通过如下命令查看MySQL版本: SELECT VERSION(); 如果版本太低,可以参考MySQL官方文档进行升级。升级完成后,可以在表中…

    C 2023年5月23日
    00
  • C语言如何使用函数求素数和举例

    此处我将为您详细讲解关于C语言如何使用函数求素数的完整攻略。整个流程大致分为以下几步: 步骤一:编写函数判断素数 首先,我们需要编写一个函数来判断一个数是否是素数。可以将这个函数定义为:bool isPrime(int n),其中n是待判断的整数,返回值为布尔类型,表示n是否是素数。这个函数的实现过程如下: bool isPrime(int n) { if …

    C 2023年5月23日
    00
  • Golang中的错误处理深入分析

    Golang中的错误处理深入分析 Golang是一门支持错误处理的语言,它提供了一系列的处理错误的方式。在本篇文章中,我们将深入分析Golang中的错误处理。 简介 在Golang中,错误类型是一个内置类型,它实现了Error接口。Error接口只有一个方法,即Error() string,它返回错误的描述字符串。一般来说,一个函数要么返回一个值,要么返回一…

    C 2023年5月22日
    00
  • C语言实现猜数字游戏的两种方法

    让我来详细讲解一下如何通过C语言实现猜数字游戏的两种方法。 1. 第一种方法:使用随机数 1.1 实现思路 使用随机数实现猜数字游戏的流程如下: 程序随机生成一个数字; 用户输入一个数进行猜测; 程序根据用户猜测的数,判断是大、小还是等于随机数; 如果猜对了,输出提示信息并结束程序;如果猜错了,输出提示信息并继续猜。 1.2 代码示例 下面是使用随机数实现猜…

    C 2023年5月23日
    00
  • C语言实现合并字符串

    当我们需要将两个字符串合并为一个字符串时,可以使用C语言的字符串操作函数来实现。下面是实现合并字符串的完整攻略。 步骤一:定义存储合并后字符串的数组 首先需要定义一个数组来存储合并后的字符串。这个数组必须预先分配足够的空间来保存合并后的字符串。可以使用C语言中的malloc()函数来动态分配存储空间,或者使用静态分配的数组。 以下是利用静态数组的方式定义一个…

    C 2023年5月23日
    00
  • 使用c++实现异或加密的代码示例

    使用C++实现异或加密的代码示例 在本文中,我们将会详细讲解如何使用C++完成异或加密。异或加密是一种非常简单的加密方式,其安全性相对较低。在实际使用中,我们不应该单独使用异或加密,而应该与其他加密方式结合使用。 以下是完成异或加密的代码示例。 实现步骤 步骤 1:定义变量 定义需要加密的字符串和加密使用的密钥,这里我们分别定义了两个字符串变量。 std::…

    C 2023年5月24日
    00
  • 如何用c++表驱动替换if/else和switch/case语句

    当在编写C++代码时,经常需要使用if/else和switch/case语句对不同的条件进行处理。这些语句可以让程序员更加方便地编写逻辑代码。但是,当逻辑变得越来越复杂时,这些语句将变得越来越难以维护。因此,使用表驱动来代替if/else和switch/case语句将会变得更加方便和容易维护。 表驱动的思想是将输入值作为数组的下标,将对应的输出值存储在数组中…

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