注册 登录
编程论坛 C++教室

用了gerchar(),屏幕还是一闪而过怎么办(自动取款机的程序)

Angel乖乖 发布于 2011-11-18 11:46, 2235 次点击
程序代码:
#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
不知道是怎么回事,执行时屏幕总是一闪而过
谁来帮帮我啊。。。
30 回复
#2
亦尘2011-11-18 11:50
用两个就可以啦
#3
Angel乖乖2011-11-18 11:51
who know
哪里出了问题啊
没有人吗
#4
Angel乖乖2011-11-18 11:53
回复 2楼 亦尘
不行。。。
#5
hellovfp2011-11-18 11:53
按Ctrl+F5.
#6
hellovfp2011-11-18 11:54
或是在 cout<<"谢谢使用!"<<endl;
下断点,调试运行。
#7
Angel乖乖2011-11-18 11:57
回复 6楼 hellovfp
不行
#8
Angel乖乖2011-11-18 11:58
回复 6楼 hellovfp
你试着帮我运行一下
程序有错吗?
#9
hellovfp2011-11-18 12:16
错误很多,所以你不能运行。
#include <iostream>
#include <string>
#include <cstdio>
#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(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;
    }
    return succee;
}
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;
}
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;
    }
    cout<<"谢谢使用!"<<endl;
    getchar();
    return 0;
}
#10
hellovfp2011-11-18 12:22
上面只是简单的改错,
头部
#include <string>
#include <cstdio> // getchar()函数申明所需头文件
using namespace std;  //cout , cin的使用必须使用名字空间std。
不要使用自定义的error, success值,C++中有bool变量,直接返回true ,false代表正确或是错误。
成员变量name类型改成了string.构造函数中char *n, 改成了string n,在C++中请使用string字符串类,而不要使用字符串指针。

while(c=!4)改成while(c!=4),自己粗心打错了。

其它的运行错误,没有看了,自己调试吧。


[ 本帖最后由 hellovfp 于 2011-11-18 12:24 编辑 ]
#11
hellovfp2011-11-18 12:31
只有本站会员才能查看附件,请 登录

9个错误,二个警告,vc2008里可能提示更多。。按Ctrl+F5,如果程序编译出错,你要仔细查看代码窗口下面的编译错误信息窗口,双击上面的错误条,自动弹到你的错误行,改错。
#12
Angel乖乖2011-11-18 12:31
回复 9楼 hellovfp
主函数必须是int类型的吗
用void 可以不
#13
hellovfp2011-11-18 12:33
VC可以,这个不是主要问题,只是新的C++编程规范要求主函数定义必须是int型的。
#14
Angel乖乖2011-11-18 12:41
回复 13楼 hellovfp
现在能执行了,就是结果错误
函数调用有问题
你能再帮我看看吗
#15
hellovfp2011-11-18 12:48
函数调用问题就只有靠你自己了,学会调试,vc2008调试好象是按F10,F11,下断点是F9,否则你自己是学不到什么东西的,今天这个程序既使我帮你调试成功了,你自己下个程序一样的,也不会调试。
#16
hellovfp2011-11-18 13:14
int ACCOUNT::chaxun(unsigned long id,unsigned int pw)
{
    if(check(pw,id))  《----唉,粗心啊,check函数把传入值写反了,check(id, pw),连第一个查询功能都出现问题呢。
        return ballance;

#17
hellovfp2011-11-18 13:24
        cout<<"请继续选择"<<endl;
        cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
        cin >> c;    《----最后那里while循环内,少了这句,菜单选择会不生效的。
    }
    cout<<"谢谢使用!"<<endl;
    getchar();
    return 0;
}
大至改了一下:1,3,4功能成功,第2个取款总觉得你的提示有点问题,或是你没有写完。自己改吧。
程序代码:
#include <iostream>
#include <string>
#include <cstdio>
#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,const 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,const char * n,int a)
{
    ID=id;
    password=pw;
    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;
    }
    return succee;
}
int ACCOUNT::chaxun(unsigned long id,unsigned int pw)
{
    if(check(id,pw))
        return ballance;
    else
    {
        cout << "here" << endl;
        return error;
    }
}
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;
    cout << A.chaxun(1005170228, 123456) << endl;
    cin>>c;
    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;

            cout << id << endl;
            cout << pw << endl;
            cout << "invoke here" << endl;
            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();
    return 0;
}

#18
hellovfp2011-11-18 13:31
加了一些调试输出语句,自己删除吧,结果给你了,但。。。你从里面学到了什么呢?vc2008表示鸭梨很大。
#19
jinh2011-11-18 15:08
程序代码:
#include<iostream>
#include<string.h>
using namespace std;
//#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 0;
    else
    {
        ballance+=a;
        return 1;
        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;
    }
    if(!check(id,pw)){
        return 0;
        cout<<"用户名密码错误!!"<<endl;
    }
    else
    {if(ballance<a)
    cout<<"您的余额已不足!"<<endl;
    else
        ballance-=a;
    return ballance;
    }
}
int ACCOUNT::chaxun(unsigned long id,unsigned int pw)
{
    int ji=check(id,pw);
    if(ji==1)
        return ballance;
    else
        return 0;
}
int ACCOUNT::check(unsigned long id,unsigned int pw)
{
    if(id==1005170228&&pw==123456)
        return 1;
    else
        return 0;
}
void main()
{
    ACCOUNT A(1005170228,123456,"Angel",500);
    int c;
    unsigned long id;
    unsigned int pw;
    int a;

loop:
    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;
                int ui;
                ui=A.chaxun(id,pw);
      
                cout<<ui<<""<<endl;
            }
            else
                cout<<"操作失败!"<<endl;
            //getchar();
            goto loop;
        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();
            goto loop;
        case 3:
            cout<<"请输入账号:"<<endl;
            cin>>id;
            cout<<"请输入密码:"<<endl;
            cin>>pw;
            if(A.check(id,pw))
                cout<<"您目前的余额为 "<<endl;
            cout<<A.chaxun(id,pw)<<""<<endl;
            //getchar();

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

}
稍微修改了下,不过有些当密码用户名错误时的提示有些没弄,
#20
Angel乖乖2011-11-21 11:13
回复 19楼 jinh
谢谢
#21
Angel乖乖2011-11-21 19:56
回复 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   
     }
 }
这样就好了。
要不然程序刚好是反的
很谢谢你呀!!
辛苦了。。
#22
m1c2f48432011-11-21 21:58
设断点 慢慢调 自己多试几次就会了
#23
lqsh2011-11-22 00:11
程序代码:
#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(1,1,"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();

}

自己调试一下程序,很多程序很容易改正,你的程序基本上正确啦。
#24
lqsh2011-11-22 00:15
调用check()函数判断上逻辑有问题,已帮你改正。另外像while(C!=4)写错太不应该,学会debug自己的code
#25
Angel乖乖2011-11-22 08:24
回复 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;

 }
当我改了逻辑之后 完全不能执行。。。
#26
hellovfp2011-11-22 14:02
程序代码:
#include <iostream>
#include <string>
#include <cstdio>

#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();
            }
            else
            {
                cout << "★账号或是密码错误!★" << endl;
            }
            break;
        }
        cout<<"-----------------------"<<endl;
        cout<<"请继续选择"<<endl;
        cout<<"<1>存款\n<2>取款\n<3>查询余额\n<4>结束"<<endl;
        cin>>c;
    }
    cout<<"谢谢使用!"<<endl;
    getchar();
    getchar();
    return 0;
}
不过,C++程序真的不是这么写的。
#27
Angel乖乖2011-11-22 19:15
回复 26楼 hellovfp
太谢谢你了!!
其实我自己改过,都没改对。。。
那怎样写C++啊??
#28
Angel乖乖2011-11-22 23:22
最后一点

   
程序代码:

     if(!check(id,pw))
      return error;
   
     else
     {
         if(ballance<a)
         {
             cout<<"您的余额已不足!"<<endl;
         return error;                         //加上这句就完美了,要不就出现小小的错误
         }
         else
             ballance-=a;
         return ballance;
     }
     
  
#29
Angel乖乖2011-11-22 23:24
最后发一遍完整代码
程序代码:
#include

 #include


 #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<<"您的余额为:"<
终于完整喽
撒花撒花。。。


[ 本帖最后由 Angel乖乖 于 2011-11-22 23:29 编辑 ]
#30
Angel乖乖2011-11-22 23:31
谢谢大家。。。
#31
Angel乖乖2011-11-22 23:31
程序代码:
#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;
         return error;
         }
         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();
             }
             else
             {
                 cout << "★账号或是密码错误!★" << endl;
             }


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

 }
1