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 2023年5月22日
    00
  • 紫米新品C-TO-C数据线配置怎么样?

    紫米新品C-TO-C数据线配置攻略 紫米新品C-TO-C数据线是一款高质量的USB数据线,采用了最新的Type-C接口,支持快速充电和数据传输,同时还具备高品质的工艺和材料,对于喜欢使用高品质产品的用户来说,是一个很好的选择。本攻略将从以下几个方面详细讲解该数据线的配置情况。 长度 紫米新品C-TO-C数据线有多种长度可选,包括0.5米、1米、2米和3米。用…

    C 2023年5月23日
    00
  • jupyter notebook的安装与使用详解

    Jupyter Notebook的安装与使用 什么是Jupyter Notebook? Jupyter Notebook是一款基于Web的交互式计算环境,能够在浏览器中以交互式的形式编写和运行代码,并且可以在文档中穿插富媒体内容。 安装Jupyter Notebook 安装Jupyter Notebook需要先安装Python。以Windows系统为例,以下…

    C 2023年5月23日
    00
  • C/C++如何获取当前系统时间的实例详解

    C/C++如何获取当前系统时间的实例详解 在C/C++语言中,获取当前系统时间可以通过调用系统库函数来实现。常用的获取当前系统时间的函数有time、localtime、strftime等函数。下面将详细介绍这些函数的使用方法。 time函数 time函数用来获取当前系统时间的时间戳,其函数的原型如下: #include <time.h> time…

    C 2023年5月23日
    00
  • 一文详解Qt中线程的实际应用

    一、什么是Qt中的线程? Qt中的线程是指在Qt框架下使用的线程,它是建立在操作系统线程之上的一个高层抽象。Qt中的线程分为QThread线程和QtConcurrent线程两种。其中,QThread线程是比较传统的线程实现方式,而QtConcurrent则是在Qt4中新增的一种线程实现方式,相对而言更加简单。 二、为什么要使用Qt中的线程? 在许多程序中,为…

    C 2023年5月22日
    00
  • C++ 实现的通讯录管理系统详解

    C++ 实现的通讯录管理系统详解 介绍 本文将详细介绍 C++ 实现的通讯录管理系统,该系统采用面向对象的方式实现,能够帮助用户管理通讯录信息。 本系统的主要功能包括:添加联系人、显示联系人、删除联系人、查找联系人、修改联系人以及清空联系人等。下面将分别对每个功能进行介绍。 添加联系人 添加联系人是通讯录管理系统最基本的功能之一。在系统中,我们可以通过以下代…

    C 2023年5月23日
    00
  • C调用C++代码的方法步骤

    C语言是一款面向过程的语言,而C++语言是一款面向对象的语言。虽然二者有着许多相似之处,但仍然会存在一些不兼容的情况,在C中调用C++代码时也是如此。下面介绍一下C调用C++代码的方法步骤。 步骤 在C++文件中,声明被调用的函数为extern “C” #ifdef __cplusplus extern "C" { #endif // y…

    C 2023年5月23日
    00
  • Spring Boot全局异常处理解析

    下面是关于Spring Boot全局异常处理解析的完整攻略,包括了详细的讲解和示例说明。 什么是全局异常处理 在 Spring Boot 中,我们可以使用 @ControllerAdvice 注解来定义一些全局的异常处理方法,这些方法可以捕获到应用程序中可能出现的异常,并进行特定的处理。全局异常处理能够提供更友好的错误信息,方便开发人员和用户进行错误排查和解…

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