PAGE
PAGE 10
程序设计实习
—ATM机的简单模拟
院系:信息科学与技术学院
专业:计算机科学与技术
班级:A0611
学号:33号
姓名:石晓珍
ATM机的简单模拟
程序的具体功能:
用C语言实现ATM机的简单模拟——逐层服务的选取:
第一层:选择服务类型(1.查询 2.取款面值 3.取款数额 4.Return);
第二层:输入数字,选择第一层提供的服务。
输入“1”
输入“2”时,进入第三层,显示:1.”50” 2.”100” 3.”Return”
输入“3”时,进入第三层,显示:1.”$50” 2.”$100”
3.”$500” 4.”1000” 5.”
d. 输入“4”
第三层:输入数字,选择第二层提供的服务。
当第二层选择“2”时,进入第三层。当输入为1时,
则显示取款的面值为50;输入2时,取款的面值为100
;输入3时,则退回第二层。
当第二层选择“3”
显示要取的数额为50;输入2时,为100;输入3时,
为500,输入4时,为1000;当输入5时,则退回第二
层。
程序流程图:
开始
开始
显示服务类型
选择服务1
输出卡中金额
选择服务2
Y
N
Y
选择服务3
子服务3
1
N
N
Y
子服务5
1
输出要取的金额
输出取款的面值
N
N
结束
程序代码及解析:
#include
void main()
{
{
char SelectKey; //定义SelectKey变量,指示第一层服务的选择
char CreditMoney; //定义CreditMoney变量,指示第二层服务的选择
char DebitMoney; //定义DebitMoney变量,指示第二层服务的选择
while(1)
{
do{ // 执行下列语句
fflush(stdin);
puts("Please select key:");
puts("1.Quary");
puts("2.Credit");
puts("3.Debit");
puts("4.Return");
SelectKey=getch(); //输入数字,选择服务。
} while(SelectKey!='1'&&SelectKey!='2'&&SelectKey!='3'&&SelectKey!='4');
//当选择的不是其中的数字,则持续出现当前选项。
switch(SelectKey)
{
case '1': //选择数字“1
fflush(stdin);
puts("Your balance is $1000"); //显示余额为1000
getch();
break; //再一次输入相同的数字时,则退回第一层的选项。
case '2': //选择数字“2
do{ // 执行以下程序
fflush(stdin);
puts("Please select Credit money:");
puts("1.$50");
puts("2.$100");
puts("3.Return");
CreditMoney=getch(); // 输入选项,选择要取的金额。
}while(CreditMoney!='1'&&CreditMoney!='2'&&CreditMoney!='3');
//当选择的不是其中的数字,则持续出现当前选项。
switch(CreditMoney) //当选择的是其中的数字,则执行以下程序。
{
case'1': //选择“1
fflush(stdin);
puts("You Credit money is $50.Thank you"); //输出取出的金额面值为50
getch();
break; //再一次输入相同的数字时,则退回第一层的选项。
case '2': //选择数字“2
fflush(stdin);
puts("You credit money is$100.Thank you"); //输出取出的金额面值为100
getch();
break; //再一次输入相同的数字时,则退回第一层的选项。
case '3': //选择数字“3
break; //退回第一层的选项。
}
break;
case '3': //在第一层中选择数字“3