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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No entiendo esta linea del programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No entiendo esta linea del programa  (Leído 1,547 veces)
ProyectoX

Desconectado Desconectado

Mensajes: 5


Ver Perfil
No entiendo esta linea del programa
« en: 30 Noviembre 2012, 17:35 pm »

LO QUE MARQUE EN ROJO ES LO QUE NO ENTIENDO!!!!, POR FAVOR SI ME PUEDEN AYUDAR... MUCHAS GRACIAS!!!



CLASE HORA

#include <iostream>
 
using std::cout;
using std::endl;
 
// Definicion del tipo de dato abstracto (ADT) Hora
class Hora {
public:
   Hora();                        // constructor
   void estableceHora( int, int, int ); // establece hora, minuto, segundo
   void imprimeMilitar();          // imprime la hora en formato militar
   void imprimeEstandar();          // imprime la hora en formato estándar
private:
   int hora;     // 0 - 23
   int minuto;   // 0 - 59
   int segundo;   // 0 - 59
}; // fin de la clase Hora
 
// El constructor Hora inicializa en cero a cada dato miembro.
// Garantiza que todos los objetos de Hora inician en un estado consistente.
Hora::Hora() { hora = minuto = segundo = 0; }
 
// Establece un nuevo valor de Hora por medio de la hora militar. Realiza verificaciones
// de validación de los valores de los datos. Establece en cero a los valores inválidos.
void Hora::estableceHora( int h, int m, int s )
{
   hora = ( h >= 0 && h < 24 ) ? h : 0;
   minuto = ( m >= 0 && m < 60 ) ? m : 0;
   segundo = ( s >= 0 && s < 60 ) ? s : 0;
} // fin de la función estableceHora
 
// Imprime Hora en formato militar
void Hora::imprimeMilitar()
{
   cout << ( hora < 10 ? "0" : "" ) << hora << ":"
        << ( minuto < 10 ? "0" : "" ) << minuto;
} // fin de la función imprimeMilitar
 
// Imprime Hora en formato estándar
void Hora::imprimeEstandar()
{
   cout << ( ( hora == 0 || hora == 12 ) ? 12 : hora % 12 )
        << ":" << ( minuto < 10 ? "0" : "" ) << minuto
        << ":" << ( segundo < 10 ? "0" : "" ) << segundo
        << ( hora < 12 ? " AM" : " PM" );
} // fin de la función imprimeEstandar
 
// Controlador para probar la clase simple Hora
int main()
{
   Hora h;  // instancia el objeto t de la clase Hora
 
   cout << "La hora militar inicial es ";
   h.imprimeMilitar();
   cout << "nLa hora estandar inicial es ";
   h.imprimeEstandar();
 
   h.estableceHora( 13, 27, 6 );
   cout << "nnLa hora militar despues de estableceHora es ";
   h.imprimeMilitar();
   cout << "nLa hora estandar despues de estableceHora es ";
   h.imprimeEstandar();
 
   h.estableceHora( 99, 99, 99 );  // intenta establecer valores inválidos
   cout << "nnDespues de intentar establecer valores invalidos:"
        << "nHora militar: ";
   h.imprimeMilitar();
   cout << "nHora estandar: ";
   h.imprimeEstandar();
   cout << endl;
   return 0;
} // fin de la función main


« Última modificación: 30 Noviembre 2012, 17:37 pm por peponadai » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: No entiendo esta linea del programa
« Respuesta #1 en: 30 Noviembre 2012, 18:34 pm »

Es el operador condicional, una explicación en detalle de su funcionamiento la puedes consultar en un buen libro o en la red (Google no muerde) por ejemplo en esta pagina cortesía de C con clase.

Un saludo


En línea

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
ProyectoX

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: No entiendo esta linea del programa
« Respuesta #2 en: 30 Noviembre 2012, 18:48 pm »

Lo que no entiendo es que significa para el programa esa linea... Hora < 10 Que significa eso para el programa?, no quiero la explicacion de qué es cada cosa, sino cual es la relación de esas instrucciones dentro del programa.
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: No entiendo esta linea del programa
« Respuesta #3 en: 30 Noviembre 2012, 20:45 pm »

Hola

Si supieras qué es y cómo se usa sabrías qué significa y qué función tiene en el programa. Léete el enlace que así es como se aprende!!

Saludos
En línea

Breakbeat como forma de vida
someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: No entiendo esta linea del programa
« Respuesta #4 en: 30 Noviembre 2012, 23:00 pm »

Voy a ser buenito esta vez:
Código:
   cout << ( hora < 10 ? "0" : "" ) << hora << ":"
        << ( minuto < 10 ? "0" : "" ) << minuto;
eso se traduce en: Hora es mayor que 10? si es cierto, poner "0", sino poner "".
Minuto es mayor que 10? Si es cierto poner "0", si no es cierto poner "".
En línea

ProyectoX

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: No entiendo esta linea del programa
« Respuesta #5 en: 30 Noviembre 2012, 23:11 pm »

Muchas gracias ahora si lo entendi genio!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No entiendo el The All-Seeing Eye, no puedo jugar el call of duty 2 en linea
Juegos y Consolas
Linkone 1 2,703 Último mensaje 25 Diciembre 2005, 08:35 am
por ::GD::
No entiendo que es lo que pasa en esta red.
Hacking Wireless
magito 7 4,153 Último mensaje 14 Junio 2010, 12:31 pm
por lamaruja
No entiendo que esta mal(en C)
Programación C/C++
oxi12pek 7 1,881 Último mensaje 2 Noviembre 2012, 18:17 pm
por oxi12pek
No entiendo esta lógica [arreglos] [C]
Programación C/C++
barnix456 6 2,278 Último mensaje 10 Diciembre 2012, 23:56 pm
por barnix456
No entiendo por qué se puede usar esta función ¡si no debiera!
Programación C/C++
tecno46 4 1,256 Último mensaje 6 Noviembre 2014, 20:49 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines