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

langage C :D

manil_masd
manil_masd
Niveau 5
04 août 2015 à 01:17:00

Bonjour , bonsoir :')
Voila , je suis au premier TP de open class room , apprenez à programmer en C
1. L'ordinateur tire au sort un nombre entre 1 et 100.
2. Il vous demande de deviner le nombre. Vous entrez donc un nombre entre 1 et 100.
3. L'ordinateur compare le nombre que vous avez entré avec le nombre «mystère » qu'il a tiré au sort . Il vous dit si le
nombre y stère est supérieur ou inférieur à celui que vous avez entré.
4. Puis l'ordinateur vous redemande le nombre.
5. … Et il vous indique si le nombre y stère est supérieur ou inférieur.
6. Et ainsi de suite, jusqu'à ce que vou s trouviez le nombre mystère.

c'est ce que je dois faire :p , mais le programme bug , je ne sais où ?
pourriez vous m'aider s'il vous plait ?
merciiii :D

  1. include <stdio.h>
  2. include <stdlib.h>
  3. include <time.h>

int main()
{
int nombreMystere = 0, nombreEntree = 0;
const MAX = 100, MIN = 1;
srand (time (NULL));
nombreMystere = (rand () % (MAX - MIN + 1)) + MIN;

printf("\n quelle est le nombre ? \n ");
do
{
scanf("%d", &nombreEntree);
if (nombreEntree < nombreMystere)
{
printf("\n Plus haut \n");
scanf("%d ", &nombreEntree);
}
else if (nombreEntree > nombreMystere)
{
printf("\n Plus bas \n");
scanf("%d ", &nombreEntree);
}
else
{
printf("Bien jouee");

}

while(nombreEntree != nombreMystere);

}

Gleuh
Gleuh
Niveau 10
04 août 2015 à 01:28:31

quand tu lances le programme, y'a écrit quoi dans la console ? ou qu'est ce que te dit l'erreur?

Gleuh
Gleuh
Niveau 10
04 août 2015 à 01:31:53

peut-être c'est ça, ton main ne retourne rien, après je m'y connais pas trop en C je sais pas si c'est indispensable pour le main

Gleuh
Gleuh
Niveau 10
04 août 2015 à 01:34:38

oui le message d'erreur

Candystand
Candystand
Niveau 10
04 août 2015 à 01:51:47

Enlève le scanf dans tes if/else, ça devrait mieux fonctionner

Candystand
Candystand
Niveau 10
04 août 2015 à 01:52:39

Le 04 août 2015 à 01:31:53 Gleuh a écrit :
peut-être c'est ça, ton main ne retourne rien, après je m'y connais pas trop en C je sais pas si c'est indispensable pour le main

le retour n'est pas obligatoire surtout pour un si petit programme :-)

LanceDuZodiaque
LanceDuZodiaque
Niveau 6
04 août 2015 à 02:01:30

Y'a quelques soucis dans ton code

pour include, le mot clé est #include et non include.
Il te manque aussi une paranthèse fermante pour le do while
De plus t'as des scanf en trop, tu n'as besoin de lire qu'une seule fois par tour de boucle, et de tester aprés
Enfin, meme si c'est pas une erreur, c'est une bonne pratique de retourner 0 à la fin de ton programme pour dire "Le programme a réussi :p" (0 pour réussite, tout les reste pour des erreurs)

Voila essaye avec ça :



 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
 
 int main()
 {
	int nombreMystere = 0, nombreEntree = 0;
	const MAX = 100, MIN = 1;
	srand (time (NULL));
	nombreMystere = (rand () % (MAX - MIN + 1)) + MIN;

	printf("\n quelle est le nombre ? \n ");
	
	do
	{
		scanf("%d", &nombreEntree);
		if (nombreEntree < nombreMystere)
		{
			printf("\n Plus haut \n");
		}
		else if (nombreEntree > nombreMystere)
		{
			printf("\n Plus bas \n");
		}
		else
		{
			printf("Bien jouee");

		}
	}
	while(nombreEntree != nombreMystere);
	return 0;
}

Bon courage pour la suite :p

MrAnge
MrAnge
Niveau 10
04 août 2015 à 02:17:29

tu ne ferme pas ton do :hap: tu as 5 { et seulement 4 } il te suffit de mettre } avant ton while et voila probleme NORMALEMENT resolut :hap:

manil_masd
manil_masd
Niveau 5
04 août 2015 à 11:17:39

Rebonjour tout le monde ,
Merci beaucoup , vous aviez raison haha j'avais oublié de refermer avec un autre } :p , et merci pour l'astuce aussi des scanf en plus xD
ça vient de fonctionner

Message édité le 04 août 2015 à 11:18:34 par manil_masd
Fontain
Fontain
Niveau 10
04 août 2015 à 17:57:52
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>


int main ( int argc, char** argv )
{
    const int MAX = 100, MIN = 1;
    int choix = 0, rdm = 0, noclose = 0;

    srand(time(NULL));
    rdm = (rand() % (MAX - MIN + 1)) + MIN;
    printf ("  Bienvenue sur Plus ou Moins ! \n  L'ordinateur a choisi un nombre mystere entre 1 et 100, a vous de le deviner ! \n\n");
 do {
        printf("  Votre nombre ?  >  ");
        scanf("%d", &choix);

        if (choix > rdm)
         {
         printf("  C'est moins ! \n\n");
         }
        if (choix < rdm)
         {
         printf("  C'est plus ! \n\n");
         }
        if (choix == rdm)
         {
         printf("  Bravo ! vous avez gagne ! Le nombre etait bien %d \n\n\n\n\n", rdm);
         scanf("%d", &noclose);
         }
    } while (choix != rdm);

}

Le scanf de "noclose" à la fin je l'ai fais pour que la console ne se ferme pas toute seule :(

PhoqueFlamby
PhoqueFlamby
Niveau 10
05 août 2015 à 22:05:30

S'il te plaît désapprend très vite scanf, c'est une horreur qui peut amener à des dépassements mémoires plutôt grave.

Regarde du côté de read, qui te rempliras un char * que tu pourras transformer en int grâce à atoi.

Tu as l'air de débuter, mais essaye de prendre les bonnes habitudes le plus vite possible :ok:

Ace_Attorney
Ace_Attorney
Niveau 10
05 août 2015 à 22:13:31

Le 05 août 2015 à 22:05:30 PhoqueFlamby a écrit :
S'il te plaît désapprend très vite scanf, c'est une horreur qui peut amener à des dépassements mémoires plutôt grave.

Regarde du côté de read, qui te rempliras un char * que tu pourras transformer en int grâce à atoi.

Tu as l'air de débuter, mais essaye de prendre les bonnes habitudes le plus vite possible :ok:

Utiliser read et bonne habitude ensemble ? :D
De mémoire, un programme utilisant read ne pourra pas être utiliser sur Windows, contrairement à scanf.
(et loin de défendre scanf qui reste une purge)

Message édité le 05 août 2015 à 22:16:03 par Ace_Attorney
godrik
godrik
Niveau 30
06 août 2015 à 17:49:30

Sans meme parler que atoi ne permet pas de gerer les conditions d'erreurs et qu'il faut y preferer strtol

Message édité le 06 août 2015 à 17:49:57 par godrik
manil_masd
manil_masd
Niveau 5
17 août 2015 à 13:37:10

Oulla , je comprends rien à ce charabia [[sticker:p/1kki]]

iPoseidon
iPoseidon
Niveau 10
17 août 2015 à 13:44:33

"pour include, le mot clé est #include et non include."

c'est la faute à jvc ça

Pseudo supprimé
Pseudo supprimé 17 août 2015 à 14:29:12

Le 17 août 2015 à 13:37:10 manil_masd a écrit :
Oulla , je comprends rien à ce charabia [[sticker:p/1kki]]

évites ocr , vas plutôt sur areaprog ou développez.com

manil_masd
manil_masd
Niveau 5
17 août 2015 à 15:17:38

@ArchetierCoyote y'a t-il de bons tutoriels en anglais ??

[[sticker:p/1kkn]]
Message édité le 17 août 2015 à 15:17:53 par manil_masd
Korback
Korback
Niveau 10
18 août 2015 à 23:01:25

Ce ne sont pas des tutoriels, ce sont des cours.

manil_masd
manil_masd
Niveau 5
20 août 2015 à 17:53:21

@Korback c'est un peu la même chose , non ? [[sticker:p/1kki]]

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