跟着科技的一直开展,ATM(主动取款机)已成为人们一般生活中弗成或缺的一部分。而C言语作为一种高效、机动的编程言语,常被用于体系级编程跟嵌入式体系的开辟。本文将带你轻松入门ATM浅易C言语编程,经由过程实战案例剖析,让你疾速控制ATM编程技能。
C言语是一种广泛利用的打算机编程言语,存在高效、机动、可移植性强等特点。在ATM编程中,C言语可能用来实现用户登录、账户查询、取款、存款、转账等功能。
ATM体系重要包含以下功能模块:
#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;
}
// 函数申明
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");
}
// 函数申明
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");
}
// 函数申明
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");
}
// 函数申明
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编程技能。在现实利用中,你可能根据须要对代码停止修改跟优化,以顺应差其余场景。盼望本文能对你有所帮助!