问题标题: 酷町堂:我的程序哪里出错了?(题号1744自助查询机)

0
0
已解决
张梓沫
张梓沫
资深守护
资深守护

1744   自助查询机

题目描述 Description

有一些超市为了减少售货员的工作,设置了价格自助查询机,顾客只要点击要查询商品对应的数字,就会显示这个商品对应的价格,目前查询水果的单价。有4种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是3.00元/公斤,2.50元/公斤,4.50元/公斤和9.50元/公斤。 运行程序后,首先在屏幕上显示以下菜单(编号和选项)(见样例)。 当用户输入编号1~4,显示相应水果的单价(保留1位小数);输入0,退出查询;输入其他编号,显示价格为0。

输入描述 Input Description

输入一个整数。

输出描述 Output Description

输出对应的结果。

样例输入 Sample Input

 

3

样例输出 Sample Output

 

[1] apples
[2] pears
[3] oranges
[4] grapes
[0] Exit
price=4.5

数据范围及提示 Data Size & Hint

在编译运行以后就会输出
[1] apples
[2] pears
[3] oranges
[4] grapes
[0] Exit

 

 

 

为啥我编的就是错的?

#include<iostream>
#include<cstdio>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<string>
#include<cstdlib>
//#include<sstring>
using namespace std;
int main()
{
    int a;
    cout<<"[1] apples"<<endl;
    cout<<"[2] pears"<<endl;
    cout<<"[3] oranges"<<endl;
    cout<<"[4] grapes"<<endl;
    cout<<"[0] Exit"<<endl;
    cin>>a;
    if(a==1)cout<<"price=3.0";
    else
    {
        if(a==2)cout<<"price=2.5";
        else
        {
            if(a==3)cout<<"price=4.5";
            else
            {
                if(a==4)cout<<"price=9.5";
            }
        }
    }
}

return 0;


1
已采纳
王子凡
王子凡
高级光能
高级光能

cout<<"[1] apples"<<endl<<"[2] pears"<<endl<<"[3] oranges"<<endl<<"[4] grapes"<<endl<<"[0] Exit"<<endl;
	if (n==0)
		n++;//做一步没有意义的操作 
	else
	if (n==1)//判断编号 
		cout<<"price=3.0";
	else
	if (n==2)
		cout<<"price=2.5";
	else
	if (n==3)
		cout<<"price=4.5";
	else
	if (n==4)
		cout<<"price=9.5";
	else
		cout<<"price=0";

这是主要程序

王子凡在2018-02-03 08:11:41追加了内容

你是张梓沫?

学而思超预和我一个班的那个?

王子凡在2018-02-03 08:14:36追加了内容

你没考虑“ 输入0,退出查询;输入其他编号,显示价格为0。”的这种情况要多判断两条

0
陶梓锐
陶梓锐
新手光能
新手光能
    if (n==1) cout<<"price=3.0";
    else if (n==0) return 0;
    else if (n==2) cout<<"price=2.5";
    else if (n==3) cout<<"price=4.5";
    else if (n==4) cout<<"price=9.5";
    else cout<<"price=0";

 

你可以自己对照一下

0
杨陈卓
杨陈卓
新手天翼
新手天翼

核心代码

    if(n==0) return 0;
    if(n==1) {
        cout<<"price=3.0"<<endl;
        return 0;
    }
    if(n==2) {
        cout<<"price=2.5"<<endl;
        return 0;
    }
    if(n==3) {
        cout<<"price=4.5"<<endl;
        return 0;
    }
    if(n==4) {
        cout<<"price=9.5"<<endl;
        return 0;
    }
    cout<<"price=0"<<endl;

 

0
0
臧启亚
臧启亚
初级光能
初级光能

你的格式有点问题,而且没有考虑到编码为0或编码大于4的情况

核心代码如下

    int a;
    cout<<"[1] apples"<<endl;
    cout<<"[2] pears"<<endl;
    cout<<"[3] oranges"<<endl;
    cout<<"[4] grapes"<<endl;
    cout<<"[0] Exit"<<endl;
    cin>>a;
    if (a==0)return 0;
    if(a==1)cout<<"price=3.0";
    else if(a==2)cout<<"price=2.5";
        else if(a==3)cout<<"price=4.5";
            else if(a==4)cout<<"price=9.5";
                else cout<<"price=0";

 

我要回答