鱼C论坛

 找回密码
 立即注册
查看: 2898|回复: 3

c++实践ATM模拟程序《经典题》

[复制链接]
发表于 2011-7-9 18:03:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
RT  我做了一个粗糙的ATM程序不够严谨 求各位大侠帮忙完善下
  1. #include <iostream>
  2. #include<ctime>
  3. using namespace std;
  4. struct ACCOUNT_STRU //结构体类型构造账户
  5. {
  6.         char user_name[20];          // 账户 姓名
  7.         char user_**;               // 账户 性别
  8.         int user_pass;               // 账户 证件号
  9.         char user_telephone[12];     // 账户 电话
  10.         char user_addr[30];          // 账户 地址
  11.     int car_NO;                  // 账户 账号
  12.         int car_passwd;              // 账户 密码
  13.         double car_money;            // 账户 金额
  14. };
  15. int main()

  16. {
  17.        
  18.         ACCOUNT_STRU user_01;
  19.         cout<<"请填写开户表单"<<endl;
  20.     cout<<"输入账户姓名:"<<endl; cin>>user_01.user_name;
  21.         cout<<"输入账户性别:"<<endl; cin>>user_01.user_**;
  22.         cout<<"输入账户证件号:"<<endl;cin>>user_01.user_pass;
  23.         cout<<"输入账户电话:"<<endl; cin>>user_01.user_telephone;
  24.         cout<<"输入账户地址:"<<endl; cin>>user_01.user_addr;
  25.         cout<<"输入账户密码:"<<endl; cin>>user_01.car_passwd;
  26.         cout<<"注入账户金额:"<<endl; cin>>user_01.car_money;
  27.         cout<<"等待审核生成账号"<<endl;
  28.         int randNumber;   // 定义自动生成账号
  29.     srand( time( NULL ) );                    // 自动生成
  30.     randNumber = rand() % 100000000;   
  31.         user_01.car_NO=randNumber;
  32.         cout<<user_01.car_NO<<endl;
  33.         cout<<"****************************************"<<endl;
  34.         cout<<"****************************************"<<endl;

  35.     int user,pass;// 保存 用户输入的变量
  36.         char num;              // switch 量
  37.         int money01,money02,money03; // 存取款金额 转账金额
  38.         int p_user_NO;
  39.        
  40.         cout<<"请输入账号:\n";
  41.         cin>>user;
  42.         while (user==user_01.car_NO)
  43.         {
  44.                 cout<<"请输入密码:\n";
  45.                 cin>>pass;
  46.                   while(pass==user_01.car_passwd )
  47.                          while(num!='#')
  48.                          {  
  49.                            cout<<"*****欢迎使用san千银行ATM*****\n";
  50.                        cout<<"输入数字【1】****查询余额*******\n";
  51.                            cout<<"输入数字【2】****存款***********\n";
  52.                cout<<"输入数字【3】****取款***********\n";
  53.                            cout<<"输入数字【4】****转账***********\n";
  54.                            cout<<"输入数字【5】****余额明细查询***\n";
  55.                            cout<<"输入字母【#】****退出账户*********\n";
  56.                            cin>>num;
  57.                            switch (num)
  58.                           {
  59.                            case '1':
  60.                                    cout<<"账号:"<<user_01.car_NO<<"的余额"<<user_01.car_money<<endl;
  61.                                    break;
  62.                   
  63.                            case '2':
  64.                                    cout<<"请注入金额:";
  65.                                    cin>>money01;
  66.                                    user_01.car_money+=money01;
  67.                                   break;
  68.                            case '3':
  69.                                    cout<<"请输入取款数额";
  70.                                    cin>>money02;
  71.                                    user_01.car_money=user_01.car_money-money02;
  72.                                    break;

  73.                            case '4':
  74.                                    cout<<"请输入转账账号:";
  75.                                    cin>>p_user_NO;
  76.                                    cin>>money03;
  77.                                    user_01.car_money=user_01.car_money-money03;
  78.                                    break;
  79.                                   
  80.                            case '5':
  81.                                    cout<<"最近明细查询:";
  82.                                    cout<<user_01.car_money<<endl;
  83.                                    break;

  84.                            default:
  85.                                  
  86.                                    break;;

  87.                           
  88.                           }
  89.             break;
  90.                   }
  91.         cout<<"输入错误请核对户再输入:";
  92.                  break;

  93.        
  94.          
  95.         }
  96.        

  97.        
  98.         return 0;

  99. }
复制代码



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-10 13:43:35 | 显示全部楼层
- -坐等高手帮忙呀~!@
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-20 21:44:22 | 显示全部楼层
#include <iostream>
#include<string.h>
#include<ctime>

#include<conio.h>
using namespace std;
void password();
struct ACCOUNT_STRU //结构体类型构造账户

{

        char user_name[20];          // 账户 姓名

       char user_sex;               // 账户 性别

                char user_pass[20];               // 账户 证件号

       char user_telephone[12];     // 账户 电话

        char user_addr[30];          // 账户 地址
                int car_NO;                  // 账户 账号

        int car_passwd;              // 账户 密码
       double car_money;            // 账户 金额

};

int main()


{

        ACCOUNT_STRU user_01;

        cout<<"请填写开户表单"<<endl;

                cout<<"输入账户姓名:"<<endl; cin>>user_01.user_name;

                cout<<"输入账户性别:"<<endl; cin>>user_01.user_sex;

        cout<<"输入账户证件号:"<<endl;cin>>user_01.user_pass;
               
                cout<<"输入账户电话:"<<endl; cin>>user_01.user_telephone;

        cout<<"输入账户地址:"<<endl; cin>>user_01.user_addr;

                cout<<"输入账户密码:"<<endl;
                password();

        cout<<"注入账户金额:"<<endl; cin>>user_01.car_money;

        cout<<"等待审核生成账号"<<endl;

        long  randNumber;   // 定义自动生成账号
                srand( time( NULL ) );                    // 自动生成

    randNumber = rand() % 100000000;   

       user_01.car_NO=randNumber;

        cout<<user_01.car_NO<<endl;

        cout<<"****************************************"<<endl;

       cout<<"****************************************"<<endl;



   int user,pass;// 保存 用户输入的变量

       char num;              // switch 量

       int money01,money02,money03; // 存取款金额 转账金额

        int p_user_NO;
        

        cout<<"请输入账号:\n";
                getchar();

        cin>>user;

        while (user==user_01.car_NO)

       {

               cout<<"请输入密码:\n";

               password();

                 while(pass==user_01.car_passwd )

                       while(num!='#')

                        {  

                           cout<<"*****欢迎使用san千银行ATM*****\n";

                      cout<<"输入数字【1】****查询余额*******\n";

                          cout<<"输入数字【2】****存款***********\n";

               cout<<"输入数字【3】****取款***********\n";

                           cout<<"输入数字【4】****转账***********\n";

                          cout<<"输入数字【5】****余额明细查询***\n";
                           cout<<"输入字母【#】****退出账户*********\n";

                           cin>>num;

                          switch (num)

                         {

                          case '1':

                                  cout<<"账号:"<<user_01.car_NO<<"的余额"<<user_01.car_money<<endl;

                                   break;


                          case '2':

                                   cout<<"请注入金额:";
                                  cin>>money01;
                                  user_01.car_money+=money01;

                                  break;

                          case '3':

                                  cout<<"请输入取款数额";
                                  cin>>money02;

                                   user_01.car_money=user_01.car_money-money02;

                                   break;



                           case '4':

                                   cout<<"请输入转账账号:";
                                 cin>>p_user_NO;
                                   cin>>money03;

                                  user_01.car_money=user_01.car_money-money03;
                                 break;

                                   
                          case '5':

                                  cout<<"最近明细查询:";
                                  cout<<user_01.car_money<<endl;

                                   break;


                           default:

                                   break;;

                          }

            break;
                  }

       cout<<"输入错误请核对户再输入:";
                break;

        
       }

      
        return 0;



}
void password()
{
        char ch[8];
       
        for(int i=0;i<8;i++)
        {
                ch[i]=getch();
                cout<<"*";
        }
        cout<<endl;
}
代码给你改好了,自己好好运行一下,还有那个证件账号最好定义为数组,因为你的整形的容纳的个数太少了!还有那个密码怎么可以输出是明码呢,给你改好了,自己看看吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-3 09:48:39 | 显示全部楼层
谢谢... 我刚刚从外地回来 开始继续学习 还请多多指教- -:loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 06:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表