c语言Atm的简单实现

c语言Atm的简单实现
c语言Atm的简单实现

信息科学与工程学院《数据结构》

课程设计报告

课程设计名称: ATM的设计与实现

专业班级:

学生姓名:

学号: 201616010107

指导教师:

课程设计时间:2016-2017学年第二学期

计算机科学与技术专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

目录

1 需求分析 (1)

1.1存款 (1)

1.2取款 (1)

1.3查看流水账 (1)

1.4排序 (1)

1.5修改密码 (2)

1.6查看ATM使用情况 (2)

1.7录入信息 (2)

1.8恢复限额 (2)

2 概要设计 (3)

2.1数据类型的定义 (3)

2.2功能模块结构图 (4)

3 运行环境 (6)

4 开发工具和编程语言 (7)

5 详细设计 (8)

5.1 主函数 (8)

5.2 录入函数 (9)

5.3加载和存储函数 (9)

5.4 输出流水账函数 (10)

5.5 查看ATM使用情况函数 (10)

6 程序编码 (11)

7 运行结果 (14)

8 心得体会 (15)

9 参考文献 (16)

1需求分析

ATM自助机——便于储户存钱、取钱。

按功能分为两大系统:个人用户系统和银行后台系统;

个人用户系统————登录(输入正确的账号或密码才能进入)、存款、取款、查看流水账(查看用户最近存取款情况)、排序(此为超级用户功能,可以查看所有人的余额)、修改密码(修改个人登录密码);

银行后台系统————atm使用情况(便于银行人员管理atm机)、录入信息(包括录入用户及其银行卡号信息和录入atm 信息)、恢复限额(每天6点恢复所有人的取款上限)。

1.1存款

输入金额,存入ATM,当前AMT以及自己的余额会增加并且自动生成流水账。

1.2取款

输入取款金额,判断它是否小于ATM总金额并且小于当天的限额,当前的ATM金额减少,自己的余额和限额也会减少。

1.3查看流水账

输出自己近段时间内的所有操作,发生额,以及时间。

1.4排序

此为超级用户功能,实现以余额对所有用户排序并且输出一些信息。

1.5修改密码

修改用户登录密码。

1.6查看ATM使用情况

查看每一台ATM的使用情况,输出存取款发生额及其次数。

1.7录入信息

能录入用户、银行卡以及ATM的信息。

根据提示一步步输入数据,存入数组中,最后存入文件。

1.8恢复限额

恢复用户一天的限额。

概要设计

2.1数据类型的定义

1.定义用户类型

typedef struct node typedef struct {

char number[5];//用户编号

char User_name[11];//用户名

char password[7];//密码

int kind;//用户类型

}User;

2.定义时间类型

typedef struct

{

int year;

int month;

int day;

}Data;

3.定义银行卡类型

typedef struct

{

char cardnumber[20];//银行卡号

char Idcard[19];//身份证号

int balance;//余额

Data open;//开户时间

int quota;//限额

}Bankcard;

4.定义ATM类型

typedef struct

{

char code[5];//机器代码

char address[30];//地址

int Total_money;//取款机总金额

}ATM;

5.定义流水账类型

typedef struct node

{

char code[5];//机器代码

char cardnumber[20];//银行卡号

int access;//存取,0存款,1取款

Data occurrence;//发生日期

int money;//发生额

struct node *next;

}Book,*Link;

2.2功能模块结构图

根据需求分析,为了满足用户的功能需求,按照软件开发方法学中的模块划分原则,我将本系统主要划分为两个子系统:个人用户系统和银行后台系统。个人用户系统有如下功能:存款,取款,排序,流水账,密码;银行后台系统有如下功能:ATM使用情况,录入信息,恢复限额。各模块之间的关系如图1所示。

图 1模块结构图

为了实现上述功能模块,因此定义多个函数以及包含多个头文件便于实现,本系统定义的函数和功能如下:

1.函数

void load1(User us[],int *n);加载用户信息

void load2(Bankcard ba[]);加载银行卡信息

void load3(ATM at[]);加载Atm信息

void load4(Link head);加载流水账

void display();主界面

相关主题
相关文档
最新文档