| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 348 人关注过本帖
标题:各位帮我看看到底程序哪里出问题啊?
只看楼主 加入收藏
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
结帖率:80%
收藏
 问题点数:0 回复次数:5 
各位帮我看看到底程序哪里出问题啊?

#include
void main()
{
char grade;
int salary = 1000;
double amt;
printf("从键盘输入员工级别grade:");
scanf("%f",&grade);
{if (grade=='A')
printf("%f\n",amt = salary + (salary * 0.45));
else
  { if(grade=='B')
   printf("%f\n",amt = salary + (salary * 0.40));
   else
   {if(grade=='C')
     printf("%f\n",amt = salary + (salary * 0.30));
       else
       {if(grade == 'D')
          printf ("%f\n",amt = salary + (salary * 0.25));
       }
        
   }

      
}
printf("无效的等级");
}
}
为什么程序执行结果总是显示“无效的等级”???
搜索更多相关主题的帖子: double void include 
2012-03-07 21:10
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:0 
题目是:  定义:char grade; int salary = 1000; double amt; 从键盘输入员工级别rade。用if-else判断。若grade == 'A'则amt = salary + (salary * 0.45);并输出工资;若grade == 'B'则amt = salary + (salary * 0.40); 若grade == 'C'则amt = salary + (salary * 0.30);  若grade == 'D'  则amt = salary + (salary * 0.25);否则输出无效的等级。
2012-03-07 21:11
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
scanf("%f",&grade);

总有那身价贱的人给作业贴回复完整的代码
2012-03-07 21:15
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:0 
#include<stdio.h>
void main()
{
char grade;
int salary = 1000;
double amt;
printf("从键盘输入员工级别grade:");
scanf("%c",&grade);//这里错咯字符要用%C来做
{if (grade=='A')
printf("%f\n",amt = salary + (salary * 0.45));
else
  { if(grade=='B')
   printf("%f\n",amt = salary + (salary * 0.40));
   else
   {if(grade=='C')
     printf("%f\n",amt = salary + (salary * 0.30));
       else
       {if(grade == 'D')
          printf ("%f\n",amt = salary + (salary * 0.25));
       }
        
   }

      
}
    if(grade!='A'&&grade!='B'&&grade!='C'&&grade!='D')//加个判断
    {
        printf("无效的等级");
    }
}

}
你可以用switch语句来做更方便

[ 本帖最后由 a646404908 于 2012-3-7 21:41 编辑 ]
2012-03-07 21:39
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:0 
回复 4楼 a646404908
谢谢啊。。。。我之前也有想过加判断语句的,可是肯能是括号那边出现了错误吧。。。。
2012-03-08 15:45
zjkedy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:131
注 册:2010-5-14
收藏
得分:0 
程序代码:
#include<stdio.h>
void main()
{
    char grade;
    int salary = 1000;
    double amt;
    printf("从键盘输入员工级别grade:");
    scanf("%f",&grade);
{\\这层完全没用
    if (grade=='A')
        printf("%f\n",amt = salary + (salary * 0.45));
    else
    {
        if(grade=='B')
        printf("%f\n",amt = salary + (salary * 0.40));
        else
        {
            if(grade=='C')
                printf("%f\n",amt = salary + (salary * 0.30));
            else
                {
                    if(grade == 'D')
                    printf ("%f\n",amt = salary + (salary * 0.25));
                }
        } 

    }
    printf("无效的等级");\\这个并没有在任何一个条件分支内
}\\无用
}

}
2012-03-08 22:07
快速回复:各位帮我看看到底程序哪里出问题啊?
数据加载中...
 
   



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

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