CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] probleme programme

AzirFapII
AzirFapII
Niveau 8
11 janvier 2015 à 19:23:32
//Inclusion des bibliothèques
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define clear system("cls")

//Principal function
int main(int argc, char *argv[])
{
    int MAX;
    const int MIN=1;
    int nombreMystere;
    int nombreEntree;
    int choixMAX;
    int choix;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    printf("Bonjour a tous et a toutes dans le jeu du plus ou moins !\n\n");
    printf("Le principe est simple, vous deviez entrer un nombre\n");
    printf("aleatoire, pour qu'on puisse le comparer avec un autre\n");
    printf("nombre inconnu. Grace a nos indications, vous le retrouverez !\n\n");
    printf("choisissez un niveau de difficulte :\nNombre inconnu entre 1 et 100 : 1\nNombre inconnu entre 1 et 1000 : 2\nNombre inconnu entre 1 et 10000 : 3\n\n");
    scanf("%d", &choixMAX);
    switch(choixMAX)
    {
    case 1:
        printf("vous avez choisi difficulte facile !");
        MAX=100;
        break;
    case 2:
        printf("vous avez choisi difficulte moyen !");
        MAX=1000;
        break;
    case 3:
        printf("vous avez choisi difficulte difficile !");
        MAX=10000;
        break;
    default:
        printf("Ce niveau n'est pas disponible, a la prochaine !");
        break;
    }
    printf("etes vous pret ?(O=1/N=0) : ");
    scanf("%d", &choix);
    if(choix)
    {
        clear;
        printf("Entrez votre nombre\n");
        scanf("%d", &nombreEntree);
        while(nombreEntree < 0)
        {
            printf("re-entrez nombre svp : ");
            scanf("%d", &nombreEntree);
        }
        do
        {
            printf("c'est moins\n\n");
            scanf("%d", &nombreEntree);
        }
        while(nombreEntree < nombreMystere);
        do
        {
            printf("c'est plus\n\n");
            scanf("%d", &nombreEntree);
        }
        while(nombreEntree > nombreMystere);
        do
        {
            printf("Vous avez gagne !\n\n");
        }
        while(nombreEntree==nombreMystere);
    }
    else
        return EXIT_SUCCESS;
    return 0;
}

Bonjour ci dessus mon programme du plus ou moins.
Il travaillait bien au début jusqu'à ce que je fasse quelques améliorations ( ajout de 3 niveaux de difficulté ) et là tout se passe bien jusqu'au moment ou je rentre le premier nombreEntree et un message s'affiche : "aaaa.exe a cessé de fonctionner" je suis débutant en C et j'ai analysé le code, j'ai pas trouvé de problème particulier :noel:
Merci de vouloir me corriger ! :)

AzirFapII
AzirFapII
Niveau 8
11 janvier 2015 à 19:30:06

Re-Bonjour tout le monde, faute de débutant en fait je modifiais juste max mais nombreMystere.
donc effectué un changement nombre mystère je l'ai delete de sa place et je l'ai mise après les max sur les switch. :)

Pseudo supprimé
Pseudo supprimé 11 janvier 2015 à 19:35:41

Tu as oublié d'initialiser MAX.

Et tu utilises beaucoup trop de boucles, c'est inutile. Une boucle suffirait pour ton programme. Pense à utiliser des conditions la place :-)

Un conseil pour alléger le code :

Si tu as plusieurs variables de même type à déclarer, fais le sur une seule ligne. Ca se fait comme ça :

int a, b, c ,d;

Un bon tuyau : pense à faire des fonctions séparées ! Tu t'y retrouveras bien mieux.

Message édité le 11 janvier 2015 à 19:39:47 par Pseudo supprimé
AzirFapII
AzirFapII
Niveau 8
11 janvier 2015 à 19:39:16

Merci vdd :)
Oui effectivement j'ai réecris le programme et j'ai trouvé que j'utilisais plusieurs boucles. j'ai aussi mis les variables sur une seule ligne ( pas toute mais ceux de la meme categorie :) )

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment