| 
| 
查看: 974|回复: 11
 | 
请大家帮小弟看看这程式的ERROR(新的error)
[复制链接] |  
 |  | 
 
| 小弟的project 是banking system.... 小弟大概写了一个draft,可是有5个error解决不到,是compline 后得到的error,
 所以,请各位长辈帮忙看看....
 
 //This Peoject is about system banking.
 #include<iostream>
 #include<fstream>
 #include<cstdlib>
 using namespace std;
 
 
 double storemoney(double);
 double takeoutmoney(double);
 double checking(double);
 int main()
 {
 int a;
 int sm;
 int tom;
 int cm;
 
 cout<<"ATM BANK OF EVOLUTION\n\n\n";
 cout<<"1.SAVING\n";
 cout<<"2.DRAWING\n";
 cout<<"3.CHECKING ACCOUNT\n";
 cout<<"4.Quit\n\n";
 cout<<"Please Enter A Number\n";
 cin>>a;
 
 if (a=1)
 storemoney(sm);
 else if        (a=2)
 takeoutmoney(tom);
 else if (a=3)
 checking(cm);
 else
 cout<<"Thank You\n"<<"Please Come Again\n";
 
 
 return 0;
 }
 
 //function to store money
 double storemoney(double sm)
 {
 int earn;
 cout<<"How much you want to store?\n";
 cin>>earn;
 cout>>"You have store <<earn<< in the bank\n";
 cout>>"Your balance in the account is xxx\n";
 return 0;
 }
 
 //function to take out money from bank
 double takeoutmoney(double tom)
 {
 int lose;
 cout<<"How much you want to take out?\n";
 cin >>lose;
 cout>>"You have take out <<lose<< from the bank";
 cout>>"Your balance in the account is xxx\n";
 return 0;
 }
 
 //function to checking account
 double checking(double cm)
 {
 cout>>"Your balance in the bank is xxx\n";
 return 0;
 }
 
 [ 本帖最后由 evo9 于 16-11-2005 11:24 PM 编辑 ]
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 01:01 AM
|
显示全部楼层 
| 原帖由 evo9 于 9-11-2005 11:46 PM 发表小弟的project 是banking system....
 小弟大概写了一个draft,可是有5个error解决不到,是compline 后得到的error,
 所以,请各位长辈帮忙看看....
 
 //This Peoject is about system banking.
 #include<ios ...
 cout过后的expression是<<,不是>>
 这是我该的几行,不算是大问题,应该是你粗心吧。
 
 cout<<"You have store"<<earn<<" in the bank\n";
 cout<<"Your balance in the account is xxx\n";
 
 cout<<"You have take out "<<lose<< "from the bank";
 cout<<"Your balance in the account is xxx\n";
 
 cout<<"Your balance in the bank is xxx\n";
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 01:14 AM
|
显示全部楼层 
| 1.) cout 箭頭方向錯了 double storemoney(double sm)
 {
 int earn;
 cout<<"How much you want to store?\n";
 cin>>earn;
 cout>>"You have store <<earn<< in the bank\n";
 cout>>"Your balance in the account is xxx\n";
 return 0;
 }
 
 2.) 邏輯錯誤,不是 a=1 , 應該是 a == 1 ,
 這個錯誤很常犯而且很難debug,以後要注意
 
 if (a=1)
 storemoney(sm);
 else if        (a=2)
 takeoutmoney(tom);
 else if (a=3)
 checking(cm);
 else
 cout<<"Thank You\n"<<"Please Come Again\n";
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 01:16 AM
|
显示全部楼层 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 
 楼主|
发表于 10-11-2005 03:31 AM
|
显示全部楼层 
| 谢谢大家,请问一下的warning 是什么意思? 
 Compiling...
 main.cpp
 C:\Documents and Settings\David\Desktop\banking system Project\main.cpp(27) : warning C4700: local variable 'sm' used without having been initialized
 C:\Documents and Settings\David\Desktop\banking system Project\main.cpp(29) : warning C4700: local variable 'tom' used without having been initialized
 C:\Documents and Settings\David\Desktop\banking system Project\main.cpp(31) : warning C4700: local variable 'cm' used without having been initialized
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 09:28 AM
|
显示全部楼层 
| warning 警告, 
 initialize 后的 variables
 必须给一个value,
 否则程序可能会出现问题..
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 
 楼主|
发表于 10-11-2005 12:44 PM
|
显示全部楼层 
| 原帖由 jasonmun 于 10-11-2005 09:28 AM 发表warning 警告,
 
 initialize 后的 variables
 必须给一个value,
 否则程序可能会出现问题..
 //This Peoject is about system banking.
 #include<iostream>
 #include<fstream>
 #include<cstdlib>
 using namespace std;
 
 
 double storemoney(double);
 double takeoutmoney(double);
 double checking(double);
 int main()
 {
 int a;
 int sm;
 int tom;
 int cm;
 
 cout<<"ATM BANK OF EVOLUTION\n\n\n";
 cout<<"1.SAVING\n";
 cout<<"2.DRAWING\n";
 cout<<"3.CHECKING ACCOUNT\n";
 cout<<"4.Quit\n\n";
 cout<<"Please Enter A Number\n";
 cin>>a;
 
 if (a==1)
 storemoney(sm);
 
 else if        (a==2)
 takeoutmoney(tom);
 else if (a==3)
 checking(cm);
 else
 cout<<"Thank You\n"<<"Please Come Again\n";
 
 
 return 0;
 }
 
 //function to store money
 double storemoney(double sm)
 {
 int earn;
 cout<<"How much you want to store?\n";
 cin>>earn;
 cout<<"You have store "<<earn<<" in the bank\n";
 cout<<"Your balance in the account is xxx\n";
 return 0;
 }
 
 //function to take out money from bank
 double takeoutmoney(double tom)
 {
 int lose;
 cout<<"How much you want to take out?\n";
 cin >>lose;
 cout<<"You have take out <<lose<< from the bank";
 cout<<"Your balance in the account is xxx\n";
 return 0;
 }
 
 //function to checking account
 double checking(double cm)
 {
 cout<<"Your balance in the bank is xxx\n";
 return 0;
 }
 
 
 
 
 
 
 我的是要user enter 才会有value, 之前是没有的,可是要怎样initialized?
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 01:12 PM
|
显示全部楼层 
| 我搞不懂你的sm, tom, cm这三个parameter是用来干嘛的? | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 发表于 10-11-2005 10:35 PM
|
显示全部楼层 
| 注意你的符號, 一般上會製造很多預想不到的 bug 
 
 cout<<"You have store "<<earn<<" in the bank\n";
 
 cout<<"You have take out <<lose<< from the bank";
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 
 楼主|
发表于 16-11-2005 11:26 PM
|
显示全部楼层 
| 小弟的这段function 有问题.... account的data 数据是100,我store 20, balance 还是100,我要的是120....
 
 //function to store money
 double storemoney(double sm)
 {
 int earn;
 ifstream infile;
 int sum=0;
 
 infile.open("account.dat");
 if(infile)
 {
 
 cout<<"How much you want to store?\n";
 cin>>earn;
 cout<<"You have store "<<earn<<" in the bank\n";
 infile>>earn;
 sum=sum+earn;
 cout<<"Your balance in the account is "<<sum<<""<<endl;
 
 infile.close();
 }
 else
 {
 cerr<<"Unable to open the account data"<<endl;
 }
 
 return 0;
 }
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 
 楼主|
发表于 17-11-2005 09:23 PM
|
显示全部楼层 
| 昨天的问题解决了,要谢谢雨吟 谢谢你哦....
 
 现在小弟有几个问题,为什么我的if statement 不能这样放?
 if(n<=0&&n=ch)
 cout<<"invalid input\n";
 
 我要的是不能输入character...
 请各位大大帮忙...
 | 
 |  |  |  |
 
|  |  |  
|  |  | 
 |  | 
 
 
 楼主|
发表于 18-11-2005 12:14 AM
|
显示全部楼层 
| 最新问题,以上的解决了,为什么不能够选y/n,会auto跳到okie去..... 
 //function to store money
 double storemoney(double sm)
 {
 int earn;
 ifstream infile;
 ofstream outacc;
 ofstream outfile;
 int accmoney;
 char ch;
 char confirm;
 
 infile.open("account.dat");
 if(infile)
 {
 
 while(infile >> accmoney )
 {
 
 cout<<"How much you want to store?\n";
 cin>>earn;
 if(earn<=0&&ch)
 {
 cout<<"Invalid Input\n";
 goto again;
 }
 else if(earn>0)
 {
 cout<<"You have store "<<earn<<" in the bank\n";
 accmoney = accmoney + earn;
 blmoney:cout<<"Your balance in the account is "<<accmoney<<""<<endl;
 }
 else
 {
 again:cout<<"Do You Want to Store Again?(Y/N)\n";
 cin>>confirm;
 
 if(confirm='y'||'Y')
 cout<<"okie\n";
 else if(confirm='n'||'N')
 goto blmoney;
 else
 cout<<"Invalid Input";
 
 
 }
 }
 
 infile.close();
 
 outacc.open("account.dat");
 outacc<<accmoney;
 outacc.close();
 
 outfile.open("result.dat");
 if(!outfile)
 {
 cerr<<"result.dat could not be opened";
 }
 else
 {
 outfile<<"The account balance is "<<accmoney<<""<<endl;
 outfile.close();
 }
 }
 else
 {
 cerr<<"Unable to open the account data"<<endl;
 }
 
 return 0;
 }
 | 
 |  |  |  |
 
|  |  |  
|  |  |  |  | 
            本周最热论坛帖子 |