CHRONOMETRE

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 12 avril 2010 à 11:11
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 12 avril 2010 à 18:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51603-chronometre

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 avril 2010 à 18:46
Remplace le code que tu avais posté par ma version corrigée une fois que tu l'as comprise. Ce site a avant tout pour but d'apprendre et ce n'est pas avec un code pareil que ça fera avancer qui que ce soit. Et si BruNews passe par là, assassinat garanti.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
12 avril 2010 à 13:36
Salut
>>time.h

A+
smartties Messages postés 23 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 1 septembre 2014
12 avril 2010 à 12:03
génial merci pour la correction. Sinon je voulais savoir si il existait une autre librairie qui gére le temps a par windows.h ?
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 avril 2010 à 11:11
J'ai réussi à gagner une quarantaine de lignes en codant correctement en C (ton code c'est pas du C++, c'est un mauvais mélange entre les deux). Voilà quelque chose qui devrait déjà être mieux :

#include <stdio.h>
#include <windows.h>

#define true !0
#define false 0

void timer(int time, int* h, int* m, int* s)
{
*m = time/60;
*s = time-(*m)*60;
*h = (*m)/60;
*m -= (*h)*60;
}

int main()
{char nomax true, nomix true, nomer = true; //pour la gestion des boucles
char reponse[9], oui[] = "oui", non[] = "non", mart[] = "beta"; //chaines contenant les réponses
int heure, minute, seconde, timer1 = 0;
int h, m, s, timer2;

while (nomix)
{
printf( " ------- Bienvenue dans mon chrono : -------- \n\n\n");
printf(" - Voulez-vous enclencher le SmartChrono? (repondre par oui ou non) \n\n\t ou \n\n - Voulez-vous utiliser la nouvelle fonction qui permet d'arreter le chronometre a partir d'un temp que vous aurez determine ? (si oui, ecrivez beta)\n \n ");

scanf("%8s",reponse);
if(strcmp(reponse, oui) 0) nomix false;
if(strcmp(reponse, non) == 0) return 0;
if(strcmp(reponse, mart) == 0)
{ nomix false; nomax false;
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Vous avez donc choisi la fonction beta \n \tVeuillez entrer le temps dans lequel le chrono s'arretera\n");
printf("\n En heures : "); scanf("%d",&h);
printf("\n En minutes : "); scanf("%d",&m);
printf("\n En secondes : "); scanf("%d",&s);
timer2 = h*3600+m*60+s;
}

if (nomix)
{
printf("Veuillez ecrire la reponse distinctement s'il vous plait (repondez par oui ou non, ou écrire beta) \n\n\n\n");
printf(" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}
}

if (strcmp(reponse,mart) == 0)
{
while(nomer)
{
timer(timer1,&heure,&minute,&seconde);
timer(timer2,&h,&m,&s);

printf("Il est %02d:%02d:%02d\t\tLe chrono s'arrete dans %02d:%02d:%02d",heure,minute,seconde,h,m,s);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

if (timer2 == 0) nomer=false;
timer1++; timer2--;
Sleep(1000);
}
}
else
{
while (nomax)
{
timer1++;
timer(timer1,&heure,&minute,&seconde);
printf("Il est %02d:%02d:%02d",heure,minute,seconde);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Sleep(1000);
}
}

return 0;
}
Rejoignez-nous