Index du forum

Nous sommes le Jeu 20 Nov 08 :: 10:36

Heures au format UTC + 1 heure [ Heure d’été ]




Poster un nouveau sujet Répondre au sujet  [ 17 messages ] 
Auteur Message
 Sujet du message: Probleme C Débutant
MessagePosté: Mar 18 Sep 07 :: 20:41 

Récent
Récent
Avatar de l’utilisateur


Inscrit le :
Mar 10 Juil 07 :: 19:13
Messages : 41
Bon j'suis en plein appretissage et j'ai unooo problemooo

Alors bon j'apprend comme un ptit débutant avec un tuto sur le site du zero
Et la j'essaye de faire les applications qu'ils ont démandé
C'est a dire un jeu de hasard où un nombre est généré au hasard et où il faut trouver ce nombre et après chaque tentative on nous dit si c'est plus ou moins bref
Ca c'est fait
Apres ajout du mode deux joueurs qui soit dit en passant et fait de facon..spéciale donc si y'avai un moyen pour eviter un certain passage qui se reconnaitra facilement lors de la lecture du code..
Et ensuite agrémentation d'un choix de niveau de difficulté
Et la bas je bug : bon a la base j'avais des constantes pour la valeur max et min pr le nombremystere qui était généré ( respectivement 0 et 100 )
Hop jvire les constantes et jessaye de changer la valeur de ce min et max en fonction du choix de la personne mais bon les valeurs veulent pas changer ca reste bloqué au valeur donné par default soit 0 et 0
Please help

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
   
    long nombreMystere = 0;
    long nombre = 0;
    long tentative = 0;
    long continuer = 1;
    long player = 0;
    long cacher = 0;
    long difficulte =0;
    long MAX =0, MIN =0;
   
    do  // Ouverture premiere boucle
{
     
   
    printf ("\nBienvenue dans le jeu du nombre Mystere.\n");
    printf ("Vous allez devoir trouver un nombre cache entre 1 et 100 !\n\n");
    printf ("Choisissez votre niveau de difficulte !");
    printf ("\nTaper 1 pour facile");
    printf ("\nTaper 2 pour moyen");
    printf ("\nTaper 3 pour difficile");
    printf ("\nVotre choix :");//Choix du niveau de difficulté
    scanf  ("%ld", &difficulte);
    while (difficulte != 1 && difficulte != 2 && difficulte != 3) //Si la personne répond a coté de la plaque
    {
    printf ("\nTaper 1 pour facile");
    printf ("\nTaper 2 pour moyen");
    printf ("\nTaper 3 pour difficile");
    printf ("\nVotre choix :"); //Choix du niveau de difficulté
    scanf  ("%ld", &difficulte);
    }
    if (difficulte == 1)
    {
    long MAX = 100, MIN = 0;
    }
    if (difficulte == 2)
    {
    long MAX = 1000, MIN = 0;
    }
    if (difficulte == 3)
    {
    long MAX = 10000, MIN = 0;
    }
   
   
   
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf ("\nTaper 1 pour le mode UN joueur et 2 pour le monde DEUX joueur :  ");
    scanf ("%ld", &player);
    // Choix du mode un ou deux joueur
    while (player != 1 && player != 2) //Si la personne répond a coté de la plaque
    {
    printf ("\nFaut taper 1 ou 2, pas autre chose ! : ");
    scanf ("%ld", &player);
    }     
   
   
    if (player == 1) //Ouverture du mode un joueur
    {
    do  //Ouverture 2eme boucle , on cherche le nombre
{
    printf ("\nQuel est le nombre ? : ");
    scanf ("%ld", &nombre);
    tentative ++;
    if (nombre>nombreMystere)
       printf ("C'est moins!\n");
    else if ( nombre<nombreMystere )
       printf ("C'est plus !\n");
    else if (nombreMystere==nombre)
       printf ("\nC'est gagne en %ld tentative!\n\n",tentative);
    else if ( MIN > nombre > MAX)
       printf ("\nVeuillez choisir une chiffre mystere entre %ld et %ld :  ",MIN,MAX);
}while  (nombre != nombreMystere);//fermeture 2eme boucle

}// Fermeture du mode 1 jour

   if (player == 2) //Ouverture du mode deux joueur
    {
    printf ("\nJoueur1 veuillez choisir une chiffre mystere entre %ld et %ld :  ",MIN,MAX);
    scanf ("%ld", &nombreMystere); //Choix du nombre Mystere
    while (nombreMystere > 100) //Si la personne répond a coté de la plaque
    {
    printf ("\nVeuillez saisir une valeur correcte !: ");
    scanf ("%ld", &nombreMystere);
    }
    //Instructuction pour faire disparaitre le nombre mystere , on fait comme on peut désolé
    printf ("\nJoueur appuie sur Entree jusqua dispartion du nombre mystere.\n");
    printf ("Et appuyez sur 1  lorsqu'il a disparu ! ");
    scanf ("%ld", &cacher);
    while ( cacher != 1) //Si la personne répond a coté de la plaque
    {
    printf ("Si le nombre mystere a dispartu appuyer sur 1 sinon continue !");
    scanf ("%ld", &cacher);
     }
    printf ("\nJoueur2 a vous de jouer, deviner le nombre mystere !\n\n");
   
    do  //Ouverture 2eme boucle , on cherche le nombre
{
    printf ("Quel est le nombre ? : ");
    scanf ("%ld", &nombre);
    tentative ++;
    if (nombre>nombreMystere)
       printf ("C'est moins!\n\n");
    else if ( nombre<nombreMystere )
       printf ("C'est plus !\n\n");
    else if (nombreMystere==nombre)
       printf ("C'est gagne en %ld tentative!\n\n",tentative);
}while  (nombre != nombreMystere);//fermeture 2eme boucle
}//Fermeture mode deux joueurs
    printf (" Voulez faire une (nouvelle) partie ? Tapez 1 pour oui et 2 pour non: ");
    scanf ("%ld", &continuer);
    //On demande pour une nouvelle partie
       if (continuer == 1)
    printf ("\nOk, c'est reparti!\n");
       if (continuer == 2)
    printf ("\nAurevoir alors !\n");
        while (continuer !=1 && continuer !=2) //Si la personne répond a coté de la plaque
       {
       printf ("\nSaissinez un chiffre corret: ");
       scanf("%ld", &continuer);
       } // Fermeture 3eme boucle
       
       
       system("PAUSE");
       
       
       
       }while (continuer !=2); //Fermeture 1ere boucle, repart au début si oui ou pas sinon
       return 0;
       
        }


Dernière édition par Miirak le Mar 18 Sep 07 :: 22:48, édité 1 fois.

Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 21:29 

Administrateur
Administrateur
Avatar de l’utilisateur


Inscrit le :
Lun 26 Juin 06 :: 17:58
Messages : 2927
Lieu : Dans un coin posé =)
Demande ça carrément sur leur forum, on ne code pas vraiment comme sur le site du zéro à la fac =)

_________________
Dark, Administrateur du forum de l'Université Paris XII, ex étudiant à Paris XII en L2 Informatique, Webmaster.
Et n'oubliez pas d'aller vous présenter =)
Un problème ? Une question ? Envie d'une blague débile ? Me Contacter


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 22:35 

Star de l'amphi
Star de l'amphi
Avatar de l’utilisateur


Inscrit le :
Lun 18 Sep 06 :: 16:34
Messages : 1371
Très franchement, un code en brute comme ca ne me donne aps très envie (sans couleur ni petit décalage vers la droite).
Enfin, comme tu es le premier à poster ça, je vais voir de plus près :P

_________________
Image
Image


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 22:39 

Ancien
Ancien
Avatar de l’utilisateur


Inscrit le :
Jeu 21 Sep 06 :: 20:39
Messages : 672
Lieu : Dans une Pinte
Code:
printf ("\nJoueur1 veuillez choisir une chiffre mystere entre %ld et %ld : ",MIN,MAX);
scanf ("%ld", &nombreMystere); //Choix du nombre Mystere
while (nombreMystere > 100) //Si la personne répond a coté de la plaque


Pourquoi utiliser un MAX pour faire un test ensuite sur 100?


Ensuite pour ton probleme de cachage, il te suffit pour de rajouter un texte quand la personne rentre le chiffre, constitué de plusieurs retour à la ligne, suffisament pour assurer le coup ;).

Sinon j'ai pas vraiment compris ton probleme?

Comme le dit dark, il ne faut surtout pas redeclarer tes variables! Enleve moi ce long apres la déclaration


Dernière édition par Tifoo le Mar 18 Sep 07 :: 22:42, édité 1 fois.

Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 22:40 

Administrateur
Administrateur
Avatar de l’utilisateur


Inscrit le :
Lun 26 Juin 06 :: 17:58
Messages : 2927
Lieu : Dans un coin posé =)
Bouarf, déjà si tu changeais juste la valeur de max et min à chaque fois, au lieu de redéclarer en "long", ptet que =)
Et c'est la balise CODE pour du code source.
Code:
long VARIABLE = 5;
VARIABLE =8;

_________________
Dark, Administrateur du forum de l'Université Paris XII, ex étudiant à Paris XII en L2 Informatique, Webmaster.
Et n'oubliez pas d'aller vous présenter =)
Un problème ? Une question ? Envie d'une blague débile ? Me Contacter


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 22:54 

Star de l'amphi
Star de l'amphi
Avatar de l’utilisateur


Inscrit le :
Mer 30 Mai 07 :: 20:08
Messages : 1202
Lieu : Sucy
et en francais ca donne quoi?

_________________
*Prune-L* Amoureuse et heureuse!!


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 22:58 

Récent
Récent
Avatar de l’utilisateur


Inscrit le :
Mar 10 Juil 07 :: 19:13
Messages : 41
Pour le < MAX, c'est parcqu'a la base c'tait sans mode de difficultés et j'ai juste oublier de changer quand j'ai ajouté les modes de difficultés.

Ah et pour le long, bah je savais pas :D
C'est résolu :)

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
   
    long nombreMystere = 0;
    long nombre = 0;
    long tentative = 0;
    long continuer = 1;
    long player = 0;
    long cacher = 0;
    long difficulte =0;
    long MAX =0, MIN =0;
   
    do  // Ouverture premiere boucle
{
     
   
    printf ("\nBienvenue dans le jeu du nombre Mystere.\n");
    printf ("Vous allez devoir trouver un nombre cache entre 1 et 100 !\n\n");
    printf ("Choisissez votre niveau de difficulte !");
    printf ("\nTaper 1 pour facile");
    printf ("\nTaper 2 pour moyen");
    printf ("\nTaper 3 pour difficile");
    printf ("\nVotre choix :");//Choix du niveau de difficulté
    scanf  ("%ld", &difficulte);
    while (difficulte != 1 && difficulte != 2 && difficulte != 3) //Si la personne répond a coté de la plaque
    {
    printf ("\nTaper 1 pour facile");
    printf ("\nTaper 2 pour moyen");
    printf ("\nTaper 3 pour difficile");
    printf ("\nVotre choix :"); //Choix du niveau de difficulté
    scanf  ("%ld", &difficulte);
    }
    if (difficulte == 1)
    {
    MAX = 100, MIN = 0;
    }
    if (difficulte == 2)
    {
    MAX = 1000, MIN = 0;
    }
    if (difficulte == 3)
    {
    MAX = 10000, MIN = 0;
    }
   
   
   
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf ("\nTaper 1 pour le mode UN joueur et 2 pour le monde DEUX joueur :  ");
    scanf ("%ld", &player);
    // Choix du mode un ou deux joueur
    while (player != 1 && player != 2) //Si la personne répond a coté de la plaque
    {
    printf ("\nFaut taper 1 ou 2, pas autre chose ! : ");
    scanf ("%ld", &player);
    }     
   
   
    if (player == 1) //Ouverture du mode un joueur
    {
    do  //Ouverture 2eme boucle , on cherche le nombre
{
    printf ("\nQuel est le nombre ? : ");
    scanf ("%ld", &nombre);
    tentative ++;
    if (nombre>nombreMystere)
       printf ("C'est moins!\n");
    else if ( nombre<nombreMystere )
       printf ("C'est plus !\n");
    else if (nombreMystere==nombre)
       printf ("\nC'est gagne en %ld tentative!\n\n",tentative);
    else if ( MIN > nombre > MAX)
       printf ("\nVeuillez choisir une chiffre mystere entre %ld et %ld :  ",MIN,MAX);
}while  (nombre != nombreMystere);//fermeture 2eme boucle

}// Fermeture du mode 1 jour

   if (player == 2) //Ouverture du mode deux joueur
    {
    printf ("\nJoueur1 veuillez choisir une chiffre mystere entre %ld et %ld :  ",MIN,MAX);
    scanf ("%ld", &nombreMystere); //Choix du nombre Mystere
    while (nombreMystere > MAX  && nombreMystere > MIN) //Si la personne répond a coté de la plaque
    {
    printf ("\nVeuillez saisir une valeur correcte !: ");
    scanf ("%ld", &nombreMystere);
    }
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
    system("PAUSE");
   
   
    printf ("\nJoueur2 a vous de jouer, deviner le nombre mystere !\n\n");
   
    do  //Ouverture 2eme boucle , on cherche le nombre
{
    printf ("Quel est le nombre ? : ");
    scanf ("%ld", &nombre);
    tentative ++;
    if (nombre>nombreMystere)
       printf ("C'est moins!\n\n");
    else if ( nombre<nombreMystere )
       printf ("C'est plus !\n\n");
    else if (nombreMystere==nombre)
       printf ("C'est gagne en %ld tentative!\n\n",tentative);
}while  (nombre != nombreMystere);//fermeture 2eme boucle
}//Fermeture mode deux joueurs
    printf (" Voulez faire une (nouvelle) partie ? Tapez 1 pour oui et 2 pour non: ");
    scanf ("%ld", &continuer);
    //On demande pour une nouvelle partie
       if (continuer == 1)
    printf ("\nOk, c'est reparti!\n");
       if (continuer == 2)
    printf ("\nAurevoir alors !\n");
        while (continuer !=1 && continuer !=2) //Si la personne répond a coté de la plaque
       {
       printf ("\nSaissinez un chiffre corret: ");
       scanf("%ld", &continuer);
       } // Fermeture 3eme boucle
       
       
       system("PAUSE");
       
       
       
       }while (continuer !=2); //Fermeture 1ere boucle, repart au début si oui ou pas sinon
       return 0;
       
        }



J'vais pouvoir continuer dans mon apprentissage =p
En tout cas, Merci tout le monde :)


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 23:02 

Star de l'amphi
Star de l'amphi
Avatar de l’utilisateur


Inscrit le :
Lun 18 Sep 06 :: 16:34
Messages : 1371
t! BoO a écrit:
et en francais ca donne quoi?

C'est un langage informatique utile pour créer beaucoup de logiciel par exemple :)
Ici, il est question d'un petit jeu basique ou tu dois choisi un chiffre en 0 et 100 et trouver le bon numéro (choisi par l'ordinateur) en un minimum de coups.
Il y a une option jouer à 2 apparement et 3 niveaux possibles.

Je sais, je sais... Tout ces lignes chimiques pour un jeux autant stupide... Mais comme quoi, ce n'est pas facile ;)

_________________
Image
Image


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 23:04 

Récent
Récent
Avatar de l’utilisateur


Inscrit le :
Mar 10 Juil 07 :: 19:13
Messages : 41
Nan c'pas stupide é_è
On peut s'faire des soirées de folies entre amis avec .Fou rires garanties :roll:


Dernière édition par Miirak le Mar 18 Sep 07 :: 23:13, édité 1 fois.

Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 23:07 

Star de l'amphi
Star de l'amphi
Avatar de l’utilisateur


Inscrit le :
Lun 18 Sep 06 :: 16:34
Messages : 1371
Je prefere attendre d'avoir ton nouveau marios bross personnalisé entre les mains :D

_________________
Image
Image


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 23:11 

Ancien
Ancien
Avatar de l’utilisateur


Inscrit le :
Jeu 21 Sep 06 :: 20:39
Messages : 672
Lieu : Dans une Pinte
Le mien sera suremet là en fin d'année :P

_________________
*Signature*


Haut
Profil
 
 Sujet du message:
MessagePosté: Mar 18 Sep 07 :: 23:35 

Star de l'amphi
Star de l'amphi
Avatar de l’utilisateur


Inscrit le :
Lun 18 Sep 06 :: 16:34
Messages : 1371
Pinguwi-land ?

_________________
Image
Image


Haut
Profil
 
 Sujet du message:
MessagePosté: Mer 19 Sep 07 :: 3:17 

Ancien
Ancien
Avatar de l’utilisateur


Inscrit le :
Jeu 21 Sep 06 :: 20:39
Messages : 672
Lieu : Dans une Pinte
Ouai va falloir s'y remettre =]

_________________
*Signature*


Haut
Profil
 
 Sujet du message:
MessagePosté: Jeu 20 Sep 07 :: 9:03 

Forumeur
Forumeur


Inscrit le :
Lun 18 Juin 07 :: 11:59
Messages : 150
Lieu : Paris
Vous avez trouvé votre réponse? Sinon je peux demander à mon copain ce midi, il est ingénieur en info hé hé ça pourrait lui faire sourrire un peu de codage basic.


Haut
Profil
 
 Sujet du message:
MessagePosté: Jeu 20 Sep 07 :: 9:16 

Administrateur
Administrateur
Avatar de l’utilisateur


Inscrit le :
Lun 26 Juin 06 :: 17:58
Messages : 2927
Lieu : Dans un coin posé =)
Merci de nous prendre pour des c*ns, désolé, on a trouvé =)

_________________
Dark, Administrateur du forum de l'Université Paris XII, ex étudiant à Paris XII en L2 Informatique, Webmaster.
Et n'oubliez pas d'aller vous présenter =)
Un problème ? Une question ? Envie d'une blague débile ? Me Contacter


Haut
Profil
 
 Sujet du message:
MessagePosté: Jeu 20 Sep 07 :: 10:22 

Forumeur
Forumeur


Inscrit le :
Lun 18 Juin 07 :: 11:59
Messages : 150
Lieu : Paris
LoL je vous prends pas pour des cons, je propose juste de l'aide lol


Haut
Profil
 
 Sujet du message:
MessagePosté: Jeu 20 Sep 07 :: 11:36 

Etudiant rodé
Etudiant rodé
Avatar de l’utilisateur


Inscrit le :
Mer 13 Sep 06 :: 22:34
Messages : 948
Faut utiliser matlab les gens

_________________
Qui ne saute pas n'est pas du Cé-Fi-PAAA


Haut
Profil
 
Afficher les messages précédents:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 17 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com & phpBB.biz
phpBB SEO
- Contact : [ forum[@]up12[.]net ] - Gestion par Darklg - MinURL.fr, Raccourcir vos liens, Rapidement et Simplement
Hebergement par : 1and1
[ Time : 5.862s | 12 Queries | GZIP : Off ]