Des mecs chauds en C ?

golemservil
2021-10-15 17:26:45

je débute et je fais un pendu, j'ai réussi mais j'ai fait un truc moche :

https://image.noelshack.com/fichiers/2021/41/5/1634311572-aaa.png

en gros chaque fois que le joueur trouve une lettre, "trouveLettre" se met à 1.
et je veux que le programme dise "ok tous les trouveLettre sont à 1, le joueur a gagné"

ce que j'ai fait marche mais j'ai du tous les écrire comme un teubé, il y a pas plus simple ?

golemservil
2021-10-15 17:29:12

Ma question c'est juste comment je peux mettre une conditon "fais ceci si toutes les cases du tableau sont à 1"

Fistacle
2021-10-15 17:29:51

Oui :)

golemservil
2021-10-15 17:30:38

Le 15 octobre 2021 à 17:29:51 :
Oui :)

merci du up

tarteaucacachie
2021-10-15 17:30:42

Tu fais une boucle

Fistacle
2021-10-15 17:30:47

Le 15 octobre 2021 à 17:30:38 golemservil a écrit :

Le 15 octobre 2021 à 17:29:51 :
Oui :)

merci du up

De rien :)

DriftKing40
2021-10-15 17:31:07

La C Clochette?https://image.noelshack.com/fichiers/2018/13/6/1522530708-jesusgif.gif

bsilv
2021-10-15 17:31:36

Pourquoi pas utiliser un compteur ?

Fistacle
2021-10-15 17:31:43

Le 15 octobre 2021 à 17:31:07 DriftKing40 a écrit :
La C Clochette?https://image.noelshack.com/fichiers/2018/13/6/1522530708-jesusgif.gif

Malaise, dispose :)

Demonciel
2021-10-15 17:31:56

Tu peux pas comparer directement deux tableaux ? Style:
if TrouveLettre == [1,1,1,1,1]:

En python je sais que c'est possible.

topiquette
2021-10-15 17:32:11

Des mecs chauds en C dans ta région ?
Envoie "C" au 63232 !

Fistacle
2021-10-15 17:32:33

Le 15 octobre 2021 à 17:32:11 topiquette a écrit :
Des mecs chauds en C dans ta région ?
Envoie "C" au 63232 !

Énorme malaise :)

tarteaucacachie
2021-10-15 17:33:03

int i;
for(i = 0; i < TAILLE_DU_TABLEAU; i++)
{
if(trouvelettre[i] != 1)
{
break;
}
else if(i == TAILLE_DU_TABLEAU - 1)
{
printf("Félicitation .......");
}
}

1m62enCouple
2021-10-15 17:33:24

t'as tout très facilement sur internet, putain premier résultat google

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16828-tp-realisation-dun-pendu

golemservil
2021-10-15 17:34:19

Le 15 octobre 2021 à 17:33:24 :
t'as tout très facilement sur internet, putain premier résultat google

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16828-tp-realisation-dun-pendu

c'est le TP que je fais mais le mec est passé par une fonction et je voulais faire sans

Demonciel
2021-10-15 17:35:21

Le 15 octobre 2021 à 17:33:03 :
int i;
for(i = 0; i < TAILLE_DU_TABLEAU; i++)
{
if(trouvelettre[i] != 1)
{
break;
}
else if(i == TAILLE_DU_TABLEAU - 1)
{
printf("Félicitation .......");
}
}

C'est impossible de comparer directement deux tableaux en C ? Bordel c'est chiant en fait. :(

RoccoEstSevere
2021-10-15 17:35:31

Le 15 octobre 2021 à 17:29:12 :
Ma question c'est juste comment je peux mettre une conditon "fais ceci si toutes les cases du tableau sont à 1"

Oui, il faut que tu écrives une boucle for (n) où n représente la longueur de ton tableau, puis pour chaque cellule du tableau soit c'est 1 et tu passes à la suivante, soit c'est 0 et tu sors de la boucle

Fistacle
2021-10-15 17:35:41

Le 15 octobre 2021 à 17:26:45 golemservil a écrit :
je débute et je fais un pendu, j'ai réussi mais j'ai fait un truc moche :

https://image.noelshack.com/fichiers/2021/41/5/1634311572-aaa.png

en gros chaque fois que le joueur trouve une lettre, "trouveLettre" se met à 1.
et je veux que le programme dise "ok tous les trouveLettre sont à 1, le joueur a gagné"

ce que j'ai fait marche mais j'ai du tous les écrire comme un teubé, il y a pas plus simple ?

Fais deux chaînes de caractères :)
Une A avec la réponse :)
L'autre B vide, remplie par des espaces ou des "-", comme tu veux, ayant le même nombre de caractères que la réponse :)
Utilise strchr pour voir si la lettre tapée se trouve dans la réponse A :)
Occupe toi de remplacer les lettres dans la chaîne B :)
Compare les deux chaînes avec strcmp(A, B), si ça retourne 0 c'est que c'est égal, donc fin de la partie :)

Bonne journée :)

golemservil
2021-10-15 17:35:46

Le 15 octobre 2021 à 17:33:03 :
int i;
for(i = 0; i < TAILLE_DU_TABLEAU; i++)
{
if(trouvelettre[i] != 1)
{
break;
}
else if(i == TAILLE_DU_TABLEAU - 1)
{
printf("Félicitation .......");
}
}

ça marche super merci je vais regarder ça

coolshoeshine
2021-10-15 17:35:51

déjà fais une boucle, les indexs dans le if ça doit te mettre la puce à l'oreille que c'est pas la bonne façon de faire.

Donc au lieu de if(trouvelettre[0] == 1 && ... )

fais :

int win = 1 // par défaut on gagne
for (i=0; i<strlen(motAChercher); ++i){
if (trouvelettre[i] != 1){
win = 0 // une lettre n'a pas été trouvée, c'est donc pas gagné.
}
}

Il y a peut-être des erreurs de syntaxe ça fait un bail que j'ai pas fait de C

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    ⚠️ Les archives de novembre sont désormais disponibles.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.