C/c++,programme

Bonjour,je cherche a programmer:

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

int main(int argc, char *argv[])
{
long choixmenus;
printf ("\nsupermariobros\n");
printf ("\nsnack\n");
printf ("\nsonic\n");
printf ("\ncall of duty\n");
printf ("\n\nvotre chois\n\n")
scanf ("%ld", &choixmenus);

printf ("\n\n")

switch (choixmenus)
{
case 1:
printf ("oui,c'est un bon jeu")
break;
case 2:
printf ("pff,vous ete un amateur en jeuxvideo ou quoi?")
break;
case 3:
printf ("bon jeu d'aventure")
break;
case 4:
printf ("parfait,parfait;vous savez choisir les bon jeux vous!!!")
break;
default:
printf ("rien ne vous interresse?degager alors!!")
break;
}

system("PAUSE");
return 0;
}

MAIS IL Y A UN PROBLEME DANS SCANF,JE CHERCHE UNE SOLUTION MAIS JE TROUVE PAS.
aider moi
merci
Configuration: Windows XP
Internet Explorer 6.0

32 réponses

Résumé de la discussion

Un programme en C propose un menu et peut bloquer lors de scanf, rendant le choix via le switch fiable et logique selon l’entrée utilisateur. Plusieurs remarques discutent principalement d’erreurs de syntaxe et de type, notamment l’usage correct de l’adresse avec scanf et des deux-points dans les cases du switch. Certains suggèrent d’utiliser le format %ld pour un long et de passer l’adresse de la variable, d’autres insistent sur la nécessité d’écrire case 1: et ainsi de suite. En cas de doute, il peut aussi être utile de tester le scanf séparément et de vérifier la compilation, afin d’isoler l’emplacement exact du souci.

Bobot (l’IA à votre service)
  1. tu cherche a cree quel programme
    0
    1. dans les printf j'ai deja mis les (;)
      merci de m'ider pour scanf
      0
      1. un programme menu -----switch
        0
        1. je ne suis pas en pro en langauge c ou c++ ou java je suis un debutant je viens d'apprendre
          0
          1. dacord merci quand meme
            0
            1. mais enfaite c'est pas pour pro c est pour debutant ca ;)
              0
              1. olala je trouve pas de solution :(
                0
                1. tu a deja appris le lagauge c;c++
                  0
                  1. Contributeur
                    Salut,
                    Peux-tu décrire ton problème. Qu'est-ce qui te faire dire qu'il y a un problème ?
                    0
                    1. ben sa fait 2 jour que je travaille la dessu surtout en c c++ apres
                      j'ai deja appris a programmer une calculatrice en mode console
                      j'ai appris beaucoup de chose en 2 jour
                      maintenent je conais beaucoup de fonction
                      maintenant je cherche a programmer un menu fait en switch pour pas ecrire beaucoup voila et c'est la que je bloc scanf ("%ld",&choismenux);
                      0
                      1. dac,quand je cherche a compiler et a executer il y a une erreur dans scanf voila
                        0
                        1. vous avez une solution
                          merci
                          ou dois-je re-faire tout
                          0
                          1. Contributeur
                            C'est bizarre car ton code ne contient pas d'erreurs hormis l'oubli de point-virgules que t'as signalé.
                            Ce code marche sur ma machine ;) J'ai juste rajouté les point-virgules ainsi que remplacer system("PAUSE"); par getchar().
                            #include <stdio.h>
                            
                            int main(void)
                            {
                                long choixmenus;
                                printf ("\nsupermariobros\n");
                                printf ("\nsnack\n");
                                printf ("\nsonic\n");
                                printf ("\ncall of duty\n");
                                printf ("\n\nvotre chois\n\n");
                                scanf ("%ld", &choixmenus);
                            
                                printf ("\n\n");
                            
                                switch (choixmenus)
                                {
                                    case 1:
                                        printf ("oui,c'est un bon jeu");
                                        break;
                                    case 2:
                                        printf ("pff,vous ete un amateur en jeuxvideo ou quoi?");
                                        break;
                                    case 3:
                                        printf ("bon jeu d'aventure");
                                        break;
                                    case 4:
                                        printf ("parfait,parfait;vous savez choisir les bon jeux vous!!!");
                                        break;
                                    default:
                                        printf ("rien ne vous interresse?degager alors!!");
                                        break;
                                }
                            
                                getchar();
                                return 0;
                            } 
                            
                            
                            0
                            1. oui j'ai rajouter aussi les poin mais pas marcher
                              je vais tester ce que tu ma doner
                              merci
                              0
                              1. merci maitenent ca fonctionne
                                mais je me demande bien ou etais le probleme?
                                0
                                1. c'est peut etre "getchar();" qui devais etre renplacer par pause?
                                  0
                                  1. je pense que je vais le recommencer car il y a un gros prob.
                                    il ne fonctionne pas comme il devrais
                                    merci et aurevoir
                                    0
                                    1. Contributeur
                                      Non ce n'est pas le problème du system("PAUSE"); J'ai mis getchar() car c'est mieux.
                                      Je pense que le problème venait d'un point-virgule oublié quelque part ou une bêtise du genre.
                                      Je te conseille d'utiliser un éditeur te permettant de réaliser l'indentation. Tu le verras rapidement s'il manque un point-virgule. Ou même un bon IDE.
                                      0
                                      • 1
                                      • 2