Foros del Web » Programación para mayores de 30 ;) » C/C++ »

uso del while

Estas en el tema de uso del while en el foro de C/C++ en Foros del Web. Hola, quiero usar el while para que me pida introducir un color mientras que el color no sea rojo continuar pidiendo, en el momento que ...
  #1 (permalink)  
Antiguo 17/03/2010, 14:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
uso del while

Hola, quiero usar el while para que me pida introducir un color mientras que el color no sea rojo continuar pidiendo, en el momento que sea rojo salir del bucle. No me sale. Gracias. Este es mi programa:

#include <stdio.h>
#include <stdlib.h>

int main(){
char color[15]="rojo";

while(color != "rojo"){
printf("Introduce un color:");
scanf("%14s",color);
}
printf("El color es el %s\n",color);
}
  #2 (permalink)  
Antiguo 17/03/2010, 18:52
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 3
Respuesta: uso del while

No es correcta la comparacion
color != "rojo"

usa la función strcmp() de la biblioteca string.h
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
  #3 (permalink)  
Antiguo 27/03/2010, 11:36
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: uso del while

Debes de hacerlo así:
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main()
  5. {
  6.     char color[15]="rojo";
  7.  
  8.     do{
  9.         printf("Introduce un color:");
  10.         fflush(stdout);
  11.         scanf("%14s",color);
  12.     }while(strcmp(color,"rojo"));
  13.     printf("El color es el %s\n",color);
  14.  
  15.     return 0;
  16. }

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:53.