Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - juanpalomo098

#21
Ahi esta, creo que esta bien, gracias de nuevo.
#include<stdio.h>
void main(){

int centiseg,seg,min,hr,dia,mes,ano;
seg=0;
min=0;
hr=0;
dia=1;
centiseg=0;

mes=1;
ano=1900;


do{
centiseg++;
if(centiseg>=100){seg++;centiseg=0;}
if(seg>=60){min++; seg=0;}
if(min>=60){hr++;min=0;}
if(hr>=24){dia++;hr=0;}

if(dia>=32&&mes==1){mes++;dia=0;}
if(dia>=29&&mes==2){mes++;dia=0;}
if(dia>=32&&mes==3){mes++;dia=0;}
if(dia>=31&&mes==4){mes++;dia=0;}
if(dia>=32&&mes==5){mes++;dia=0;}
if(dia>=31&&mes==6){mes++;dia=0;}
if(dia>=32&&mes==7){mes++;dia=0;}
if(dia>=31&&mes==8){mes++;dia=0;}
if(dia>=31&&mes==9){mes++;dia=0;}
if(dia>=32&&mes==10){mes++;dia=0;}
if(dia>=31&&mes==11){mes++;dia=0;}
if(dia>=32&&mes==12){ano++;mes=1;dia=0;}





switch(dia){
case 1:printf("Martes");break;
case 2:printf("Martes");break;
case 3:printf("Miercoles");break;
case 4:printf("Jueves");break;
case 5:printf("Viernes");break;
case 6:printf("Sabado");break;
case 7:printf("Domingo");break;}
printf(" %d de ",dia);



switch(mes){
case 1:printf("Enero");break;
case 2:printf("Febrero");break;
case 3:printf("Marzo");break;
case 4:printf("Abril");break;
case 5:printf("Mayo");break;
case 6:printf("Junio");break;
case 7:printf("Julio");break;
case 8:printf("Agosto");break;
case 9:printf("Septiembre");break;
case 10:printf("Octubre");break;
case 11:printf("Noviembre");break;
case 12:printf("Dicienbre");break;}
printf(" %d ",ano);




printf("%d:%d:%d:%d\n",hr,min,seg,centiseg);


}while(ano<2000);//por ejemplo
getchar();


}//void

#22
Ya, pero tengo que seguir, me faltan muchos ejercicios por hacer todavia.
¿Veis algun error? Si dejo el programa corriendo para ver si llega al dia 8  voy a tener que sacar un extintor.


Realizar un reloj que muestre el siguiente formato por pantalla:
   Viernes 30 de Octubre de 1998. 14:25:15,58

#include<stdio.h>
void main(){

int centiseg,seg,min,hr,dia,sem,mes,ano;
seg=0;
min=0;
hr=0;
dia=1;
centiseg=0;
sem=1;
mes=1;
ano=1900;


do{
centiseg++;
if(centiseg>=100){seg++;centiseg=0;}
if(seg>=60){min++; seg=0;}
if(min>=60){hr++;min=0;}
if(hr>=24){dia++;hr=0;}
if(dia>=8){sem++;}
if(sem>=5){mes++;dia=1;}
if(mes>=13){ano++;mes=1;}
if(dia==1){printf("Lunes");}
else if(dia==2){printf("Martes");}
else if(dia==3){printf("Miercoles");}
else if(dia==4){printf("Jueves");}
else if(dia==5){printf("Viernes");}
else if(dia==6){printf("Sabado");}
else if(dia==7){printf("Domingo");}
else {printf("error dia");}

printf(" %d de ",dia);

if(mes==1){printf("Enero");}
else if(mes==2){printf("Febrero");}
else if(mes==3){printf("Marzo");}
else if(mes==4){printf("Abril");}
else if(mes==5){printf("Mayo");}
else if(mes==6){printf("Junio");}
else if(mes==7){printf("Julio");}
else if(mes==8){printf("Agosto");}
else if(mes==9){printf("Septiembre");}
else if(mes==10){printf("Octubre");}
else if(mes==11){printf("Noviembre");}
else if(mes==12){printf("Dicienbre");}
else{printf("error mes");}
printf(" %d ",ano);




printf("%d:%d:%d,%d\n",hr,min,seg,centiseg);


}while(ano<2000);//por ejemplo
getchar();


}//void
#23
Muchas gracias! ya funciona perfectamente, el reloj retrasa una hora en el dia 283 que creo que es lo que pedia el ejecicio, en lugar de retrasarla cada 283 dias que es lo que pretendia aunque estuviera mal...
(Al final he puesto la libreria conio.h porque me da error con putchar(); en turbo c)
#include<stdio.h>
#include<conio.h>
void main(){
int seg,min,hr,dia,cont;
seg=0;
min=0;
hr=0;
dia=1;
cont=0;


do{

seg++;
if(seg>=60){min++; seg=0;}
if(min>=60){hr++;min=0;}
if(hr>=24){dia++;hr=0;}
if(dia==283&&cont==0){cont++;dia=282;hr=23;}

printf("\ndia %d %d:%d:%d",dia,hr,min,seg);


}while(dia<283);
getch();


}//void

#24
Entiendo, pero sigue sin funcionarme en C sera por que uso turbo C?
Lo he probado en java y parece que funciona bien...
#25
En primer lugar gracias a todos por vuestros comentarios.
No se porque pero solo suma las horas y los dias, he probado sin el if (seg!=60), pero es lo mismo...

MAFUS al final de esa instrucción seg vale 1 y pensaba que deberia seguir sumando 1 hasta meterse en el if que sumaria un minuto y reiniciaria seg.

Kenji-chan he cambiado el codigo pero no se que mas hace falta....



#include<stdio.h>
void main(){
int seg,min,hr,dia;
seg=0;
min=0;
hr=0;
dia=1;


do{


if (seg!=60){seg++;}
if(seg>=60){min++; seg=0;}
if(min>=60){hr++;min=0;}
if(dia%283==0&&dia!=1&&hr>=24){dia++;hr=-1;}
if(hr>=24){dia++;hr=0;}


printf("\ndia %d %d:d%:%d",dia,hr,min,seg);


}while(dia<285);
putchar();


}//void
#26
Parece que no funciona ni e contador de segundos y no entiendo porque... el otro dia hice un programa de numeros primos que se parece bastante y funcionaba correctamente.

#include<stdio.h>
#include<conio.h>
void main(){
//NUMEROS PRIMOS
int num,divisor;
num=5;
divisor=3;
printf("primo:2\nprimo:3\n");
while(1000>num){
if(num%divisor!=0){divisor=divisor+2;
}//if
else{divisor=3;
num=num+2;}//else
if(num==divisor){

printf("primo:%d\n",num);
divisor=3;
num=num+2;
}//if2

}//while
getch();


}//void
#27
6.   Realizar un reloj que se retrase una hora automáticamente el tercer día de la semana 40
Por que no funciona?
#include<stdio.h>
#include<conio.h>
void main(){
int seg,min,hr,dia;
seg=0;
min=0;
hr=0;
dia=1;

do{
seg=seg++;
if(seg==59){min=min++; seg=0;}
if(min==59&&seg==59){hr=hr++;min=0;seg=0;}
if(hr==23&&min==59&&seg==59){dia=dia++;hr=0;min=0;seg=0;}
if(dia==282&&hr==23&&min==59&&seg==59){dia=dia++;hr=-1;min=0;seg=0;}

printf("\ndia %d %d:d%:%d",dia,hr,min,seg);
}while(dia<283);
getch();


}//void


MOD: Etiqueta GeSHi.