gyl_miracle 2015-05-31 03:10 采纳率: 100%
浏览 2412
已采纳

编译出错:“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;

}

  • 写回答

2条回答

  • threenewbee 2015-05-31 05:45
    关注

    在你main开始的的地方加上
    int *choice;
    double *quantity_choice;

    对应的
    choice=new int[num_choice];//事先不知道购买多少种水果,所以有new的方式申请内存
    quantity_choice=new double[num_choice];
    不要定义。

    另外cal函数应该给switch加上default分支,否则可能出现无返回值的情况

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料