最佳答案
引言
跟着科技的一直开展,ATM(主动取款机)已成为人们一般生活中弗成或缺的一部分。而C言语作为一种高效、机动的编程言语,常被用于体系级编程跟嵌入式体系的开辟。本文将带你轻松入门ATM浅易C言语编程,经由过程实战案例剖析,让你疾速控制ATM编程技能。
第一章:C言语基本
1.1 C言语概述
C言语是一种广泛利用的打算机编程言语,存在高效、机动、可移植性强等特点。在ATM编程中,C言语可能用来实现用户登录、账户查询、取款、存款、转账等功能。
1.2 C言语基本语法
- 数据范例:整型、浮点型、字符型等。
- 变量申明与初始化。
- 运算符:算术运算符、关联运算符、逻辑运算符等。
- 把持语句:if语句、for轮回、while轮回等。
第二章:ATM体系计划
2.1 体系功能模块
ATM体系重要包含以下功能模块:
- 用户登录模块:验证用户身份。
- 账户查询模块:查询用户账户余额。
- 取款模块:用户取款操纵。
- 存款模块:用户存款操纵。
- 转账模块:用户之间转账操纵。
2.2 数据构造计划
- 用户信息构造体:存储用户ID、姓名、密码等信息。
- 账户信息构造体:存储账户ID、用户ID、余额等信息。
第三章:ATM浅易C言语编程实战
3.1 用户登录模块
#include <stdio.h>
#include <string.h>
// 用户信息构造体
typedef struct {
int id;
char name[20];
char pwd[20];
} userinfo;
// 用户列表
userinfo userlist[100];
int usernum = 0;
// 函数申明
int login(int id, char *pwd);
int main() {
int id;
char pwd[20];
printf("请输入用户ID:");
scanf("%d", &id);
printf("请输入密码:");
scanf("%s", pwd);
if (login(id, pwd)) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误!\n");
}
return 0;
}
// 用户登录函数
int login(int id, char *pwd) {
for (int i = 0; i < usernum; i++) {
if (userlist[i].id == id && strcmp(userlist[i].pwd, pwd) == 0) {
return 1;
}
}
return 0;
}
3.2 账户查询模块
// 函数申明
void query_balance(int id);
int main() {
int id;
printf("请输入用户ID:");
scanf("%d", &id);
query_balance(id);
return 0;
}
// 查询余额函数
void query_balance(int id) {
for (int i = 0; i < usernum; i++) {
if (userlist[i].id == id) {
printf("账户余额:%d\n", userlist[i].id);
return;
}
}
printf("用户不存在!\n");
}
3.3 取款模块
// 函数申明
void withdraw(int id, int amount);
int main() {
int id, amount;
printf("请输入用户ID:");
scanf("%d", &id);
printf("请输入取款金额:");
scanf("%d", &amount);
withdraw(id, amount);
return 0;
}
// 取款函数
void withdraw(int id, int amount) {
for (int i = 0; i < usernum; i++) {
if (userlist[i].id == id) {
if (userlist[i].balance >= amount) {
userlist[i].balance -= amount;
printf("取款成功!以后余额:%d\n", userlist[i].balance);
} else {
printf("余额缺乏!\n");
}
return;
}
}
printf("用户不存在!\n");
}
3.4 存款模块
// 函数申明
void deposit(int id, int amount);
int main() {
int id, amount;
printf("请输入用户ID:");
scanf("%d", &id);
printf("请输入存款金额:");
scanf("%d", &amount);
deposit(id, amount);
return 0;
}
// 存款函数
void deposit(int id, int amount) {
for (int i = 0; i < usernum; i++) {
if (userlist[i].id == id) {
userlist[i].balance += amount;
printf("存款成功!以后余额:%d\n", userlist[i].balance);
return;
}
}
printf("用户不存在!\n");
}
3.5 转账模块
// 函数申明
void transfer(int from_id, int to_id, int amount);
int main() {
int from_id, to_id, amount;
printf("请输入转出用户ID:");
scanf("%d", &from_id);
printf("请输入转入用户ID:");
scanf("%d", &to_id);
printf("请输入转账金额:");
scanf("%d", &amount);
transfer(from_id, to_id, amount);
return 0;
}
// 转账函数
void transfer(int from_id, int to_id, int amount) {
for (int i = 0; i < usernum; i++) {
if (userlist[i].id == from_id) {
if (userlist[i].balance >= amount) {
userlist[i].balance -= amount;
for (int j = 0; j < usernum; j++) {
if (userlist[j].id == to_id) {
userlist[j].balance += amount;
printf("转账成功!转出账户余额:%d,转入账户余额:%d\n", userlist[i].balance, userlist[j].balance);
return;
}
}
} else {
printf("转出账户余额缺乏!\n");
}
return;
}
}
printf("转出用户不存在!\n");
}
总结
本文经由过程实战案例剖析,介绍了ATM浅易C言语编程。从C言语基本到ATM体系计划,再到各个功能模块的实现,读者可能逐步控制ATM编程技能。在现实利用中,你可能根据须要对代码停止修改跟优化,以顺应差其余场景。盼望本文能对你有所帮助!