Affichage bizarre

[Résolu]
Signaler
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
-
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
-
Salut a tous
Je commence par faire une lotterie simple mais j'ai un probleme au niveau de l'affichage d'un tableau, mon code est le suivant

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int argent= 1000;
int main()
{
    int mise,i =0;
    char confirm;
    int num_joueur [8];
printf(".:: Jeu de Lotterie ::.\n\n");
getchar();
printf ("Vous avez a ce stade du jeu %d euros\n",argent);
getchar();
debut:
printf("Combien misez vous pour ce tirage?\n");
scanf("%d",&mise);
printf("vous avez misé %d euros etes vous sur (O/N)?\n",mise);
scanf("%c",&confirm);
if ( confirm =='O'||confirm =='o')
    {
        printf("Entrez les numeros des votre choix (il y en a 8)\n");
        for (i=0;i<8;i++)
        {
            printf("Numero %d\n",i);
            scanf("%d",&num_joueur[i]);
        }
        printf("vous avez saisi les nombres suivant\n");
        for (i=0;i<8;i++)
        {
            printf("%d  ",num_joueur[i]);
            getchar();
        }
           
    }
else
    {
        goto debut;
}
}

je repete sa n'est pas fini mais quand j'ai  saisi mé nombres par exemple 54 51 30 20 45 45 62 84 et ben il me les affiche comme sa
54 51
30
20
45
45
62
84
=> Il reviens a la ligne au bout de deux nombres alors que jeveut qu'ils secrivent en ligne

J'attend vos reponsse

a+

14 réponses


Bin c'est sur^^
Tu utilise num_random comme un tableau de int et tu le declare comme cela:
int num_random;

mais pluto int num_random[8];
MaLaDeDeDe 97one 

La fonction time a la ligne 45 tu doit luis passé un l'argument NULL dans ton cas...:
time(NULL)

MaLaDeDeDe 97one 

et à la ligne 38 tu appelle ta fonction comme cela:
lotterie(void);
or ce n'est pas le prototype.
la fonction ne demandant aucun argument remplace par: lotterie();

Voila ca compile^^ La prochaine fois j'ésséyerai de repondre en un message désolé
MaLaDeDeDe 97one 
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
C'est probablement le getchar. Que ce passe t-il si tu l'enlève?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

si j'enleve le getchar(); jene vois pas le resultat la enetre se barre avant?
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Le getchar dans la boucle

for (i=0;i<8;i++)
        {
            printf("%d  ",num_joueur[i]);
            getchar(); <-ICI
        }

???
Bizzard.
___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

ben justement: quand j'enleve ce getchar() et que je le mé hors de la boucle : comme ceci
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int argent= 1000;
int main()
{
    int mise,i =0;
    char confirm;
    int num_joueur [8];
printf(".:: Jeu de Lotterie ::.\n\n");
getchar();
printf ("Vous avez a ce stade du jeu %d euros\n",argent);
getchar();
debut:
printf("Combien misez vous pour ce tirage?\n");
scanf("%d",&mise);
printf("vous avez misé %d euros etes vous sur (O/N)?\n",mise);
scanf("%c",&confirm);
if ( confirm =='O'||confirm =='o')
    {
        printf("Entrez les numeros des votre choix (il y en a 8)\n");
        for (i=0;i<8;i++)
        {
            printf("Numero %d\n",i);
            scanf("%d",&num_joueur[i]);
        }
        printf("vous avez saisi les nombres suivant\n");
        for (i=0;i<8;i++)
        {
            printf("%d  ",num_joueur[i]);
            //getchar();
        }
  getchar();
           
    }
else
    {
        goto debut;
}
}

j'ai aussi la fenetre qui disparait
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Si tu essayais de le mettre juste à la fin du programme ici:
            
   else 
   {
      goto debut;
   }
   getchar();
}

Ou encore de le remplacer par system("pause")

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

    }
else
    {
        goto debut;
}
getchar();

}
même comme sa il n'est pas pris en compte :'(
et quand je mets un system pause sa me mets dans la fenetre d'exec apuyer sur une touche pour continuer mais c'est le meme resultat qu'avec getchar()

Pour ne pas que la fenetre se bare fait: system("pause");

Ou alors éssèye sleep(10000);

et si il y a une erreur de compilation avec sleep remplace le par Sleep(10000);
 et inclu windows.h ( #include<windows.h> )

MaLaDeDeDe 97one
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

J'ai resolu mon probleme d'affichage maintenant j'ai un peu avancé dans le code :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int argent= 1000;
int num_joueur [8];
  int num_random;
int lotterie(void);
int main()
{
    int mise,i =0;
    char confirm;
 
printf(".:: Jeu de Lotterie ::.\n\n");
getchar();
printf ("Vous avez a ce stade du jeu %d euros\n",argent);
getchar();
debut:
printf("Combien misez vous pour ce tirage?\n");
scanf("%d",&mise);
printf("Entrez les numeros des votre choix (il y en a 8)\n");
        for (i=0;i<8;i++)
        {
            printf("Numero %d\n",i);
            scanf("%d",&num_joueur[i]);
          getchar();    
        }
        printf("vous avez saisi les nombres suivant\n");
        for (i=0;i<8;i++)
        {
            printf("%d  ",num_joueur[i]);
           
        }
system("pause");

    for (i=0;i<8;i++)
    {
        num_random[i]= (lotterie(void);
    }
}

int lotterie(void)
{
    int tirage;
    srand(time());
    tirage= (int)(rand()%(20-1)+1);
    return (tirage);
}

Mais je les msg d'erreur suivant

In function `lotterie'
subscripted value is neither array nor pointer

Je ne comprend pas!!

mais quel ligne de ta fonction ?

MaLaDeDeDe 97one 
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

ligne 38 et 45
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008

Merci pour tes reponsses maladedede :!!!