bon alors j'aimerais faire un petit récapitulatif de tout ce qu'on peut faire en C :
- Jeu d'alummettes
- Morpion
- Jacpot
- Calculatrice multifonctions
--------> PGCD/PPCM
--------> Convertions
--------> Decomposition en produit de facteurs premiers
- Primalité d'un nombre
- Diviseurs d'un nombre
...
Si vous avez de nouvelles idées, n'hésitez pas à les poster...
Tu risque d'avoir beaucoup de réponse . en effet un langage comme C, C++ ou Java permet de tout faire...
Aussi bien des jeux , que de la 2D, 3D, programme Système , sécurité etc...
J'espere que cette fois ci la réponse aurat été envoyée où je veux... Je suis pas doué...
Oui, alors pour donner tous les codes ça rique d'être dur, car en général,
je les programme dans plusieurs fichiers mais je vais faire un effort et pour les trop gros,
je dirais simplement la technique...
Alors, pour le jeu du morpion...
j'ai utilisé une matrice (un tableau à plusieurs dimensions
mais ce serait trop long a expliquer pour ceux qui n'ont pas
encore vu... En effet j'ai appris cette fonctionnalité
récemment.
Autrement, pour ceux qui aurait déja vu ça, j'ai traité tous les cas
possibles (ex : si 3 'X' sont alignés en diagonale etc...)
Pour le jackpot je n'ai toujours pas eu de le réalisé mais je
pense qu'avec des variables comme "rouleau1","rouleau2"... et
une génération de caractères spéciaux aléatoire comme le coeur
le 7, le pique, ... on pourrait se débrouiller ! (voir la table ASCII pour les caractères spéciaux)
Pour la calculatrice multifonctions, je l'ai réalisée en
plusieurs fichiers mais je vais vous l'envoyer point par point, question de simplicité :
while(1)// Boucle infinie pour éviter de redemarrer le Programme... {
div = 1 ; // "div" contiendra tous les nombres de 1 a "nB"
printf("\n\tEntrez un nombre :\t") ;
scanf ("%i", &nB) ;
while( div < nB ) { if( nB%div == 0)//Si le nombre (div) en cours de test est un diviseur de nB, on l'affiche... { printf("\n\t%i est divisible par %i", nB, div) ; }
div++ ;// On incremente "div" pour tester chaque nombre 1 par 1 } printf("\n") ;//retour à la ligne pour plus de lisibilité } return0 ; }
pour la primalité d'un nombre maintenant :
#include <stdio.h> #include <stdlib.h>
/******************************************************************************/ // Je crée une fonction permettant de determiner la primalité d'un nombre
int premier(int n) { int premier = 1 ; // variable = 1 --> nombre premier int i = 2 ;
while(i<n) { if(n%i==0)// Si le nombre n est divisible par le diviseur i en cours de test, cela signifie que le nombre n a au moins un diviseur est donc qu'il n'est pas premier
premier = 0 ; // Donc "int premier" n'est plus premier --> premier est maintenant = 0
i++ ; }
return premier ; // Si premier = 1, le nombre choisi est premier, si = 0, n n'est pas premier }
int main (void) {
system("color 02") ; int nombre = 0 ;
printf("\n\t\tDetermination d'un nombre premier\n\n\n") ;
while(1) { printf("\tEntrez le nombre a tester :\t") ;
scanf("%i", &nombre) ;
if(premier(nombre)==0) printf("\t==> Le nombre n'est pas premier.\n\n") ;
else printf("\t==> Le nombre est premier.\n\n") ; } return0 ; }
Pour la decomposition en produit de facteurs premiers :
#include <stdio.h> #include <stdlib.h>
//****************************************************************************** // Fonction permettant de determiner si un nombre est premier ou pas : // Voir ci dessus pour les commentaires int premier(int n) { int premier = 1 ; int i = 2 ;
if(n==0)premier=0; elseif(n==1)premier=1; else {
while(i<n) { if(n%i==0)
premier = 0 ;
i++ ; } }
return premier ; } // Fonction permettant de renvoyer la valeur absolue du nombre :
int valeurabsolue(int nb)// ex : valeur absolue de -6 notée |-6| = 6, |4| = 4 { if(nb<0)
nb=-nb ;
return nb ; } // Fonction permettant de dessiner tous les facteurs premiers d'un nombre :
void decompo(int nombre) {
for(;nombre!=1;) { int div = 2 ;
for(; div<=nombre; ++div)// ne pas oublier le EGAL !! { // Si vous ne comprenez pas, essayez donc avec un nombre quelconque...
printf("\n\tDecomposition d'un nombre en produit de facteurs premiers\n\n") ;
while(2==2) { printf("\tVotre nombre :\t") ;
scanf("%i", &nombre) ;
nombre = valeurabsolue(nombre) ;
if(premier(nombre)==1) printf("\tLe nombre choisi est premier !\n\n") ;
elseif(premier(nombre)==0) { if(nombre==0){printf("\tLa decomposition du nombre est 0 x 1\n\n") ;} elseif(nombre==1){printf("\tLa decomposition du nombre est 1 x 1") ;} else { printf("\tLa decomposition du nombre est ") ;
decompo(nombre) ; printf(" 1\n\n") ; } } }
system("PAUSE") ; return0; }
Pour les convertions en decimal --> Binaire par exemple, c'est un problème d'affichage !
On demande un nombre à l'utilisateur avec scanf et on réaffiche le nombre dans
printf("nombre binaire --> %o", nombre) ;
%o (o = la lettre !) pour l'affichage d'un nombre en binaire et
%ox pour l'affichage en octal...
Bonne chance !
Pour la décomposition en facteurs premiers, je crois me souvenir avoir donné un code beaucoup, beaucoup plus court, qui fait ca beaucoup, beaucoup plus rapidement.
Pourquoi ne pas le mettre ?
C'est pas que je veuille mettre en valeur mon code, mais puisque tu veux "ce qu'on peut faire en C", et pas "ce que j'ai fait en C", autant mettre les meilleurs codes possibles non ?
Bien sûr !!!!
Ce topic n'est évidemment pas réservé a "mes codes"... Je les ai posté parceque qlq'un me les demandait ! Surtout, n'hésitez pas à poster vos idées de jeux ou de programme et si possible les codes sources qui vont avec ! Sinon, si vous manquez d'imagination, pourquoi ne pas poster des idées d'améliorations ou les codes sources améliorés (plus ou moins courts) !
A++
Ben j'ai une vague idée de ce qu'il faut faire et c'est beaucoup plus dur qu'un morpion car la, pas question de traiter au cas par cas !
A notre niveau, l'idéal serait de le faire a plusieurs, comme qlq'un qui demande à d'autre programmeurs, "toi, fais moi une fonction qui permet de faire ca !"
Mais cela demande beaucoup d'organisation, nan ?
J'ai déja appris les tableaux et les matrices dans un livre,et c'est bien vrai que sans, je vois pas comment faire...
Oui pourquoi pas pour l'idée du projet...
Mais il faudrait regrouper plus de programmeurs volontaires et quelqu'un qui construit le programme avec un plan.. et tout et tout
Cool, Un de plus...
Je veut bien rédiger une fonction du style draw_matrice pour dessiner le plateau de jeu.
Quelqu'un veut-il se désigner pour donner les taches a chaque programmeurs ?
Moi, ça ne me dérange pas mais j'ai beaucoup de travail en ce moment.
Ok, Ok, on verra ça demain car moi je vais bosser un petit peu.
Bonne nuit et à plus !
Ceux qui souhaiterez "s'inscrire" ou apporter des conseils, qu'ils n'hésitent pas : Nous avons besoin de main d'oeuvre !
Le prochain chapitre du cours portera justement sur les tableaux.
Mais continuez à faire vos programmes en console svp, c'est un peu dangereux de se lancer dans la sdl avant d'avoir toutes les notions de C de base
Bien sûr, ce que je voulais dire c'est "tant qu'on est en console, ne faites pas de programmes à vocation graphique comme un puissance 4, mais plutôt des programmes consoles, et attendez le cours sur la SDL de m@teo pour faire ce genre de choses".
Il est tout à fait possible de faire un mpuissance 4 en console, suffit juste avant chaque saisie de case d'afficher la grille pour voir ou en est le jeu
Je n'est jamais dit que l'on devait utiliser la sdl... En fait je ne vois pas comment faire avec étant donné que nous n'avons surement pas la moindre idée de comment s'en servit !
Ce programme a l'air très faisable en console, mais si la difficultée et trop dure, un autre programme n'est pas de refus...
Un solveur de sudoku ca peut etre bien, (j'avais commencé et apres une erreur ca m'a saoulé j'ai abandonné mais en réfléchissant c'est pas trop compliqué ). Et puis ca fait un bon entrainement. Ca utilise les tableaux mais ca m'a prit 5 min pour comprendre le minimum necessaire pour l'utilisation des tableaux pour le sudoku
pour votre puissance 4, j'ai pensé que si vous faisiez un tableau pour chaque colonne ou bien un tableau pour chaque ligne, ca pourait largement faciliter la programation. Mais avant de vous lancer dans un puissance 4, faites un morpion. c'est a peu près la même chose, en plus simple.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
If you'd like to join us, read "How do we work at OpenClassrooms"! :)
Mon portfolio : https://www.artstation.com/tdugard
Mon portfolio : https://www.artstation.com/tdugard