Ver Mensaje Individual
  #7 (permalink)  
Antiguo 01/02/2013, 02:16
Avatar de pepitogrillo13051993
pepitogrillo13051993
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 11 años, 3 meses
Puntos: 0
Información Programa básico reloj c/c++ (tutorial 4.v)

Programa que recibe por teclado la hora (con el formato hora / minutos / segundos), controlando la entrada de datos para evitar valores erróneos, y presenta la hora en pantalla hasta que el usuario decida "pararlo" pulsando la tecla Escape.
p -> se pausa o detiene el reloj
r -> puesta a 0, concretamente a las 12:00:00
e -> reloj pasa a correr hacia atrás en el tiempo (descontando segundos)
a -> continúa corriendo el reloj si éste ha sido pausado o puesto a 0
m -> el reloj corre en el sentido normal (por si estuviera corriendo hacia atrás)

#include <iostream>
#include <stdio.h> /* printf y scanf */
#include <conio.h> /* flush(stdin), getche, getch */
#include <string.h> /* strcopy(), gets(), strcat() */
#include <stdlib.h> /* Lo uso para que funcione el system("cls") */
#include <windows.h> /* Sleep() */

using namespace std;

int main(){

system("title=Exercici Voluntari");

int pulse, variable=0, hora, mins, segs, pause=0, enr=0, start=0, ahora, amins, asegs;
char alarma[3];

do{

printf("Escriu la hora actual: ");
scanf("%d", &hora);
system("cls");
printf("Escriu el minut actual: ");
scanf("%d", &mins);
system("cls");
printf("Escriu el segon actual: ");
scanf("%d", &segs);
system("cls");
printf("Vols posar una alarma? ");
scanf("%s", alarma);
system("cls");
if(!strcmp(alarma, "si")){
printf("Escriu la hora de la alarma: ");
scanf("%d", &ahora);
system("cls");
printf("Escriu el minut de la alarma: ");
scanf("%d", &amins);
system("cls");
printf("Escriu el segon de la alarma: ");
scanf("%d", &asegs);
system("cls");
}
else if(hora == 1 || hora == 11 || mins == 1 || mins == 11 || segs == 1 || segs == 11){
printf(" 11\n 111\n 1111\n11 11\n 11\n 11\n 11\n 11\n");
}

}while (hora > 24 || mins > 60 || segs > 60);

while(variable == 0){
if(kbhit()){
pulse = getch();
if(pulse == 27)
variable = 1;
else if(pulse == 'p'){
pause = 1;
}
else if(pulse == 'a'){
pause = 0;
}
else if(pulse == 'r'){
segs = 0;
mins = 0;
hora = 0;
pause = 1;
}
else if(pulse == 'e'){
enr = 1;
}
else if(pulse == 'm'){
enr = 0;
}
}
else if(pause == 1){
system("cls");
printf("Ara mateix son les: %02d:%02d:%02d", hora, mins, segs);
Sleep(998);
}

else if(enr == 1){
system("cls");
printf("Ara mateix son les: %02d:%02d:%02d", hora, mins, segs);
Sleep(998);

if (segs > 0 && segs <= 59){
segs=segs-1;
}
else if (segs == 0 && mins > 0){
segs = 59;
mins=mins-1;
}
else if (segs == 0 && mins == 0 && hora == 0){
hora = 23;
mins = 59;
segs = 59;
}
else if (mins == 0 && segs == 0){
mins = 00;
segs = 00;
hora=hora-1;
}
}

else if(ahora == hora && amins == mins && asegs == segs){
system("cls");
printf("ALARMA!!!! %02d:%02d:%02d\n", hora, mins, segs);
printf("\a");
Sleep(150); printf("\a");
Sleep(150); printf("\a");
Sleep(150); printf("\a");
Sleep(150); printf("\a");
Sleep(150); printf("\a");
segs=segs+2;
Sleep(1248);
if (segs > 59){
segs = 00;
mins=mins+1;

if (mins > 59){
mins = 00;
hora=hora+1;

if (hora == 24){
hora = 00;
}
}
}
}

else{
system("cls");
printf("Ara mateix son les: %02d:%02d:%02d", hora, mins, segs);
Sleep(998);
segs=segs+1;

if (segs > 59){
segs = 00;
mins=mins+1;

if (mins > 59){
mins = 00;
hora=hora+1;

if (hora == 24){
hora = 00;
}
}
}
}

}

printf("\n\nHas polsat Escape \n\n");



return 0;

}