程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 求助各位大神-編譯出錯:“choice”: 未聲明的標識符 ;“delete”: 不能刪除不是指針的對象 1>

求助各位大神-編譯出錯:“choice”: 未聲明的標識符 ;“delete”: 不能刪除不是指針的對象 1>

編輯:編程綜合問答
編譯出錯:“choice”: 未聲明的標識符 ;“delete”: 不能刪除不是指針的對象 1>

#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分支,否則可能出現無返回值的情況

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved