elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con String y la sentencia if en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con String y la sentencia if en c  (Leído 2,785 veces)
Dark Side 2809

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con String y la sentencia if en c
« en: 14 Octubre 2020, 18:29 pm »

// El codigo consiste en recibir un par de numeros y pedir una letra, (p)o (i), si la eleccion es "p " el debe de mostrar los numeros pares, lo mismo con los inpares, pero a la hora de correrlo me recibe la informacion pero no me devuelve nada.... alguien que me pueda excplicar se lo agradeceria :-( :-( :-(


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. int main(int argc, char *argv[]) {
  7.  
  8. int numero1,numero2;
  9. char eleccion [30];
  10.  
  11.  
  12.  
  13. printf("Introduzca el primer digito:\n");
  14. scanf("%i", &numero1 );
  15.  
  16. printf("Introduzca el segundo digito:\n");
  17. scanf("%i", &numero2 );
  18.  
  19. printf("Introduzca elija el formato a presentra\n");
  20. printf("Par [p]  ||  impar [i]\n");
  21. fflush(stdin);
  22. scanf("%s", &eleccion );
  23.  
  24.  
  25. if((eleccion=="p") && (numero1/2==0))
  26. {
  27. printf("Par: [ %i ]",numero1);
  28.  
  29. }
  30. if((eleccion=="p") && (numero2/2==0))
  31. {
  32. printf("Par: [ %i ]",numero2);
  33.  
  34. }
  35. if((eleccion=="i") && (numero1 !=0))
  36. {
  37. printf("impar: [ %i ]",numero1);
  38.  
  39. }
  40. if((eleccion=="i") && (numero2 !=0))
  41. {
  42. printf("impar: [ %i ]",numero2);
  43.  
  44. }
  45.  
  46. return 0;
  47. }


« Última modificación: 14 Octubre 2020, 19:12 pm por WHK » En línea

EdePC
Moderador Global
***
Conectado Conectado

Mensajes: 2.057



Ver Perfil
Re: ayuda!!!!!!!!!! problema con String y la sentencia if en c
« Respuesta #1 en: 14 Octubre 2020, 20:20 pm »

El problemas está en como obtienes un número par o impar. Si el residuo de la división entre un número y 2 sale 0 es que es par, caso contrario es impar, para esto se usa el operador módulo (%):

Código
  1. numero1 % 2 == 0; // True si es par, False si es impar

También debes usar strcmp o similar para comparar texto, le he puesto un ! delante porque strcmp devuelve 0 si la comparación es Igual, como 0 es considerado False, le pongo el Operador de Negación para pasarlo a Verdadero:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char *argv[]) {
  6.  
  7.   int numero1, numero2;
  8.   char eleccion[30];
  9.  
  10.   printf("Introduzca el primer digito:\n");
  11.   scanf("%i", &numero1 );
  12.  
  13.   printf("Introduzca el segundo digito:\n");
  14.   scanf("%i", &numero2 );
  15.  
  16.   printf("Introduzca elija el formato a presentar\n");
  17.   printf("Par [p]  ||  impar [i]\n");
  18.   fflush(stdin);
  19.   scanf("%s", &eleccion );
  20.  
  21.   if ( !strcmp(eleccion, "p") && (numero1 % 2 == 0) ) {
  22.     printf("Par: [ %i ]", numero1);
  23.   }
  24.   if ( !strcmp(eleccion, "p") && (numero2 % 2 == 0) ) {
  25.     printf("Par: [ %i ]", numero2);
  26.   }
  27.   if ( !strcmp(eleccion, "i") && (numero1 % 2 != 0) ) {
  28.     printf("impar: [ %i ]", numero1);
  29.   }
  30.   if ( !strcmp(eleccion, "i") && (numero2 % 2 != 0) ) {
  31.      printf("impar: [ %i ]",numero2);
  32.   }
  33.  
  34.   getchar(); // Para pausar la pantalla al final
  35.   return 0;
  36. }

De momento queda así, sin tanto cambio para que lo entiendas, pero siempre se puede optimizar el código ...


En línea

Dark Side 2809

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema con String y la sentencia if en c
« Respuesta #2 en: 15 Octubre 2020, 18:21 pm »

Muchas gracias hermano siempre se aprende algo nuevo ;-) ;-) ya habia usado el strcmp pero me daba el mismo error, no sabia eso el uso del signo !....
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con sentencia SQL
PHP
zhynar_X 2 1,893 Último mensaje 19 Noviembre 2007, 20:13 pm
por дٳŦ٭
problema con sentencia switch
Programación C/C++
++c 2 1,909 Último mensaje 6 Mayo 2014, 00:16 am
por ++c
Problema al copiar string a un arreglo string dinamico VS2013 ultimate
Programación C/C++
raver1983 1 2,224 Último mensaje 7 Febrero 2017, 01:11 am
por raver1983
problema con la sentencia if
Programación C/C++
bpenword 2 1,652 Último mensaje 12 Mayo 2019, 20:12 pm
por RayR
problema con una sentencia nftables
GNU/Linux
schrodingersCat 0 3,919 Último mensaje 15 Octubre 2022, 18:15 pm
por schrodingersCat
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines