Réinitialiser en C
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
-
Oui c'est vrai, désoler. Mais nouveau problème, la console afiche juste buf= // rien.
HELP ME PLEASE -
ContributeurN'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)); -
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);
} -
ContributeurTu 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 -
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 **** -
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++ :)
-
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> -
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);
} -
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 -
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++ -
bibliothèques (stdlib.h, time.h) ???
-
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.
-