怎样用c语言编写ATM系统

Python021

怎样用c语言编写ATM系统,第1张

真正的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  

    }

#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写错了...还有!= 忘了写! 等等.. 以上程序可以运行了

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<math.h>

#include<conio.h>

void

sys(const

char

*ex)

{

printf(ex)

fflush(stdin)

getch()

}

struct

atm

{

float

money

char

card[20]

char

pass[20]

}

struct

atm

*creat()

{

struct

atm

*p

p=(struct

atm

*)malloc(sizeof(struct

atm))

printf("请输入密码:")

gets(p->pass)getchar()

printf("请输入卡号:")

gets(p->card)getchar()

printf("卡号为=%s,密码为=%s\n",p->card,p->pass)

printf("请输入预存款金额:")

scanf("%f",&p->money)

return

p

}

struct

atm

*qukuan(struct

atm

*p)

{

float

money

printf("请输入取款金额:")

scanf("%f",&money)

if(money>p->money){printf("余额不足!\n")return

p}

p->money-=money

return

p

}

void

print(struct

atm

*p)

{

printf("当前余额为%.2f,可取款金额为%d\n",p->money,floor(p->money)/100)

}

int

yanzheng(struct

atm

*p)

{

char

pass[20]

printf("你好,请输入密码:")

gets(pass)

if(strcmp(pass,p->pass)==0)

return

1

return

0

}

void

main()

{

struct

atm

*p

int

t=0

p=creat()

do

t++

while(!yanzheng(p)&&t<3)

if(t==3){printf("密码连续三次输入错误,退出程序!\n")return

1}

while(1)

{

system("cls")

printf("****欢迎您使用ATM取款机!****\n")

printf("1:\t取款\n")

printf("2:\t查看余额\n")

printf("0:\t退出\n")

printf("请选择:")

scanf("%d",&t)

fflush(stdin)

switch(t)

{

case

1:qukuan(p)break

case

2:print(p)break

}

if(!t)

{

sys("请按任意键退出...")

break

}

sys("请按任意键返回...")

}

}