c - 如果 C 中的语句没有运行
问题描述
我想编写一个可以根据用户输入计算三角形面积的程序,我是巴西人,所以打印是葡萄牙语,但我认为它不会改变任何东西。所以我的问题是第一个“if”运行完美,但第二个“if”只打印第一行 (Voce tem o valor dos 3 lados? (s ou n): ) 并且程序停止运行,我找不到我的错误是,如果有人可以帮助我,那就太好了,如果葡萄牙语使事情变得更加困难,请告诉我,我会翻译。谢谢。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void triangulo(){
int angulo;
float a, b, c, s, area, base, altura, seno, rad;
char resposta1, resposta2;
printf("Voce tem os valores da base e da altura? (s ou n): ");
scanf("%c", &resposta1);
if (resposta1 == 's'){
printf("Digite a base do triangulo : ");
scanf("%f", &base);
printf("Digite a altura do triangulo : ");
scanf("%f", &altura);
area = (base * altura)/2;
printf("A area do triangulo eh : %f", area);
}
else{
if(resposta1 == 'n'){
printf("Voce tem o valor dos 3 lados? (s ou n): ");
scanf("%c", &resposta2);
if(resposta2 == 's'){
printf("Digite o valor do lado : ");
scanf("%f", &a);
printf("Digite o valor do lado : ");
scanf("%f", &b);
printf("Digite o valor do lado : ");
scanf("%f", &c);
s = (a + b + c)/2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("A area do triangulo eh : %f", area);
}
else{
if(resposta2 == 'n'){
printf("Digite o lado : ");
scanf("%f", &a);
printf("Digite o outro lado : ");
scanf("%f", &b);
printf("Digite o angulo entre esses dois lados : ");
scanf("%d", &angulo);
rad = 3.14159265358979323846/180;
seno = sin(rad * angulo);
area = (a * b * seno)/2;
printf("A area do triangulo eh : %f", area);
}
}
}
}
return;
}
int main (void){
triangulo();
return 0;
}
解决方案
要快速修复,请更改为scanf(" %c", &resposta2);
, 在 . 之前有一个空格%c
。
如需更完整的回复,请查看How to do scanf for single char in C
推荐阅读
- python - 使用 Python 进行 Web 抓取,requests.get() 响应超过 27 位数字的不完整值
- firebase - ListView & Snapshot - 错误 - 错误状态:DocumentSnapshotPlatform 中不存在字段
- java - 从启动 Spring Batch 应用程序的 ItemWriter 的 @BeforeStep 方法调用 ItemProcessor 的 @BeforeStep 方法之前
- java - 程序意外终止:Java
- amazon-web-services - 如何将现有的 Jenkins 服务器连接到新的 EC2 实例
- php - 在 from_date - to_date 中获取每个日期的数据
- ajax - 如何通过 Ajax 请求将数据传递给 Flask 应用程序?
- python - 如何调整 plotly express 面积图大小?
- android - 如何使用存储选项卡当前状态的底部导航栏在选项卡中建立导航/页面?
- python - 在 Seaborn 中制作可读的情节