当前位置: 首页 > article >正文

C语言编写的自动取款机模拟程序

#include〈stdio。h>

#include<string。h>

#include <stdio.h>

#include〈stdlib.h〉

#include〈direct.h〉

#include<io.h>

#include 〈errno。h>

/********************************************************************************

作者  :     万水千山总是情

QQ      :     824955445

时间   :     2014/4/29

功能: :   模拟自动取款机

test    :     结构体的运用,文件的读取和写入操作

备注 :    尽量考虑到了各种错误,但是一定有所疏忽,对于错误的处理并不是都感到满意。因为只是模拟

对于某些输入内容没有过于严格的进行检验.

暂时:实现功能如下:

1。用户帐号注册和登录

2.取款,存款,转账,更改密码,余额查询.

以后有时间或者有兴趣会增加其他功能的,比如帐号注销,超级管理员之类的。

**********************************************************************************/

#define AC_USER_NAME_MIN 6

#define AC_PASSWD_MIN 6

#define ILLEAGUE_CHAR 0

#define TIME_OUT     -5

#define PASSWD_WRONG —6

#define LOAD_SUCCESSFUL -7

#define CREAT_S -9

#define CREAT_F —10

#define LEAGUE_CHAR -11

#define UNKNOW -12

#define AC_USER_NAME_MAX 15

#define USER_NAME_MAX 12

#define AC_PASSWD_MAX 12

char root_path[255]="D:\\bank_systems\\";//根目录

char auth[255]="D:\\bank_systems\\”;

int users_sum=0;

struct s_user

char name[USER_NAME_MAX];

char account_name [AC_USER_NAME_MAX];

char account_passwd [AC_PASSWD_MAX];

char balance[10];

char tel[12];

char auth_flag;

};

struct s_user g_user;

void read_file(FILE *fp,char *read_path,char *des,char *error,char exit_flag)

{

int i=0;

fp=NULL;

if((fp=fopen(read_path,”r”))!=NULL)

{

do

des[i]=fgetc(fp);

}while(des[i++]!=EOF);

des[i—1]=’\0';

}

else

printf(”%s\n”,error);

if(exit_flag==1)

exit(1);

}

fclose(fp);

void write_file(FILE *fp,char *write_path,char *src,char *error,char exit_flag)

{

fp=NULL;

if((fp=fopen(write_path,"w"))!=NULL)

fwrite(src,sizeof(char),strlen(src),fp);

}

else

printf(”%s\n",error);

if(exit_flag==1)

{

exit(1);

}

fclose(fp);

void dtos(double res,char*str_send )

long pow[]={1,10,100,1000,10000,100000,1000000};

long temp;

int i=0;

int t=0;

int len=0;

temp=(long)(res*100);

if(res!=0)

{

  for(;;)

{

if(temp>=pow[i])

i++;

else

{

break;

for(t=0;t<i;t++)

str_send[t]=(char)(temp/pow[i-1—t]+'0’);

temp=temp%pow[i-1-t];

}

str_send[i]=’\0’;

len=strlen(str_send);

str_send[len+1]='\0’;

str_send[len]=str_send[len-1];

str_send[len—1]=str_send[len—2];

str_send[len—2]='.’;

if(str_send[0]==’.’)

{

str_send[strlen(str_send)+1]='\0’;

for(i=strlen(str_send);i〉0;i--)

str_send[i]=str_send[i—1];

}

str_send[0]=’0';

}

else

  {

      str_send[0]=’0';

      str_send[1]='\0’;

  }

}

void type_user(struct s_user *user)

{

double result=0;


http://www.kler.cn/a/375762.html

相关文章:

  • 基于SSM医院门诊互联电子病历管理系统的设计
  • vscode在cmake config中不知道怎么选一个工具包?select a kit
  • HarmonyOS:UIAbility组件概述
  • 【大数据学习 | kafka】kafka的ack和一致性
  • 闪存学习_1:Flash-Aware Computing from Jihong Kim
  • T4--侯豆病毒识别
  • HTML 基础标签——表格标签<table>
  • win10 wsl2 install
  • 读数据工程之道:设计和构建健壮的数据系统25查询
  • 算法训练(leetcode)二刷第十五天 | 654. 最大二叉树、617. 合并二叉树、700. 二叉搜索树中的搜索、98. 验证二叉搜索树
  • 【hector mapping参数设置】
  • Android开发教程实加载中...动效
  • 使用Docker Swarm进行集群管理
  • Matlab实现鼠群优化算法优化回声状态网络模型 (ROS-ESN)(附源码)
  • 基于IMX6ULL的电子产品量产工具
  • 深度了解flink(八) JobManager(2)initializeServices剖析
  • 29.2 golang实战项目log2metrics架构说明
  • 基于SpringBoot的汽车配件销售管理系统
  • C# 如何处理 WebSocket 连接异常
  • Ubuntu 搭建Yapi服务
  • NLP segment-04-自动摘要 auto-summary java 开源实现
  • 大型商场应急响应:SpringBoot技术实现
  • 关于我的编程语言——C/C++——第三篇
  • 详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute
  • 论敏捷软件开发方法及其应用
  • [含文档+PPT+源码等]精品基于PHP实现的鲜花批发销售网站的设计与实现