Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme je sais pas ou

Sujet résolu
    8 janvier 2006 à 18:18:44

    je sais que je vais en faire raler beaucoup parce que je suis nul mais j ai une erreur ecrite :
    permission denied
    ld returned 1 exit status

    voici mon code :

    Citation : moutondu50

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


    int main(int argc, char *argv[])
    {
    char pointsjoueur=0,pointsordi=0;
    const long max=3,MIN=1;
    long choix,choixordi;

    printf("ce jeu est cree par moutondu50\n c est un jeu de pierre ciseaux feuille\n je pense que vous connaissez tous le fonctionnement\n\t\tLA PARTIE SE DEROULE EN DIX POINTS.\n");
    printf("pour choisir indiquez le numero correspondant a l objet voulu\nchoisissez entre:\n\n\t1.pierre\n\t2.ciseaux\n\t3.feuille\n");
    do
    {
    printf("votre choix: ");
    scanf("%ld",&choix);
    switch (choix)
    {
    case 1:
    printf("vous avez choisi pierre!\n");
    break;
    case 2:
    printf("vous avez choisi ciseaux!\n");
    break;
    case 3:
    printf("vous avez choisi feuille!\n");
    break;
    default:
    printf("vous n avez pas le droit de choisir ce nombre FIN DU PROGRAMME\n");
    break;
    }
    srand(time(NULL));
    choixordi=(rand()%(max-MIN+1))+MIN;
    switch (choixordi)
    {
    case 1:
    printf("l ordinateur a choisi pierre!\n");
    break;
    case 2:
    printf("l ordinateur a choisi ciseaux\n");
    break;
    case 3:
    printf("l ordinateur a choisi feuille\n");
    break;
    default:
    printf("vous n avez pas le droit de choisir ce nombre FIN DU PROGRAMME\n");
    break;
    }
    if (choix==choixordi)
    {
    printf(" vous avez fait egalite avec l ordinateur\n");
    }
    else if (choix==1&&choixordi==2)
    {
    printf("BRAVO! vous avez gagnes!\n");
    pointsjoueur++;
    }
    else if (choix==2&&choixordi==3)
    {printf("BRAVO vous avez gagnes\n");
    pointsjoueur++;
    }
    else if (choix=3&&choixordi==1)
    {
    printf("BRAVO vous avez gagnes\n");
    pointsjoueur++;
    }
    else
    {
    printf("DOMMAGE l ordi a gagne\n");
    pointsordi++;
    }
    printf("l ordi a %ld points et vous avez %ld points",pointsordi,pointsjoueur);
    }
    while (pointsordi!=10||pointsjoueur!=10);
    if (pointsordi==10)
    {
    printf("\nVous avez perdu la partie\n");
    }
    else
    {
    printf("\n BRAVO vous avez gagné la partie\n");
    }
    system("PAUSE");
    return 0;
    }

    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2006 à 18:20:10

      mais ton code entre balise avant...
      edit : non entre les balises "c" lol
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2006 à 18:30:03

        Hum non plutôt comme ça :
        #include <stdio.h>
        #include <stdlib.h>
        #include <time.h>


        int main(int argc, char *argv[])
        {
        char pointsjoueur=0,pointsordi=0;
        const long max=3,MIN=1;
        long choix,choixordi;

        printf("ce jeu est cree par moutondu50\n c est un jeu de pierre ciseaux feuille\n je pense que vous connaissez tous le fonctionnement\n\t\tLA PARTIE SE DEROULE EN DIX POINTS.\n");
        printf("pour choisir indiquez le numero correspondant a l objet voulu\nchoisissez entre:\n\n\t1.pierre\n\t2.ciseaux\n\t3.feuille\n");
        do
        {
        printf("votre choix: ");
        scanf("%ld",&choix);
        switch (choix)
        {
        case 1:
        printf("vous avez choisi pierre!\n");
        break;
        case 2:
        printf("vous avez choisi ciseaux!\n");
        break;
        case 3:
        printf("vous avez choisi feuille!\n");
        break;
        default:
        printf("vous n avez pas le droit de choisir ce nombre FIN DU PROGRAMME\n");
        break;
        }
        srand(time(NULL));
        choixordi=(rand()%(max-MIN+1))+MIN;
        switch (choixordi)
        {
        case 1:
        printf("l ordinateur a choisi pierre!\n");
        break;
        case 2:
        printf("l ordinateur a choisi ciseaux\n");
        break;
        case 3:
        printf("l ordinateur a choisi feuille\n");
        break;
        default:
        printf("vous n avez pas le droit de choisir ce nombre FIN DU PROGRAMME\n");
        break;
        }
        if (choix==choixordi)
        {
        printf(" vous avez fait egalite avec l ordinateur\n");
        }
        else if (choix==1&&choixordi==2)
        {
        printf("BRAVO! vous avez gagnes!\n");
        pointsjoueur++;
        }
        else if (choix==2&&choixordi==3)
        {printf("BRAVO vous avez gagnes\n");
        pointsjoueur++;
        }
        else if (choix=3&&choixordi==1)
        {
        printf("BRAVO vous avez gagnes\n");
        pointsjoueur++;
        }
        else
        {
        printf("DOMMAGE l ordi a gagne\n");
        pointsordi++;
        }
        printf("l ordi a %ld points et vous avez %ld points",pointsordi,pointsjoueur);
        }
        while (pointsordi!=10||pointsjoueur!=10);
        if (pointsordi==10)
        {
        printf("\nVous avez perdu la partie\n");
        }
        else
        {
        printf("\n BRAVO vous avez gagné la partie\n");
        }
        system("PAUSE");
        return 0;
        }


        Mais je comprends pas bien ton problème... ^^
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2006 à 18:31:15

          Perso, j'ai juste copier-coller ton code, et il me semble très bien marcher... à part que j'en suis arriver à un score de 46-4, ce qui ne semble pas en accord avec la condition finale, mais bon, il se compile bien pour moi.
          L'erreur te survient à quel moment (je m'excuse du non-français de cette phrase, mais il n'y a pas de verbe exprimant mon idée tout en étant transitif ^^) ? Et tu compile sous quel compilateur ?
          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2006 à 18:31:48

            si moi je voit ( enfin je pense..) a ton premier do { tu n'a pas de de while après.
            • Partager sur Facebook
            • Partager sur Twitter
              8 janvier 2006 à 18:34:38

              Autre erreur, quand on choisit ciseau et que l'ordinateur choisit pierre ... on gagne quand même o_O
              • Partager sur Facebook
              • Partager sur Twitter
                8 janvier 2006 à 18:35:21

                Sissi, il y a un while après, c'est just qu'il est placé au mauvais endroit...(il y a un retour à la ligne entre l'accolade et le while, ligne 75).
                • Partager sur Facebook
                • Partager sur Twitter
                  8 janvier 2006 à 18:53:10

                  J'arrive pas à gagner ou perdre ^^
                  La partie se termine comment ?! ^o)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 janvier 2006 à 18:58:24

                    Heu à mon avis il faut que tu mettes :
                    else if(pointsjoueur==10)
                    {
                    printf("\n BRAVO vous avez gagne la partie\n");
                    break;
                    }
                    }
                    while (pointsordi!=10||pointsjoueur!=10);

                    system("PAUSE");
                    return 0;
                    }

                    EDIT : Désolé :honte:
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 janvier 2006 à 19:06:33

                      Il y a en effet un problème, la condition de fin ne doit pas être
                      while (pointsordi!=10||pointsjoueur!=10);

                      mais
                      (pointsordi!=10 && pointsjoueur!=10);</code>

                      C'est une histoire de logique, fait des essais avec plusieurs scores différents, tu comprendra pourquoi mon test fonctoinne et pas l'autre.

                      EDIT : @willy : si tu pouvais éviter de nous reposter tout le code à chaque fois, ça serais sympa ^^ Essaie plutot de ne mettre que la ligne qui a subie des modifications...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 janvier 2006 à 19:19:34

                        euh merci de votre aide a tous dev me dit toujours la meme erreur j ai essaye avec code blocks et ca marche impecable
                        par contre je trouve ca ecrit petit on peux pas fair eun zoom ou changer de police avec codeblocks?

                        je vais essayer de reinstaller
                        • Partager sur Facebook
                        • Partager sur Twitter

                        probleme je sais pas ou

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown