Título: No entiendo esta linea del programa Publicado por: ProyectoX 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 Título: Re: No entiendo esta linea del programa Publicado por: rir3760 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 (http://c.conclase.net/curso/?cap=018#OP3_OPCOND).
Un saludo Título: Re: No entiendo esta linea del programa Publicado por: ProyectoX 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.
Título: Re: No entiendo esta linea del programa Publicado por: satu 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 Título: Re: No entiendo esta linea del programa Publicado por: someRandomCode en 30 Noviembre 2012, 23:00 pm Voy a ser buenito esta vez:
Código: cout << ( hora < 10 ? "0" : "" ) << hora << ":" Minuto es mayor que 10? Si es cierto poner "0", si no es cierto poner "". Título: Re: No entiendo esta linea del programa Publicado por: ProyectoX en 30 Noviembre 2012, 23:11 pm Muchas gracias ahora si lo entendi genio!!!
|