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

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

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名