【实验题目】ATM机模拟程序
【实验目的】
1.掌握多文件进行编译的方法
2.掌握文件的读取操作
3.掌握头文件的定义方法并了解条件编译的作用
4.完成ATM机的开户、登录、查询、存钱、取钱、销户等功能模块的设计与实现
【实验代码及截图】
#include <stdio.h> //相关头文件
#include <stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include <signal.h>
typedef struct {
char id[20]; //账号id
char name[30];//姓名
float money; //金额
int pwd; //密码
}account;
void success();//提示 //所有函数声明
void exit1();//退出
void enteratm();//主界面
void menu1();//菜单
void cre_user(); //开户函数
void denglu();//登录函数
void depo_user();//存钱函数
void fetc_user();//取款函数
void find_user();//查询函数
void dele_user();//销户函数
int main()
{
signal(SIGINT,SIG_IGN); //运行过程中按ctrl+c停止程序无效
enteratm();//进入主界面
}
//主界面
void enteratm() {
char x;
printf("———————————————\n");
printf("| 1 开户 |\n");
printf("——————————————\n");
printf("| 2 登陆 |\n");
printf("——————————————\n");
printf("| 3 退出 |\n");
printf("——————————————\n");
scanf("%s", &x);
switch (x) {
case '1':cre_user(); break;
case '2':denglu();break;
case '3':break;
default:printf("输入错误,请重新输入\n");
enteratm();
}
}
//开户
void cre_user() {
account user; //定义一个用户
printf("输入你的ID:");
scanf("%s", user.id);
char filename[23];//存放数据
sprintf(filename, "%s.dat",user.id);
/*文件名user.id,sprintf函数将数据
以二进制(dat)写入磁盘,并且写入filename*/
int fd =