#include "stdafx.h"
#include
using namespace std;
double capital=0.0;/*將全額capital設置為全局變量,目的是在多次購買時,
下一次的全額不會覆蓋上一次的全額值*/
double cal(int num,double quantity)
{
switch(num)
{
case 0 :
return quantity*1.50;//case中有return語句,所以不需要break語句
case 1 :
return quantity*1.70;
case 2 :
return quantity*4.60;
case 3 :
return quantity*0.90;
case 4 :
return quantity*2.50;
case 5 :
return quantity*3.70;
case 6 :
return quantity*7.60;
case 7 :
return quantity*3.90;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"提示:"<
cout
cout
int num_choice;//買了幾種水果
while(1)
{
int Y_N;
cout
cin>>num_choice;
if(num_choice==0)//不買東西
{
cout<<"您確定只是看看嗎?要不買點吧?繼續請按1,退出請按0"<
cin>>Y_N;
if(Y_N==0)
{
cout<<"退出成功!"<
break;
}
else if(Y_N==1)
{}
else
{
cout
}
}
else
{
cout
int *choice=new int[num_choice];//事先不知道購買多少種水果,所以有new的方式申請內存
double *quantity_choice=new double[num_choice];
for(int i=0;i
cin>>choice[i];//輸入購買水果的各類編號
cout<<"請輸入對應各種水果的重量:"<
for(int j=0;j
cin>>quantity_choice[j];//輸入購買水果的重量
for(int i=0;i
capital+=cal(choice[i],quantity_choice[i]);//計算金額
cout
cin>>Y_N;
if(Y_N==0)
{
cout<<"開始結算,請付"<<capital<<endl;
break;
}
else if(Y_N==1)
{}
else
{
cout<<"親!請不要隨便按,要按規定輸入哦!"<<endl;
}
}
}
delete[] choice;
choice=NULL;
delete[] quantity_choice;
quantity_choice=NULL;
system("pause");
return 0;
}
在你main開始的的地方加上
int *choice;
double *quantity_choice;
對應的
choice=new int[num_choice];//事先不知道購買多少種水果,所以有new的方式申請內存
quantity_choice=new double[num_choice];
不要定義。
另外cal函數應該給switch加上default分支,否則可能出現無返回值的情況