Affichage bizarre [Résolu]

cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention - 3 juil. 2006 à 16:14 - Dernière réponse : cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention
- 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+
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Utilisateur anonyme - 7 juil. 2006 à 17:40
3
Merci
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 

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 7 juil. 2006 à 17:44
3
Merci
La fonction time a la ligne 45 tu doit luis passé un l'argument NULL dans ton cas...:
time(NULL)

MaLaDeDeDe 97one 

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 7 juil. 2006 à 17:48
3
Merci
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 

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 3 juil. 2006 à 16:27
0
Merci
C'est probablement le getchar. Que ce passe t-il si tu l'enlève?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom
cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention - 3 juil. 2006 à 16:48
0
Merci
si j'enleve le getchar(); jene vois pas le resultat la enetre se barre avant?
Commenter la réponse de cs_darkwhite
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 3 juil. 2006 à 16:52
0
Merci
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
Commenter la réponse de SAKingdom
cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention - 3 juil. 2006 à 16:55
0
Merci
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
Commenter la réponse de cs_darkwhite
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 3 juil. 2006 à 17:00
0
Merci
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
Commenter la réponse de SAKingdom
cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention - 3 juil. 2006 à 17:06
0
Merci
    }
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()
Commenter la réponse de cs_darkwhite
Utilisateur anonyme - 3 juil. 2006 à 23:02
0
Merci
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
Commenter la réponse de Utilisateur anonyme
cs_darkwhite 133 Messages postés vendredi 17 novembre 2000Date d'inscription 29 avril 2008 Dernière intervention - 7 juil. 2006 à 14:39
0
Merci
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!!
Commenter la réponse de cs_darkwhite
Utilisateur anonyme - 7 juil. 2006 à 17:11
0
Merci
mais quel ligne de ta fonction ?

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.