真正的ATM系统不可能只是用C语言编写的,它应该是一套完整独立的系统,核心代码更机密,不会轻易的泄露。
C语言可以写一个类似于ATM系统的框架,用以模拟ATM机上的各种操作。
框架代码如下:
#include<iostream.h>#include<stdio.h>
int main()
{
int choice =- 1
while(1) {
printf("请选择\n1.login\t2.regist\n")
scanf("%d", &choice)
switch(choice) {
case 1:
login()
break
case 2:
regist()
break
default:
printf("输入有误,重新输入\n")
break
}
}
return 0
}
void login() {
printf("IN LOGIN\n")
int flag = -1
int X = -1
printf("输入账户和密码\n")
flag = search()
if(falg == 1) {
printf("存在,进入主页面\n")
X = menu()
if(X == 1)
return
}
else if(flag == 0) {
printf("账户或密码错误\n")
return
}
}
int regist() {
printf("IN REGIST\n")
return 1
}
int menu() {
printf("IN MENU\n")
int key = -1
int N = -1
while(1) {
printf("请选择业务:1.refer\t2.deposit\t3.withdraw\t4.transfer\t5.resetPW\t6.退出\n")
scanf("%d", &key)
switch(key) {
case 1:
N = refer()
break
case 2:
N = deposit()
break
case 3:
N = withdraw()
break
case 4:
N = transfer()
break
case 5:
N = resetPW()
break
case 6:
N = 6
return 1
break
default:
printf("输入有误,重新选择:\n")
break
}
if(N%2 == 0) {
printf("Error!\n")
}
}
}
int refer() {
printf("IN REFER\n")
//输出余额
return 1
}
int deposit() {
printf("IN DEPOSIT\n")
//存钱
return 3
}
int withdraw() {
printf("IN WITHDRAW\n")
//取钱
return 5
}
int transfer() {
ptintf("IN TRANSFER\n")
//转账
return 7
}
int resetPW() {
prtintf("IN RESETPW\n")
//重设密码
return 9
}
C语言中浮点型变量指的就是实数变量(存放可以带小数的数据的变量)。实型变量分为两类:单精度型和双精度型。其类型说明符为float单精度说明符,double双精度说明符。实型变量说明的格式和书写规则与整型相同。例如: float x,y// (x,y为单精度实型量)double a,b,c// (a,b,c为双精度实型量)实型常数不分单、双精度,都按双精度double型处理。单精度浮点数:通常占用4个字节(32位)存储空间,其数值范围为-3.4E38~3.4E38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。双精度浮点数:通常占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。双精度完全保证的有效数字是15位,16位只是部分数值有保证。#include<stdio.h>void main()
{
char SelectKey,CreditMoney,DebitMoney
while(1)
{
do{
clrscr()
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':
clrscr()
puts("Your balance is $1000")
getch()
break
case'2':
do{
clrscr()
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':
clrscr()
puts("Your Credit money is $50,Thank you!")
getch()
break
case'2':
clrscr()
puts("Your Credit money is $100,Thank you!")
getch()
break
case'3':
break
}
break
case'3':
do{
clrscr()
puts("Please select Debit money:")
puts("1.$50")
puts("2.$100")
puts("3.$500")
puts("4.$1000")
puts("5.Return")
DebitMoney=getch()
}while(DebitMoney!='1'&&DebitMoney!='2'&&DebitMoney!='3'&&DebitMoney!='4'&&DebitMoney!='5')
switch(DebitMoney)
{
case'1':
clrscr()
puts("Your Debit money is $50,Thank you!")
getch()
break
case'2':
clrscr()
puts("Your Debit money is $100,Thank you!")
getch()
break
case'3':
clrscr()
puts("Your Debit money is $500,Thank you!")
getch()
break
case'4':
clrscr()
puts("Your Debit money is $1000,Thank you!")
getch()
break
case'5':
break
}
break
case'4':
return
}
}
}
几个小错误而已...比如忘了写双撇号,switch写错了...还有!= 忘了写! 等等.. 以上程序可以运行了