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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Añadir 3 condiciones && en un if ¿Es posible? C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Añadir 3 condiciones && en un if ¿Es posible? C  (Leído 2,642 veces)
BienWare

Desconectado Desconectado

Mensajes: 6


Yo programo, Jesús compila.


Ver Perfil
Añadir 3 condiciones && en un if ¿Es posible? C
« en: 1 Marzo 2018, 11:48 am »

Buenas, estoy intentando introducir tres condiciones en un if, más o menos así:

Citar
#include <stdio.h>

int main (void) {

int h,m,s;

printf ("Introduce valor para horas\n");

scanf ("%i", &h);

printf ("Introduce valor para minutos\n");

scanf ("%i", &m);

printf ("introduce valor para seg\n");

scanf ("%i", &s);

if (h <= 23 && m <=60 && s <= 60) { s++ }

else { printf ("Los datos no son correctos");}

if (s == 60) {
    s = 00
    m++ }

if (m == 60) {m = 0}

printf ("La hora es %i:%i:%i:\n", h,m,s);

system ("pause");

   return 0;

}

No creo que sea necesario mencionar que no llevo ni dos semanas aprendiendo a programar, y es algo que hago por simple gusto, no seais crueles.


En línea

Bienaventurados sean los que programen en ruby, porque de ellos será la tierra.
kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Añadir 3 condiciones && en un if ¿Es posible? C
« Respuesta #1 en: 1 Marzo 2018, 12:26 pm »

Código
  1. if (h <= 23 && m <=60 && s <= 60){
  2.  s++;
  3. }else {
  4.  printf ("Los datos no son correctos");
  5. }
  6.  
  7. if (s == 60) {
  8.    s = 00
  9.    m++ }
  10.  
  11. if (m == 60) {m = 0}
  12.  

Primero al s++ de dentro del if le falta un punto-coma ";". Ahora estas haciendo que m,h y s sean menores o iguales, pero luego compruebas que s y m sean iguales a 60. Si sigues sin verlo te explico:

En el caso de que s=60,m=60 y h<=23 entrara dentro del if y hara s++ siendo s ahora 61. Despues miraras si s==60 pero no porque es 61 y los minutos seguiran siendo 60. Cuando los minutos son 60 los reinicias m=0, pero no incrementas la hora.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Añadir 3 condiciones && en un if ¿Es posible? C
« Respuesta #2 en: 4 Marzo 2018, 20:21 pm »

Buenas, estoy intentando introducir tres condiciones en un if, más o menos así:

Añadir 3 condiciones && en un if ¿Es posible? C )
Técnicamente un lenguaje no limita el número de condiciones, sino al límite que el compilador tuviere en la pila.... vamos que puedes tener perfectamente 40 y 4000 condiionales en una sola línea si fuera preciso.
Otra cosa es que sea aconsejable a partir de cierto número, o dicho de otro modo, si hay un número alto de condiciones en una misma línea cabe preguntarse si el código que se está realizando es subóptimo...
En línea

e

Desconectado Desconectado

Mensajes: 177


e


Ver Perfil
Re: Añadir 3 condiciones && en un if ¿Es posible? C
« Respuesta #3 en: 12 Marzo 2018, 20:34 pm »

Claro que se puede,de hecho yo para la minishell que estoy creando uso eso para los comandos en vez de diferentes aplicaciones.
Código
  1. #include <stdio.h>
  2. int main() {
  3. int a;
  4. char n;
  5. n = 165;
  6. a = 1;
  7. char comando[20];
  8. do{
  9. printf("");
  10. gets(comando);
  11. if (comando[0] == 'd' && comando[1] == 'i' ) {
  12. comando[0] = ' ';
  13. comando[1] = ' ';
  14. printf("%s",comando);
  15. }
  16. if (comando[0] == 's' && comando[1] == 'a' && comando[2] == 'l' && comando[3] == 'i' && comando[4] == 'r'){
  17. a = 0;
  18. }
  19. } while(a == 1);
  20. }

Es decir,para los comandos uso:
si comando[0] == 'd',y así para evaluar una string,aunque hay muchas maneras.
En línea

e
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines