wronadlo 发表于 2008-5-17 17:00

自编模拟ATM(自动柜员机)界面程序代码

#include<iostream.h>
#include <stdlib.h>
void main()
{
        cout<<"欢迎使用"<<endl;
        char ch,p;
        cout<<"=====================\n";
        cout<<"    a取钱"<<endl;
        cout<<"    b存钱"<<endl;
        cout<<"    c查询余额"<<endl;
        cout<<"    d取卡"<<endl;
        cout<<"=====================\n";
        cout<<"请输入你想执行的:";
        cin>>ch;       
        while(ch!='a'&&ch!='b'&&ch!='c'&&ch!='d')
        {
                cout<<"你输入有误,请重新输入";
                cin>>ch;
        }
        cout<<"======================!";
        int i,j;
        system("cls");

        while(ch!='d')
        {
                switch(ch)
                {
                case'a':
                        {
                                cout<<"请选择你要取出的金额\n";
                                cout<<"1.$50\n";
                            cout<<"2.$100\n";
                            cout<<"3.$200\n";
                             cout<<"4.退出  \n";
                                cin>>p;
                                while(p!='1'&&p!='2'&&p!='3'&&p!='4')
                                {
                                        cout<<"你输入有误,请重新输入";
                                        cin>>p;
                                }
                                system("cls");

                            switch(p)
                                {
                            case'1':cout<<"you gredit money is $50,thank you!\n";break;
                        case'2':cout<<"you gredit money is $100,thank you!\n";break;
                            case'3':cout<<"you gredit money is $200,thank you!\n";break;
                            case'4':cout<<"thank you for using!\n";break;
                                }
                                break;                               
                        }
                case'b':
                        {                               
                                int o;
                                cout<<"请输入你要存人的数额:"<<endl;
                                cin>>o;
                       
                                int w;
                                cout<<"请输入帐号:"<<endl;
                                cin>>w;
                                cout<<"你存入了"<<o<<"到帐号"<<w<<endl;
                                system("cls");
                                cout<<"thank you for useing"<<endl;
                                break;
                        }
                case'c':
                        {
                                cout<<"你的余额为$1000\n";
                                break;
                               
                        }
                       
                }
                break;

                cout<<"thank you for  useing"<<endl;
        }
       
}

感觉里面有不好的地方.请高手指教下..比如如何能在存钱里限制只能输入数字的限制..
 

中学者 发表于 2008-5-17 17:31

用类来封装一下吧....

hago 发表于 2008-5-18 17:37

你这有缺陷啊  呵呵
执行一次操作就停止了
可以改成:
while( cin>>ch != EOF){
    switch ( ch ){
        ...
    }
}
会不会好点呢。。。仅供参考

C++交流群:57853315

yuhe1314 发表于 2008-5-21 09:49

呵呵

如果卡没钱了,还能继续取钱吗?
我觉得应该设置账号与密码!!还有余额提示!!!
呵呵呵[tk05]

bibingyan 发表于 2008-5-26 23:20

封装成类吧。然后继续完善

漫游者李李西 发表于 2008-5-28 20:44

回复 3# hago 的帖子

好想改成cin>>ch!=EOF不行,我都编不过去,而且break会退出当前循环的

355023722 发表于 2008-5-28 23:34

楼主我怎么取不出钱来呀。。。

hanpengqd 发表于 2008-7-7 16:30

呵呵,很有必要改进下阿

A_tang 发表于 2008-7-7 22:17

在开始就搞个while(1)死循环吧~~~
一直进行上面的操作,然后在选d的时候break出来~~

zcnvnv 发表于 2008-7-8 03:40

楼主想干嘛?编完放银行门口钓鱼???

页: [1]

编程论坛