begin process at 2012 05 28 14:51:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

bug d'execution pour ecrire dans un fichier en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

bug d'execution pour ecrire dans un fichier en C

dimanche 10 mai 2009 à 11:50:16 | bug d'execution pour ecrire dans un fichier en C

sebtheboss4

Bonjour, je suis encore un novice en C, voici un petit programme qui fait rien de très durs. Je souhaite enregistrer une phrase lors de la compilation tout semble marcher mais lors de l'execution windows rencontre un problème et marque donc le "Nomduprojet" a rencontré un problème Voici mon code #include #include #include int main(int argc, char *argv[]) { FILE* fichier = NULL; long nom; int nombreMystere = 0, nombreEntre = 0, nombredetentatives = 0, choix=0; int MAX =0, MIN =0; printf (" ==Menu==\n\n\n"); printf (" choissisez votre mode de jeux\n\n"); printf (" 1. Facile\n\n"); printf (" 2. Moyen\n\n"); printf (" 3. Difficile\n\n"); do { scanf("%d", &choix); if (choix==1) { MAX = 100, MIN = 1 ; printf (" \n\n"); } else if ( choix==2 ) { MAX = 1000, MIN = 1; printf (" \n\n"); } else if (choix==3) { MAX = 10000, MIN = 1; printf(" \n\n"); } else { printf ("Veuillez entrer un niveaux de difficulte correct:"); } } while (choix >3); // Génération du nombre aléatoire srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */ do { nombredetentatives++; // On demande le nombre printf("Quel est le nombre ? "); scanf("%d", &nombreEntre); // On compare le nombre entré avec le nombre mystère if (nombreMystere > nombreEntre) printf("C'est plus !\n\n"); else if (nombreMystere < nombreEntre) printf("C'est moins !\n\n"); else printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n"); } while (nombreEntre != nombreMystere); printf ("Vous avez reussi en %ld tentatives\n\n", nombredetentatives); fichier = fopen("jeux.txt", "r+"); if (fichier != NULL) { printf("Quel est votre nom ? "); scanf("%s",nom ); fprintf(fichier, "%s a reussi en %ld tentatives " ,nom, nombredetentatives) ; fclose(fichier); } else { // On affiche un message d'erreur si on veut printf("Impossible d'ouvrir le fichier jeux.txt"); } system("PAUSE"); return EXIT_SUCCESS; } Veuiller m'excuser si mon code n'est pas clair ( et si vous voyez des choses à améliorer faites en moi part javascript:Insert_Emoticon('/imgs2/smile.gif');
dimanche 10 mai 2009 à 12:58:03 | Re : bug d'execution pour ecrire dans un fichier en C

ghuysmans99

Membre Club
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
    FILE* fichier = NULL;
    int nombreMystere = 0, nombreEntre = 0, nombredetentatives = 0, choix=0;
    int MAX =0, MIN =0;

    printf (" ==Menu==\n\n\n");
    printf (" Choisissez votre mode de jeu\n\n");
    printf (" 1. Facile\n\n");
    printf (" 2. Moyen\n\n");
    printf (" 3. Difficile\n\n");

    MIN = 1;
    do
    {
        scanf("%d", &choix);
        switch (choix)
        {
            case 1:
                MAX = 100;
                break;
            case 2:
                MAX = 1000;
                break;
            case 3:
                MAX = 10000;
                break;
            default:
                printf ("Veuillez entrer un niveau de difficulte correct:");
        }
        if (choix>0 && choix<4) printf("\n\n");
    }
    while (choix>3 || choix<1);

    // Génération du nombre aléatoire
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    // La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère
    do {
        nombredetentatives++;
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%d", &nombreEntre);
        // On compare le nombre entré avec le nombre mystère
        if (nombreMystere > nombreEntre) printf("C'est plus !\n\n");
        else if (nombreMystere < nombreEntre) printf("C'est moins !\n\n");
        else printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
    }
    //while (nombreEntre != nombreMystere);
    while (nombreEntre == nombreMystere);

    printf ("Vous avez reussi en %ld tentatives\n\n", nombredetentatives);
    fichier = fopen("jeu.txt", "r+");
    if (fichier != NULL) {
        printf("Quel est votre nom ? ");

        // On crée un buffer de 255 bytes
        // La chaine entrée ne pourra pas dépasser 254 caractères (à cause du \0 en fin)
        char* nom = (char*)malloc(255);
        scanf("%254s",nom);
        fprintf(fichier,"%s a réussi en %ld tentatives",nom,nombredetentatives);
        // On libère le buffer
        free(nom);

        fclose(fichier);
    }
    else {
        // On affiche un message d'erreur si on veut
        printf("ERREUR: Impossible d'ouvrir le fichier jeu.txt\n");
    }
    system("PAUSE");
    return 0;
}

Signature.gif
dimanche 10 mai 2009 à 12:59:35 | Re : bug d'execution pour ecrire dans un fichier en C

ghuysmans99

Membre Club
Oups, j'ai oublié de virer ma ligne de débug : retire la 2ème ligne et décommentarise la 1ère
    //while (nombreEntre != nombreMystere);
    while (nombreEntre == nombreMystere);
Signature.gif


Cette discussion est classée dans : nombre, printf, choix, max, min


Répondre à ce message

Sujets en rapport avec ce message

Debutant : Boucle et C :) [ par Tkaos ] Bonjour, Voila je suis nouveau ici et dans l'univers de la progz, Bon vais pas vous faire attendre, voici mon probleme : Comme je suis caremment novic petit probleme dans la creation d'un jeu [ par lil_adriano ] Slt tous le monde,                                             ben voila je suis entrain de programmer un jeu du style demineur, partiquement le meme exercice en c [ par mannour85 ] Bonjour, j'ai essayer de corriger cet exercice en c mais j'ai pas eu une bonne exécution j'ai besoin d'aide .voici l'exercice puis mon essai. [b]exerc passage en mode graphique turbo c [ par jsuititidu27 ] bonjour à tous, j'ai découvert le turbo C et j'ai un exo à résoudre, voilà :tracer une fonction f(x). on entre les réels a et b sur lequel on va trace exercices à résoudre [ par jomsow ] bonjour je suis débutant en C svp aidez moi à résoudre ces deux exercices : Exercice 1: Modifier le programme suivant de telle sorte qu’il affiche menu en c [ par sebz10 ] bonjour, je voudrais créer un menu en c de façon a ce que quand je selectione un proposition (ex: addition) je puisse en suite additions ou tonber dan Aide pour mastermind [ par Giuventine ] Bonjour à tous, Je débute en programmation et dans le cadre du cours je dois réaliser un projet qui est le Mastermind en C. Pour cela, j'ai conçu u calcul du nombre de caractere dans un fichier [ par Pitdeboole ] slt les pro j'ai un peti souci voila ce code est censer creer un fichier puis compte nom le nombre de caractere contenu dans ce fichier y compri les e Probleme puissance 4 en SDL, sur l'IA min/max [ par diablosephiroth ] Bonjours , je rencontre un problème pour mon programme sur la partie intelligence artificielle. En effet, au début j'étais partie sur une simple IA à Calculatrice [ par sarazin66 ] Voila ma calculatrice , je cherche pleins de critique pour l'améliorer =D [^^langue3] voici ma source: [code=cpp][/code]#include #include #include


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales