标题:求问 break statement not within loop or switch
只看楼主
by_stro
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-8-6
结帖率:75%
已结贴  问题点数:20 回复次数:5 
求问 break statement not within loop or switch
程序代码:
#include <iostream.h>
#include <math.h>
int main()
{
    double x,z;
    int y;
    cout<<"请输入购买哈密瓜的公斤数"<<endl;
    cin>>x;
    y=x/2.5;
    switch(y)
    case 0: z=2*x;break;
    case 1: z=1.8*x;break;
    case 2: z=1.6*x;break;
    case 3: z=1.4*x;break;
    case 4: z=1.2*x;break;
    default:
    z=1.2*x;
    cout<<"总金额为:"<<z<<endl; 
}

请问错在哪里?新手,谢谢!
原题:
(3)哈密瓜按重量不同而售价不同,分别为:
2. 5公斤以下,每公斤2元;
2. 5~5公斤,每公斤1.8元;
5~7.5公斤,每公斤1. 6元;
7. 5~10公斤,每公斤1.4元;
10公斤以上,每公斤1.2元。
用switch语句编写程序,求买x公斤哈密瓜,需要多少钱。
搜索更多相关主题的帖子: within 
2013-09-16 23:30
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
得分:15 
程序代码:
#include <iostream.h>
#include <math.h>
int main()
{
    double x,z;
    int y;
    cout<<"请输入购买哈密瓜的公斤数"<<endl;
    cin>>x;
    y=x/2.5;
    switch(y) {
    case 0: z=2*x;break;
    case 1: z=1.8*x;break;
    case 2: z=1.6*x;break;
    case 3: z=1.4*x;break;
    case 4: z=1.2*x;break;
    default: /* z=1.2*x */;break;
    }
    cout<<"总金额为:"<<z<<endl; 
}

修正如上,不过,switch不太适用你给出题目的场景。我建议使用if else。
程序代码:
double x,z;
    std::cout<<"请输入购买哈密瓜的公斤数"<<std::endl;
    std::cin>>x;
    if (x < 2.5) {
        z = x * 2;
    } else if (x >= 2.5 && x < 5) {
        z = x * 1.8;
    } else if (x >= 5 && x < 7.5) {
        z = x * 1.6;
    } else if (x >= 7.5 && x < 10) {
        z = x * 1.4;
    } else if (x >= 10) {
        z = x * 1.2;
    } else {
        z = 0;
    }
    std::cout<<"总金额为:"<<z<<std::endl;
2013-09-17 05:25
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:0 
switch语句后面的所有case应该是一个语句体,要括起来

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-09-17 05:49
by_stro
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-8-6
得分:0 
回复 2楼 blueskiner
谢谢!其实我也觉得用if else好;
另外,请问:
int main()  void main()  main(void) 有什么区别?

#include <iostream.h>
后跟着的 函数 main() 一般如何选定的?int 、void、double、等如何选择?
问题有点多!谢谢哈~
2013-09-17 10:33
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
得分:5 
void main() 跟main(void)没区别
而int main()要求主函数返回值,标准的主函数一般是int main(int argc, char** argv),函数具体什么作用,请自己查看C语言参考手册。
2013-09-17 18:05
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
回复 5楼 blueskiner
void main() 跟main(void)不同
C语言这两个是不同的...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-09-17 20:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420666-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.278381 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved