标题:新手求教,帮忙看看代码哪里有问题
取消只看楼主
cwde
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-3-31
结帖率:33.33%
已结贴  问题点数:20 回复次数:1 
新手求教,帮忙看看代码哪里有问题
题目大致是先选择输入类别,然后再输入数据计算金额,写完了代码后发现一个问题,每次运行完指定的case语句后,接着就运行了default语句,也就是说当中的break语句并没有起到跳出程序的作用,这是为啥呀?本人刚学C,大家来帮忙看看,多谢啊

#include "stdio.h"
int main(void)
{
char ch; int n,m;
printf ("shuruzhonglei a,b\n");
while ((ch=getchar())!='#')
{ switch (ch)
{case 'a':
{ printf ("enter your money\n");
scanf ("%d",&n);
if (n>17850)
m=(n-17850)*28/100+17850*15/100;
else
m=n*15/100;
printf ("your money is %d\n",m);}
        break;
case 'b':
{ printf ("enter your money\n");
scanf ("%d",&n);
if (n>23900)
m=(n-23900)*28/100+23900*15/100;
else
m=n*15/100;
printf ("your money is %d\n",m);}
           break;

        default : printf("error");
}

}
return (0);}
搜索更多相关主题的帖子: money 
2011-03-31 22:59
cwde
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-3-31
得分:0 
3楼的朋友,看了你的代码,我找到我的问题了,在每个case语句中的scanf后加上getchar();break语句就起跳出的作用了,只是我不明白为什么要加上getchar();这个语句呢?各位大师能不能帮我解释一下呀...???谢谢啊
2011-04-01 22:04



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




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

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