Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Berk2712 en 18 Abril 2013, 03:03 am



Título: Problema al ejecutar
Publicado por: Berk2712 en 18 Abril 2013, 03:03 am
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.

Código:
#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;
}


Título: Re: Problema al ejecutar
Publicado por: leosansan en 18 Abril 2013, 05:15 am
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
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5.  
  6. {
  7.    char respuesta1[10]= "No",respuesta2[10] = "No", yaco[10] = "Si";
  8.    printf("Sos gay? (Si/No): ");
  9.    scanf("%s",&respuesta1);
  10.    if ( strcmp(respuesta1 , respuesta2 )==0)
  11.    {
  12.                            printf("No mientas: \n");
  13.    }
  14.    else
  15.    {
  16.    printf("Su respuesta fue: %s\n", yaco);
  17.    printf("Usted es Gay\n");
  18.    }
  19.  
  20.  return 0;
  21. }
  22.  

Saluditos!. ...(http://i1280.photobucket.com/albums/a497/leosansan/leosan1/9fumar_zps9b929c04.gif)


Título: Re: Problema al ejecutar
Publicado por: BlackM4ster en 18 Abril 2013, 15:45 pm
Código
  1. if (respuesta1=="SI" || respuesta1=="si"){
  2. talalalalala
  3. }else{
  4. purruski
  5. }


Título: Re: Problema al ejecutar
Publicado por: leosansan en 18 Abril 2013, 15:58 pm
Código
  1. if (respuesta1=="SI" || respuesta1=="si"){
  2. talalalalala
  3. }else{
  4. purruski
  5. }

        (http://i1280.photobucket.com/albums/a497/leosansan/leosan5/3dtmdr_zpsb44d2315.gif)

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


Título: Re: Problema al ejecutar
Publicado por: rir3760 en 18 Abril 2013, 16:00 pm
Código
  1. if (respuesta1=="SI" || respuesta1=="si"){
  2.   talalalalala
  3. }else{
  4.   purruski
  5. }
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


Título: Re: Problema al ejecutar
Publicado por: BlackM4ster en 18 Abril 2013, 16:03 pm
Pues que use string...  :silbar:


Título: Re: Problema al ejecutar
Publicado por: leosansan en 18 Abril 2013, 16:05 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!...(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)