我有这个代码,程序做它的事情,当它完成时,它表示继续输入 0 或关闭任何其他数字,我想要做的是继续输入单词“继续”或继续“并关闭“离开”这个词
#include <stdio.h>
#include <string.h>
#include <math.h>
//Funciones para Area
float areftcir(float r); //Area de un circulo
int main(void) {
int resp = 0;
float ra, res;
while(resp == 0)
{
printf("\n\nIntrduzca el valor del radio: ");
scanf("%f", &ra);
res = areftcir(ra);
printf("Respuesta: %f", res);
printf("\n\nIngrese '0' para regresar: ");
scanf("%d", &resp);
}
}
float areftcir(float r) {
float raftc;
raftc = (3.1416) * (r * r);
return raftc;
}
有一个简单的解决方案,使用数组
char
:基本上它的作用是比较 的内容
cadena
是否等同于"continuar"
.最大的问题是它只有在用户
continuar
输入小写字母、没有标点符号或其他任何东西时才有效,并且它会忽略您输入的任何其他单词。此外,如果超过 10 个字符,可能会发生一些不好的事情。
我已经
while
用 a 更改了你的循环以do { ... } while
至少执行一次程序操作。编辑:
为了让用户更舒服,我做了一个小的改进,就是忽略字体(大写或小写):
首先,我们添加函数原型:
我们定义如下:
然后我们只需更改以下行:
经过:
现在用户能够以
"continuar"
任何方式书写。好的答案的替代答案
Cloruro de Sodio
(对我来说太咸了;-))。strtof( )
将字符串转换为float
.strcmp( )
比较字符串。== 0
没有没有平等。