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

Operador ternario con 3 resultados.-

Estas en el tema de Operador ternario con 3 resultados.- en el foro de C/C++ en Foros del Web. Cita: Hago esta aclaración porque en muchos casos suponen que tengo 15 o 20 años(es lo lógico) y en realidad tengo 61, como comprenderán no ...
  #1 (permalink)  
Antiguo 09/10/2013, 12:19
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Información Operador ternario con 3 resultados.-

Cita:
Hago esta aclaración porque en muchos casos suponen que tengo 15 o 20 años(es lo lógico) y en realidad tengo 61, como comprenderán no voy a la facultad y la gente que conozco no tiene la más mínima idea lo que es la computadora y menos programar.-
Hola a todos.
El caso es el siguiente, como se notara en el programa el operador ternario me funciona con 2 resultados posible pero en este caso que hay 3 (-1 0 1)
no se cómo implementarlo.-

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main (void){
  5.     char a[] = "12", b[] = "123";
  6.     int c = strcmp(a, b);
  7.     printf(( c > 0) ? "\n Es mayor \n" : "\n Es menor\n");
  8.     return 0;
  9. }
Espero como siempre me den una solución.-
Un gran saludo.
Daniel
  #2 (permalink)  
Antiguo 09/10/2013, 12:33
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Respuesta: Operador ternario con 3 resultados.-

Que yo recuerde el oeprador solo es para 2 casos.

Lo que tendrias que hacer ent u caso es usar condicionales ifs.

Código:
if(c > 0)
printf("Es mayor\n");
else if(c == 0)
printf("Es igual");
else
printf("Es menor");
No pasa nada por sacrificar longitud del codigo en favor de su legibilidad.

Saludos
  #3 (permalink)  
Antiguo 09/10/2013, 12:51
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Operador ternario con 3 resultados.-

Hola instru.
Gracias por la rapidez de la respuesta, ya me dieron la idea de como era;

Código C:
Ver original
  1. printf(( c < 0) ? "\n Es menor \n" : ((c > 0) ? "\n Es mayor\n" : "\n Es igual\n"));

Eso de la legibilidad es muy probable que en mis códigos no funcione, soy un "enfermo" cuando se trata de ahorrar líneas de código´, me parece que me hace un programador más experimentado.-

Dios dirá.
Saludos.
Daniel
  #4 (permalink)  
Antiguo 17/10/2013, 12:59
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Operador ternario con 3 resultados.-

Cita:
Iniciado por RoDaVi Ver Mensaje
Hola instru.
Gracias por la rapidez de la respuesta, ya me dieron la idea de como era;

Código C:
Ver original
  1. printf(( c < 0) ? "\n Es menor \n" : ((c > 0) ? "\n Es mayor\n" : "\n Es igual\n"));

Eso de la legibilidad es muy probable que en mis códigos no funcione, soy un "enfermo" cuando se trata de ahorrar líneas de código´, me parece que me hace un programador más experimentado.-

Dios dirá.
Saludos.
Daniel
Código C++:
Ver original
  1. if(c > 0) printf("Es mayor\n"); else if(c == 0) printf("Es igual"); else printf("Es menor");

se puede vivir sin el ternario pero..¿se puede vivir sin if?

Etiquetas: funcion, int, operador, programa, string
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 10:07.