运行时异常

winterback 2009-07-12 03:01:03
#include<stdio.h>
void main()
{
int Account;//账号
char Type;//用电类型
int Total;//总用电量
float Fee,Fee1,Fee2;//费用
int high;//高峰时间用电量
printf("账号:");
scanf("%d",&Account);
printf("用电类型(R、C、I):");
scanf("%c",&Type);
printf("总用电量(千瓦时):");
scanf("%d",&Total);
if(Type=='R'||Type=='r')//判断是否为家用电
Fee=6.00+Total*0.052;
else if(Type=='C'||Type=='c')//判断是否为商业用电
{
if(Total<=1000)
Fee=60.00;
else
Fee=60.00+(Total-1000)*0.045;
}
else if(Type=='I'||Type=='i')//判断是否为工业用电
{
printf("高峰时间用电量:");
scanf("%d",&high);
if(high<=1000)
Fee1=76.00;
else
Fee1=76.00+(high-1000)*0.065;
if(Total-high<=1000)
Fee2=40.00;
else
Fee2=40.00+(Total-high-1000)*0.028;
Fee=Fee1+Fee2;
}
printf("\n\n\n");
printf("========================================\n");
printf("账号: %d\n",Account);
printf("用电类型: %c\n",Type);
printf("总用电量(千瓦时): %d\n",Total);
printf("总费用: %.1f\n",Fee);
printf("========================================\n");
}


运行时为何无法输入用电类型?
谢谢
...全文
26 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Walf_ghoul 2009-07-12
  • 打赏
  • 举报
回复
按楼上的代码读入不了电量了。。
Nio96 2009-07-12
  • 打赏
  • 举报
回复
如楼上说的,或者使用fflush(stdin);清一下。
winterback 2009-07-12
  • 打赏
  • 举报
回复
噢,是这样啊,谢谢你
Nio96 2009-07-12
  • 打赏
  • 举报
回复
这里不用使用scanf来输入char型,它把回车当成了它的输入
liao05050075 2009-07-12
  • 打赏
  • 举报
回复

#include<stdio.h>
void main()
{
int Account;//账号
char Type;//用电类型
int Total;//总用电量
float Fee,Fee1,Fee2;//费用
int high;//高峰时间用电量
printf("账号:");
scanf("%d",&Account);

getchar();//前面的输入留下了一个回车,你要吃掉它,不然下面会读到回车

printf("用电类型(R、C、I):");
scanf("%c",&Type);
printf("总用电量(千瓦时):");
scanf("%d",&Total);
if(Type=='R'||Type=='r')//判断是否为家用电
Fee=6.00+Total*0.052;
else if(Type=='C'||Type=='c')//判断是否为商业用电
{
if(Total<=1000)
Fee=60.00;
else
Fee=60.00+(Total-1000)*0.045;
}
else if(Type=='I'||Type=='i')//判断是否为工业用电
{
printf("高峰时间用电量:");
scanf("%d",&high);
if(high<=1000)
Fee1=76.00;
else
Fee1=76.00+(high-1000)*0.065;
if(Total-high<=1000)
Fee2=40.00;
else
Fee2=40.00+(Total-high-1000)*0.028;
Fee=Fee1+Fee2;
}
printf("\n\n\n");
printf("========================================\n");
printf("账号: %d\n",Account);
printf("用电类型: %c\n",Type);
printf("总用电量(千瓦时): %d\n",Total);
printf("总费用: %.1f\n",Fee);
printf("========================================\n");
}

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧