HELP Langage C !!!

Résolu/Fermé
Utilisateur anonyme - 6 mars 2009 à 21:11
 Utilisateur anonyme - 7 mars 2009 à 06:47
Bonjour,
Je commence (je dit bien COMMENCE) en programmation en C.
J'ai écrie un code pour créer un compte à rebours (très rudimentaire) mais il y a des erreurs quand je le debugge et je ne les trouve pas. Voici le code :


#include <stdio.h>
#include <stdlib.h>

int main()
{
    long compteur = 0;
    long end = 0;
    printf ("Entrez la durée de votre compte à rebours (en secondes) : ");
    scanf ("%ld", compteur);
    if (compteur <=2)
    {
        printf ("\nC'est trop court ! Il faut mettre minimum 3 secondes !\n");
    }
    else
    {
        system ("clear");
        printf ("GO !\n\n");

        while (1)
        {
            if (compteur == end)
            {
                printf ("TERMINE\n\n by H4RDW4RE\n");
            }
            else
            {
                printf ("%ld", compteur);
                system ("sleep 1");
                compteur--;
            }
        }
    }
    return 0;
}



PS : Je suis sous Linux, ce qui explique les commandes "sleep" et "clear".

Merci d'avance

H4RDW4RE
A voir également:

4 réponses

Wardog Messages postés 389 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 17 octobre 2009 159
6 mars 2009 à 21:18
Salut H4RDW4RE

#include <stdio.h>
#include <stdlib.h>

int main()
{
    long compteur = 0;
    long end = 0;
    printf ("Entrez la durée de votre compte à rebours (en secondes) : ");
    scanf ("%ld", &compteur);
    if (compteur <=2)
    {
        printf ("\nC'est trop court ! Il faut mettre minimum 3 secondes !\n");
    }
    else
    {
        system ("clear");
        printf ("GO !\n\n");

        while (1)
        {
            if (compteur == end)
            {
                printf ("TERMINE\n\n by H4RDW4RE\n");
                    break;
            }
            else
            {
                printf ("%ld", compteur);
                system ("sleep 1");
                compteur--;
            }
        }
    }
    return 0;
}


Man scanf :)
Ton code est assez mal écrit. La boucle de while(1) ne sert à rien.

Voilà le code remanié par mes soins ^^

#include <stdio.h>
#include <stdlib.h>

int main()
{
    long compteur = 0;
    long end = 0;
    printf ("Entrez la durée de votre compte à rebours (en secondes) : ");
    scanf ("%ld", &compteur);
    if (compteur <=2)
    {
        printf ("\nC'est trop court ! Il faut mettre minimum 3 secondes !\n");
        return (1);
    }

    system ("clear");
    printf ("GO !\n\n");
    while (compteur > end)
    {
        printf ("%ld", compteur);
        system ("sleep 1");
        compteur--;
    }
    printf ("TERMINE\n\n by H4RDW4RE\n");
    return (0);
}

0
Utilisateur anonyme
6 mars 2009 à 21:22
Merci beaucoup.

Pour le code, je sais bien, j'ai lu ce matin même la première partie du tuto de C sur le site du zero et j'ai fait ce programme 1 heure après....

Merci encore

@+
0
bomberwaterman Messages postés 503 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 18 août 2012 66
7 mars 2009 à 00:23
et t'as quoi comme erreur? desolé j'ai lu vite fait le prog et jai un peu la flemme de chercher.

a+
0
Utilisateur anonyme
7 mars 2009 à 06:47
Salut, en fait : j'avais oublié le & dans la ligne :

scanf ("%ld", &compteur);


J'avais pas mis de break; et j'avais une boucle avec while qui en fait servait ) rien.

Bye
0