Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: angeljonh en 23 Agosto 2017, 04:43 am



Título: Arreglos
Publicado por: angeljonh en 23 Agosto 2017, 04:43 am
Tengo una duda probeniente de mi estructura, al compilarlo no me da los ressultados que requiero como en "AM" y el  "PM" ni el horario ya cheque pero no feo cual sea el error

Código:
#include <stdio.h>

struct Hora{
    int hora;
    int minuto;
    int segundo;};

struct Hora inicializa(void);
void estableceHora(struct Hora *var, int hor, int min,int seg);
void imprimeMilitar(struct Hora *var);
void imprimeEstandar(struct Hora *var);

int main(void){
    struct Hora h=inicializa();
    imprimeMilitar(&h);
    imprimeEstandar(&h);
    estableceHora(&h,13,27,6);
    imprimeEstandar(&h);
    imprimeEstandar(&h);
    estableceHora(&h,66,66,66);
    imprimeMilitar(&h);
    imprimeEstandar(&h);
    return 0;}

struct Hora inicializa(void){
struct Hora horacero={0,0,0};
return horacero;}

void estableceHora(struct Hora *var, int hor,int min,int seg){
    var->hora=(hor>=0&&hor<24)?hor:0;
    var->hora=(min>=0&&min<60)?hor:0;
    var->hora=(seg>=0&&seg<60)?hor:0;}

void imprimeMilitar(struct Hora *var){
    printf("%s%i:%s%i\n",(*var).hora<10?"0":"",(*var).hora,(*var).minuto<10?"0":"",(*var).minuto);}

void imprimeEstandar(struct Hora *var){
    printf("%i:%s%i:%s%i\n",((*var).hora==0||(*var).hora==12)?12:(*var).hora%12,(*var).minuto<10?"0":"",(*var).segundo<10?"0":"",(*var).segundo,(*var).hora<12?"AM":"PM");}



Título: Re: Arreglos
Publicado por: angeljonh en 23 Agosto 2017, 07:10 am
listo