程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-(C++)小白來提問,程序出錯。

c++-(C++)小白來提問,程序出錯。

編輯:編程綜合問答
(C++)小白來提問,程序出錯。

#include
using namespace std;

double capital = 0.0;

double cal(int num, double quantity)
{
switch (num)
{
case 0:
return quantity*1.50;
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 main()
{
cout << "提示:本店提供8種水果,如下(左邊為水果編號及名稱,右邊為其單價)" << endl;
cout << "0西瓜 1.50,1木瓜 1.70,2哈密瓜 4.60,3蘋果 0.9\n" << "4梨 2.50,5柚子 3.70,6猕猴桃 7.60,7山楂 3.90" << endl;
int num_choice = 0;
while (1)
{
int Y_N;
cout << "請輸入你你要購買的種類數量:";
cin >> num_choice;

    if (num_choice == 0)
    {
        cout << "您確定只是看看嗎?要不買點吧?繼續請按1,退出請按0" << endl;
        cin >> Y_N;
        if (Y_N == 0)
        {
            cout << "退出成功!" << endl;
            break;
        }
        else if (Y_N == 1)
        {
        }
        else
            cout << "不要搗亂,請按規定輸入哦,親" << endl;
    }
    else
    {
        cout << "種類編號分別為:";
        int *choice = new int[num_choice];
        double *quantity_choice = new double[num_choice];
        for (int i = 0; i < num_choice; i++)
            cin >> choice[i];
        cout << "請輸入對應購買種類的重量:";
        for (int i = 0; i < num_choice; i++)
            cin >> quantity_choice[i];

        for (int j = 0; j < num_choice; j++)
        {
            capital += cal(choice[j], quantity_choice[j]);
        }

        cout << "繼續購物嗎?繼續請按1,否則請按0,開始結算" << endl;
        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;

}

以上是程序,請無視掉小白的system("pause")
以下是錯誤提示
error C2065: “choice”: 未聲明的標識符
error C2541: “delete”: 不能刪除不是指針的對象
error C2065: “choice”: 未聲明的標識符
error C2065: “quantity_choice”: 未聲明的標識符
error C2541: “delete”: 不能刪除不是指針的對象
error C2065: “quantity_choice”: 未聲明的標識符

應該是因為自己不熟悉int *XXXXX=new int[XXX]的用法,哪位大咖來給講一下,謝謝了。

最佳回答:


choice
quantity_choice
的作用域是語句組的大括號內,現在不在此范圍,編譯器不知道這個名字,所以錯誤
warning C4715: “cal”: 不是所有的控件路徑都返回值

你要加上一個 defult :分支,並返回一個值,
或者在函數最後返回一個值

這樣才能保證 函數每個路徑,有個正確的返回值,
不然必然有一條路徑,返回一個不確定的值

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