# include"account.h"
# include<iostream>
using namespace std;
int main() {
Date date(2008, 11, 1);
SavingsAccount sa1(date, "S3755217", 0.015);
SavingsAccount sa2(date, "02342342", 0.015);
CreditAccount ca(date, "C5392394", 10000, 0.0005, 50);
Account * accounts[]={&sa1,&sa2,&ca};
const int n=sizeof(accounts)/sizeof(Account*);
cout<<"(d)deposit (w)withdraw (s)show (c)change day(n)next month (e)exit"<<endl;
char cmd;
do {
date.show();
cout<<"\tTotal:"<<Account::getTotal()<<"\tcommand>";
int index,day;
double amount;
string desc;
cin>>cmd;
switch(cmd){
case'd':
cin>>index>>amount;
getline(cin,desc);
accounts[index]->deposit(date,amount,desc);
break;
case'w':
cin>>index>>amount;
getline(cin,desc);
accounts[index]->withdraw(date,amount,desc);
break;
case's':
for(i=0; i<n; i++){
cout<<"["<<i<<"]";
accounts[i]->show();
cout<<endl;
}
break;
case'c':
cin>>day;
if (day<date.getDay())
cout<<"You cannot specify a previous day";
else if(day<date.getMaxDay())
cout<<"Invalid day";
else
date=Date(date.getYear(),date.getMonth(),day);
break;
case'n':
if(date.getMonth()==12)
date=Date(date.getYear()+1,1,1);
else
date=Date(date.getYear(),date.getMonth()+1,1);
for(i=0;i<n;i++)
accounts[i]->settle(date);
break;
}
}while(cmd!='e');
return 0;
}
uj5u.com熱心網友回復:
你能貼出這么長的代碼,卻問這種問題,一看就知道從某個地方拷貝的代碼。uj5u.com熱心網友回復:
int index,day; 這里追加一下i變數的宣告,即改成int index,day,i;
uj5u.com熱心網友回復:
你 i就是沒定義呀 for(i=0;i<n;i++) 改成for(int i=0;i<n;i++)uj5u.com熱心網友回復:
我不會就是照著打的所以來問謝謝大家。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77481.html
標籤:C++ 語言
上一篇:設計模式 工廠類
