Problema al ejecutar

Iniciado por Berk2712, 18 Abril 2013, 03:03 AM

0 Miembros y 1 Visitante están viendo este tema.

Berk2712

Hola, estoy aprendiendo a usar "IF" Y "Else", por lo que cree un programa absurdo con el fin de aplicar esos controladores, al ejecutar no toma en cuenta el IF.

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

int main()

{
    char respuesta1[10],respuesta2[10] = "no", yaco[10] = "Si";
    printf("Sos gay? (Si/No): ");
    scanf("%s",&respuesta1);
    if ( respuesta1 == respuesta2 )
    {
                            printf("No mientas: \n");
    }
    else
    {
    printf("Su respuesta fue: %s\n", yaco);
    printf("Usted es Gay\n");
    }
  fflush(stdin);
  getchar();   
  return 0;
}

leosansan

#1
No tiene como mucho sentido, aunque sea para practicar, lo que planteas. Por lo pronto respuesta 1 no tiene asignado ningún valor con lo que la comparación con respuesta 2 es un poco absurda. Además las comparaciones entre cadenas se hacen con la función "strcmp()" de la librería string.

Podría ser algo como esto:


Código (cpp) [Seleccionar]
#include <stdio.h>
#include <string.h>

int main()

{
   char respuesta1[10]= "No",respuesta2[10] = "No", yaco[10] = "Si";
   printf("Sos gay? (Si/No): ");
   scanf("%s",&respuesta1);
   if ( strcmp(respuesta1 , respuesta2 )==0)
   {
                           printf("No mientas: \n");
   }
   else
   {
   printf("Su respuesta fue: %s\n", yaco);
   printf("Usted es Gay\n");
   }

 return 0;
}


Saluditos!. ...

BlackM4ster

Código (cpp) [Seleccionar]
if (respuesta1=="SI" || respuesta1=="si"){
talalalalala
}else{
purruski
}
- Pásate por mi web -
https://codeisc.com

leosansan

#3
Cita de: Black Master en 18 Abril 2013, 15:45 PM
Código (cpp) [Seleccionar]
if (respuesta1=="SI" || respuesta1=="si"){
talalalalala
}else{
purruski
}


       

P.D:Como decimos en mi tierra, "arrallate un millo" ;-)

rir3760

Cita de: Black Master en 18 Abril 2013, 15:45 PM
Código (cpp) [Seleccionar]
if (respuesta1=="SI" || respuesta1=="si"){
   talalalalala
}else{
   purruski
}
No funcionara ya que se trata de arrays de caracteres. Como ya se indico en el tema para comparar cadenas en C se debe utilizar la función strcmp.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

BlackM4ster

- Pásate por mi web -
https://codeisc.com

leosansan

#6
Cita de: rir3760 en 18 Abril 2013, 16:00 PM
No funcionara ya que se trata de arrays de caracteres. Como ya se indico en el tema para comparar cadenas en C se debe utilizar la función strcmp.


Creo que no has cogido la "indirecta". Es una coña , con perdón, muy aguda del amigo Black Master

Siempre es agradable, pero en tu caso más el mandar mis   ¡Saluditos!...