Affichage bizarre

Résolu
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008 - 3 juil. 2006 à 16:14
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008 - 7 juil. 2006 à 19:34
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

Utilisateur anonyme
7 juil. 2006 à 17:40
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 
3
Utilisateur anonyme
7 juil. 2006 à 17:44
La fonction time a la ligne 45 tu doit luis passé un l'argument NULL dans ton cas...:
time(NULL)

MaLaDeDeDe 97one 
3
Utilisateur anonyme
7 juil. 2006 à 17:48
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 
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:27
C'est probablement le getchar. Que ce passe t-il si tu l'enlève?

___________________________________________
Les plus grands esprits trouvent toujours une solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
3 juil. 2006 à 16:48
si j'enleve le getchar(); jene vois pas le resultat la enetre se barre avant?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 16:52
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
0
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
3 juil. 2006 à 16:55
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
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 juil. 2006 à 17:00
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
0
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
3 juil. 2006 à 17:06
    }
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()
0
Utilisateur anonyme
3 juil. 2006 à 23:02
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
0
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
7 juil. 2006 à 14:39
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!!
0
Utilisateur anonyme
7 juil. 2006 à 17:11
mais quel ligne de ta fonction ?

MaLaDeDeDe 97one 
0
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
7 juil. 2006 à 17:20
ligne 38 et 45
0
cs_darkwhite Messages postés 133 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 29 avril 2008
7 juil. 2006 à 19:34
Merci pour tes reponsses maladedede :!!!
0
Rejoignez-nous