Réinitialiser en C
lucas01
Messages postés
84
Date d'inscription
Statut
Membre
Dernière intervention
-
lucas01 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
lucas01 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai chercher des commandes pour REINITIALISER EN C. Mais je n'est rien trouvé. Svp, pouvez-vous me donné le code. J'utilise la console encore. Et oui je débute au langage C. Pas de honte j'espere!!! lol.
Merci
Lucas.
j'ai chercher des commandes pour REINITIALISER EN C. Mais je n'est rien trouvé. Svp, pouvez-vous me donné le code. J'utilise la console encore. Et oui je débute au langage C. Pas de honte j'espere!!! lol.
Merci
Lucas.
Configuration: Wind.XP Pro sp2
13 réponses
-
Qu'entends-tu par réinitialiser ? Réinitialiser quoi ?
-
Renitialiser TOUTE la console. Par exemple, quand je met la commande random ( pour choisir un mot au hasard ) il choisi toujours le même mot, ou chiffre ( 41 ). On a beau redémarer le programme sous .exe, toujours pareil.
-
bibliothèques (stdlib.h, time.h) ???
-
Voila mon code:
c'est un pendu, je debute donc pas de moquerie svp... :p lol...
#include <stdio.h>
#include <stdlib.h>
char tab[10][15];
char buf[15];
int main(int argc, char *argv[])
{
int nb, res, r=0, i;
res= rempli_tab();
nb= nombre_hasard();
res= affiche_mot(tab[nb]);
for(i=0; i<20; i++)
{
res=saisie_car();
if(res==10) continue;
r=comp_car(res, tab[nb]);
if(r==0) {
printf("penalite= %d\n", r);
}
else {
printf("buf = %s\n",buf);
if(strcmp(buf, tab[nb])==0) {
printf("Vous avez GAGNE !!!!\n");
break;
}
}
}
system("PAUSE");
return 0;
}
int rempli_tab()
{
sprintf(tab[0],"%s","clavier");
sprintf(tab[1],"%s","maison");
sprintf(tab[2],"%s","voiture");
sprintf(tab[3],"%s","pelouse");
sprintf(tab[4],"%s","rateau");
sprintf(tab[5],"%s","souvenir");
sprintf(tab[6],"%s","souris");
return(0);
}
int nombre_hasard()
{
int nb;
//srand((unsigned int)time(NULL));
nb=rand();
return(6);
}
int affiche_mot( mot)
char * mot;
{
int b;
buf[0]= mot[0];
for(b=1;b<strlen(mot);b++)
{
buf[b]='-';
}
buf[strlen(mot)-1]=mot[strlen(mot)-1];
printf("buf = %s\n",buf);
return(0);
}
int saisie_car()
{
char c;
c=getchar();
return(c);
}
int comp_car( c, mot)
char c;
char *mot;
{
int b, trouve=0;
for(b=1;b<strlen(mot);b++)
{
if(c==buf[b]){
printf("Cette lettre est DEJA DIT\n");
break;
}
if(mot[b]==c) { buf[b]=c; trouve=1; }
}
return(trouve);
}
il y est déjà...
Executer et compiler avec dev C++ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Une Bibliothèque est un ensemble de fonction qui permette de facilité la vie du programmeur. (je sais c'est pas tout a fait juste, mais c'est le plus simple a dire :) )
La pour utiliser srand() tu doit y ajouter en début de programme au niveau préprocesseur #include "stdlib.h" et de même pour time.h -
Donc en gros faire sa?
#include "stdlib.h"
#include <stdio.h>
#include <stdlib.h> >>> ET ENLEVER CELLE CI????
char tab[10][15];
char buf[15];
int main(int argc, char *argv[])
{
int nb, res, r=0, i;
res= rempli_tab();
nb= nombre_hasard();
res= affiche_mot(tab[nb]);
for(i=0; i<20; i++)
{
res=saisie_car();
if(res==10) continue;
r=comp_car(res, tab[nb]);
if(r==0) {
printf("penalite= %d\n", r);
}
else {
printf("buf = %s\n",buf);
if(strcmp(buf, tab[nb])==0) {
printf("Vous avez GAGNE !!!!\n");
break;
}
}
}
system("PAUSE");
return 0;
}
int rempli_tab()
{
sprintf(tab[0],"%s","clavier");
sprintf(tab[1],"%s","maison");
sprintf(tab[2],"%s","voiture");
sprintf(tab[3],"%s","pelouse");
sprintf(tab[4],"%s","rateau");
sprintf(tab[5],"%s","souvenir");
sprintf(tab[6],"%s","souris");
return(0);
}
int nombre_hasard()
{
int nb;
//srand((unsigned int)time(NULL));
nb=rand();
return(6);
}
int affiche_mot( mot)
char * mot;
{
int b;
buf[0]= mot[0];
for(b=1;b<strlen(mot);b++)
{
buf[b]='-';
}
buf[strlen(mot)-1]=mot[strlen(mot)-1];
printf("buf = %s\n",buf);
return(0);
}
int saisie_car()
{
char c;
c=getchar();
return(c);
}
int comp_car( c, mot)
char c;
char *mot;
{
int b, trouve=0;
for(b=1;b<strlen(mot);b++)
{
if(c==buf[b]){
printf("Cette lettre est DEJA DIT\n");
break;
}
if(mot[b]==c) { buf[b]=c; trouve=1; }
}
return(trouve);
} -
Que sgnifie ca :
#include "stdlib.h"
#include <stdio.h>
#include <stdlib.h> >>> ET ENLEVER CELLE CI????
char tab[10][15];
char buf[15];
Ya rien a enlever ni rien a ajouter (dans cette partie pour le moment )
EN FAIT l'instuction #include "XXXXX.X" designe l'inclusion d'un header {fichier d'entete} non predifini ce qui n'est pas le cas ici donc utilise <stdlib.h> -
Mouai pour l'algo descendant ça dépend des points de vue, perso je préfère déclarer mes fonctions après le main. Enfin cela a condition que je reprenne le C pour abandonner le C++ :)
-
il faut formater le nombre aleatoire pour etre entre 1et 6 ce nombre va le retourner la fonction :nombre_hasard()
non pas ### return (6)###
car ce meme nombre designe le mot que le programma va choisir ..
*** c'est l'erreur flagrante des la premiere lecture les autres viendront prochainement **** -
Tu fais :
#include <time.h>
Ensuite dans ton main(), srand(time(NULL));
Ensuite il ne faut pas mettre return 6; mais return nb; sinon cela sert à rien de passer par une valeur pseudo-aléatoire. Et enfin n'oublie pas de normer la valeur de retour de rand() qui te donne un nombre entre 0 et RAND_MAX.
Cdlt -
Voila j'ai fait sa. Mais il me met une erreur la ou il y a en gras!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char tab[10][15];
char buf[15];
int main(int argc, char *argv[])
{
int nb, res, r=0, i;
srand(time(NULL))
res= rempli_tab(); ici.
nb= nombre_hasard();
res= affiche_mot(tab[nb]);
for(i=0; i<20; i++)
{
res=saisie_car();
if(res==10) continue;
r=comp_car(res, tab[nb]);
if(r==0) {
printf("penalite= %d\n", r);
}
else {
printf("buf = %s\n",buf);
if(strcmp(buf, tab[nb])==0) {
printf("Vous avez GAGNE !!!!\n");
break;
}
}
}
system("PAUSE");
return 0;
}
int rempli_tab()
{
sprintf(tab[0],"%s","clavier");
sprintf(tab[1],"%s","maison");
sprintf(tab[2],"%s","voiture");
sprintf(tab[3],"%s","pelouse");
sprintf(tab[4],"%s","rateau");
sprintf(tab[5],"%s","souvenir");
sprintf(tab[6],"%s","souris");
return(0);
}
int nombre_hasard()
{
int nb;
//srand((unsigned int)time(NULL));
nb=rand();
return nb; // Et la je vous est bien écouter, mais pas d'erreur. Pour l'instant.
}
int affiche_mot( mot)
char * mot;
{
int b;
buf[0]= mot[0];
for(b=1;b<strlen(mot);b++)
{
buf[b]='-';
}
buf[strlen(mot)-1]=mot[strlen(mot)-1];
printf("buf = %s\n",buf);
return(0);
}
int saisie_car()
{
char c;
c=getchar();
return(c);
}
int comp_car( c, mot)
char c;
char *mot;
{
int b, trouve=0;
for(b=1;b<strlen(mot);b++)
{
if(c==buf[b]){
printf("Cette lettre est DEJA DIT\n");
break;
}
if(mot[b]==c) { buf[b]=c; trouve=1; }
}
return(trouve);
} -
N'oublie pas de préciser les messages d'erreurs que t'obtiens. Ils contiennent souvent l'explication.
Là, j'opterais pour un oubli de point-virgule de la ligne précédente.
srand(time(NULL)); -
Oui c'est vrai, désoler. Mais nouveau problème, la console afiche juste buf= // rien.
HELP ME PLEASE