Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[C] Plus ou moins
Auteur Message
Répondre en citant
Message [C] Plus ou moins 
Bonjour, je suis actuellement en train “d'apprendre” le C, et donc j'ai fais un petit jeu de plus ou moins.
C'est très classique mais bien fait (pour moi).

Pas de .exe mais le code source, compile sans soucis avec gcc et normalement mingw pour Windows.
Code:
[lang=C]/*
    Copyright (c) 2015 Astie Teddy

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
    to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
    and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
    BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

#include <stdio.h>
#include <math.h>

// Plus ou moins en C
// Fait par Astie Teddy (TSnake41)
// OS : Linux Mint Rosa, Editeur : Atom

int main()
{
  printf("Plus ou Moins par Astie Teddy (TSnake41)\n");
  printf("Usage libre\n\n");

  printf("Nombre max ? : ");

  int max;
  scanf("%i", &max);

  printf("\nC'est parti !\n");

  int number = rand() % max;
  int nbr_choisi = 0;
  int nbr_coups = 1;

  while (nbr_choisi != number)
  {
    printf("Entrez un nombre : ");
    scanf("%i", &nbr_choisi);

    nbr_coups++;
    if(nbr_choisi > number)
      printf("Moins !\n");
    else if (nbr_choisi < number)
      printf("Plus !\n");
  }

  printf("Nombre trouvé, en %i coups !\n", nbr_coups);
  char *c;
  scanf("%c", c);
  return 0;
}


Pour ceux qui ne comprennent pas, voila un code source commenté :
Code:
[lang=C]/*
    Copyright (c) 2015 Astie Teddy

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
    to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
    and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
    BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

/* Librairie standard pour printf (écrire),
   scanf (lire sur le clavier), et d'autres
   choses que je n'utilise pas */
#include <stdio.h>
// Librairie qui ajoute des fonctions pour les maths dont rand() pour l'aléatoire.
#include <math.h>

// Plus ou moins en C
// Fait par Astie Teddy (TSnake41)
// OS : Linux Mint Rosa, Editeur : Atom

int main()
{
  // Introduction
  printf("Plus ou Moins par Astie Teddy (TSnake41)\n");
  printf("Usage libre\n\n");

  printf("Nombre max ? : ");

  // Récupération du nombre maximum par le clavier.
  int max;
  scanf("%i", &max);

  printf("\nC'est parti !\n");

  // Initiation des variables utilisées
  // Un random entre 0 et max
  int number = rand() % max;
  int nbr_choisi = 0;
  int nbr_coups = 1;

  // Boucle qui se finie dés que l'on a trouver le nombre
  while (nbr_choisi != number)
  {
    printf("Entrez un nombre : ");
    scanf("%i", &nbr_choisi);

    // On ajoute un coup et on vérifie si c'est plus grand/petit ou égale
    nbr_coups++;
    if(nbr_choisi > number)
      printf("Moins !\n");
    else if (nbr_choisi < number)
      printf("Plus !\n");
  }
  printf("Nombre trouvé, en %i coups !\n", nbr_coups);
  // Ces deux lignes attendent l'appui une touche (commme pause).
  char *c;
  scanf("%c", c);
  // Fin avec un errorlevel 0
  return 0;
}


TSnake41 a écrit:
Bonjour, je suis actuellement en train “d'apprendre” le C, et donc j'ai fais un petit jeu de plus ou moins
Avec moi, ça peut finir avec un client et/ou serveur pour TXCobalt, ça peut se nommer CXCobalt Razz




Dernière édition par TSnake41 le Mar 23 Fév 2016 - 21:50; édité 4 fois

______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [C] Plus ou moins 
T'as oublié la LICENCE !

Mort de Rire Mort de Rire

Juste 1 petite remarque :

Mets la condition dans la boucle while directement (c'est fait pour ça Laughing) :

Code:
while(nbr_choisi <> number)


ça t'évite le test if :

Code:
if(nbr_choisi == number)
      break;


Et ça sera correct.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [C] Plus ou moins 
Citation:
T'as oublié la LICENCE !
A oui oups Mort de Rire

sachadee a écrit:
Juste 1 petite remarque :

Tu pourrais mettre la condition dans la boucle while directement :
Code:
while(nbr_choisi <> number)

ça t'évite le test if :

Code:
if(nbr_choisi == number)
   break;


Et ça sera correct.

:Okay:

Ça aussi je n'y avait pas pensé (si mais oublié de le mettre).
<> n'est pas valide en C (et dans d'autres langages avec une syntaxe basée sur le C), c'est plutôt != mais j'ai bien compris où tu voulait en venir.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Message [C] Plus ou moins 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch