| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2235 人关注过本帖
标题:用了gerchar(),屏幕还是一闪而过怎么办(自动取款机的程序)
取消只看楼主 加入收藏
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:14 
用了gerchar(),屏幕还是一闪而过怎么办(自动取款机的程序)
程序代码:
#include<iostream>
#include<string.h>
#define error 0
#define succee 1
class ACCOUNT
{
private:
    unsigned long ID;
    unsigned int password;
    char name[20];
    int ballance;
public:
    ACCOUNT(unsigned long id,unsigned int pw,char *n,int a);

    int cunkuan(unsigned long id,unsigned int pw,int a);
    int qukuan(unsigned long id,unsigned int pw,int a);
    int chaxun(unsigned long id,unsigned int pw);
    int check(unsigned long id,unsigned int pw);
};
ACCOUNT::ACCOUNT(unsigned long id,unsigned int pw,char *n,int a)
{
    ID=id;password=pw;
    strcpy(name, n);
    ballance=a;

}
int ACCOUNT::cunkuan(unsigned long id,unsigned int pw,int a)
{
    if(check(pw,id))
        return error;
    else
    {
        ballance+=a;
        return succee;
        cout<<"您的余额为:"<<ballance<<endl;
    }
}
int ACCOUNT::qukuan(unsigned long id,unsigned int pw,int a)
{
    if(check(pw,id))
        return error;
    else
    {if(ballance<a)
    cout<<"您的余额已不足!"<<endl;
    else
        ballance-=a;
    }
}
int ACCOUNT::chaxun(unsigned long id,unsigned int pw)
{
    if(check(pw,id))
        return ballance;
    else
        return error;
}
int ACCOUNT::check(unsigned long id,unsigned int pw)
{
    if(id==ID&&pw==password)
        return succee;
    else
        return error;
}
void main()
{
    ACCOUNT A(1005170228,123456,"Angel",500);
    int c;
    unsigned long id;
    unsigned int pw;
    int a;
    cout<<"欢迎使用"<<endl;
    cout<<"-----------------------"<<endl;
    cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
    cout<<"请选择:"<<endl;
    cin>>c;
    getchar();
    while(c=!4)
    {
        switch(c)
        {
        case 1:
            cout<<"请输入账号:"<<endl;
            cin>>id;
            cout<<"请输入密码:"<<endl;
            cin>>pw;
            cout<<"请输入存款余额:"<<endl;
            cin>>a;
            if(A.cunkuan(id,pw,a))
            {
                cout<<"操作成功,您目前的余额为 "<<endl;
       
                cout<<A.chaxun(id,pw)<<""<<endl;
            }
            else
                cout<<"操作失败!"<<endl;
            getchar();
            break;
        case 2:
            cout<<"请输入账号:"<<endl;
            cin>>id;
            cout<<"请输入密码:"<<endl;
            cin>>pw;
            cout<<"请选择取款余额:\t<1>100\t<2>200\t<3>500\t<4>1000"<<endl;
            cin>>a;
            if(A.qukuan(id,pw,a))
            {
                cout<<"操作成功,您目前的余额为 "<<endl;
                cout<<A.chaxun(id,pw)<<""<<endl;
            }
            else
                cout<<"操作失败!"<<endl;
            getchar();
            break;
        case 3:
            cout<<"请输入账号:"<<endl;
            cin>>id;
            cout<<"请输入密码:"<<endl;
            cin>>pw;
            if(A.check(id,pw))
                cout<<"您目前的余额为 "<<endl;
            cout<<A.chaxun(id,pw)<<""<<endl;
            getchar();

            break;
        }
        cout<<"请继续选择"<<endl;
        cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
    }
    cout<<"谢谢使用!"<<endl;
    getchar();

}
我用的是VS2008
不知道是怎么回事,执行时屏幕总是一闪而过
谁来帮帮我啊。。。
搜索更多相关主题的帖子: 怎么办 password 取款机 
2011-11-18 11:46
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
who know
哪里出了问题啊
没有人吗
2011-11-18 11:51
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 2楼 亦尘
不行。。。
2011-11-18 11:53
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 6楼 hellovfp
不行
2011-11-18 11:57
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 6楼 hellovfp
你试着帮我运行一下
程序有错吗?
2011-11-18 11:58
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 9楼 hellovfp
主函数必须是int类型的吗
用void 可以不
2011-11-18 12:31
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 13楼 hellovfp
现在能执行了,就是结果错误
函数调用有问题
你能再帮我看看吗
2011-11-18 12:41
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 19楼 jinh
谢谢
2011-11-21 11:13
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 17楼 hellovfp
这个程序还是有问题
这儿应该改一下
int ACCOUNT::chaxun(unsigned long id,unsigned int pw)
 {
     if(check(id,pw))
         return ballance;---------- 改为return error
     else
     {
         cout << "here" << endl;
         return error;-----------   改为 return ballance   
     }
 }
这样就好了。
要不然程序刚好是反的
很谢谢你呀!!
辛苦了。。
2011-11-21 19:56
Angel乖乖
Rank: 1
等 级:新手上路
帖 子:70
专家分:3
注 册:2011-5-14
收藏
得分:0 
回复 23楼 lqsh
你的虽然逻辑好像对了
但执行起来错误很多  我用VC2008有60多个
我现在的问题是 输入错误的密码竟然能执行
我贴下代码
程序代码:
#include <iostream>

 #include <string>


 #define error 0

 #define succee 1

 using namespace std;

 class ACCOUNT

 {

 private:
     unsigned long ID;
     unsigned int password;
     string name;
     int ballance;

 public:
     ACCOUNT(unsigned long id,unsigned int pw,string n,int a);

    int cunkuan(unsigned long id,unsigned int pw,int a);
     int qukuan(unsigned long id,unsigned int pw,int a);
     int chaxun(unsigned long id,unsigned int pw);
     int check(unsigned long id,unsigned int pw);

 };

 ACCOUNT::ACCOUNT(unsigned long id,unsigned int pw,string n,int a)

 {
     ID=id;
     password=pw;
     name = n;
     ballance=a;

}

 int ACCOUNT::cunkuan(unsigned long id,unsigned int pw,int a)

 {
     if(check(id,pw))
         return error;
     else
     {
         ballance+=a;
         return succee;
         cout<<"您的余额为:"<<ballance<<endl;
     }

 }

 int ACCOUNT::qukuan(unsigned long id,unsigned int pw,int a)

 {
     switch(a)
     {
     case 1:a=100;
              break;
    case 2:a=200;
              break;
     case 3:a=500;
              break;
    case 4:a=1000;
        break;}
             

     if(check(id,pw))
      return error;
   
     else
     {
         if(ballance<a)
             cout<<"您的余额已不足!"<<endl;
       
         else
             ballance-=a;
         return ballance;
     }
   

 }

 int ACCOUNT::chaxun(unsigned long id,unsigned int pw)

 {
   
   
     if(check(id,pw))
         return error;
     else
         return ballance;

 }

 int ACCOUNT::check(unsigned long id,unsigned int pw)

 {
     if(id==ID&&pw==password)
         return succee;
     else
         return error;

 }

 int main()

 {
     ACCOUNT A(1005170228,123456,"Angel",500);
     int c;
     unsigned long id;
     unsigned int pw;
     int a;
     cout<<"欢迎使用"<<endl;
     cout<<"-----------------------"<<endl;
     cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
     cout<<"请选择:"<<endl;

     cin>>c;
     getchar();
     while(c!=4)
     {
         switch(c)
         {
         case 1:
             cout<<"请输入账号:"<<endl;
             cin>>id;
             cout<<"请输入密码:"<<endl;
             cin>>pw;
             cout<<"请输入存款金额:"<<endl;
             cin>>a;
             if(A.cunkuan(id,pw,a))
             {
                 cout<<"操作成功,您目前的余额为 "<<endl;

                cout<<A.chaxun(id,pw)<<""<<endl;
             }
             else
                 cout<<"操作失败!"<<endl;
             getchar();
             break;
         case 2:
             cout<<"请输入账号:"<<endl;
             cin>>id;
             cout<<"请输入密码:"<<endl;
             cin>>pw;
             cout<<"请选择取款余额:\t<1>100\t<2>200\t<3>500\t<4>1000"<<endl;
             cin>>a;
             if(A.qukuan(id,pw,a))
             {
                 cout<<"操作成功,您目前的余额为 "<<endl;
                 cout<<A.chaxun(id,pw)<<""<<endl;
             }
             else
                 cout<<"操作失败!"<<endl;
             getchar();
             break;
         case 3:
             cout<<"请输入账号:"<<endl;
             cin>>id;
             cout<<"请输入密码:"<<endl;
             cin>>pw;
             if(A.check(id,pw))
                 cout<<"您目前的余额为 "<<endl;
             cout<<A.chaxun(id,pw)<<""<<endl;
             getchar();

            break;
         }
         cout<<"请继续选择"<<endl;
         cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
         cin>>c;
     }
     cout<<"谢谢使用!"<<endl;
     getchar();
     getchar();
     return 0;

 }
当我改了逻辑之后 完全不能执行。。。
2011-11-22 08:24
快速回复:用了gerchar(),屏幕还是一闪而过怎么办(自动取款机的程序)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017432 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved