Retrouver une variable dans le programme
Résolu
lmc-3
Messages postés
688
Statut
Membre
-
lmc-3 Messages postés 688 Statut Membre -
lmc-3 Messages postés 688 Statut Membre -
Bonjour,
Je ne sais pas si le titre est bien clair, mais j'aimerais savoir comment faire pour que le programme aille chercher une variable énoncée dans une condition if (j'ai marqué "si tel est comme ceci cette variable est comme ça" mais le correcteur m'affirme plus loin dans le programme que la variable en question n'a pas été déclarée. Je ne peux pas la re-déclarer parce que son résultat résulte d'une multitude d'opérations qui diffèrent suivant les conditions, existe-t-il un moyen de dire à l'ordinateur d'aller chercher sur le disc dure cette fameuse variable et la faire réapparaitre à l'ordre du jour, sachant que tout mon programme tiens dans la fonction main. (je suis un gros débutant)
j'utilise code::blocks
Je ne sais pas si le titre est bien clair, mais j'aimerais savoir comment faire pour que le programme aille chercher une variable énoncée dans une condition if (j'ai marqué "si tel est comme ceci cette variable est comme ça" mais le correcteur m'affirme plus loin dans le programme que la variable en question n'a pas été déclarée. Je ne peux pas la re-déclarer parce que son résultat résulte d'une multitude d'opérations qui diffèrent suivant les conditions, existe-t-il un moyen de dire à l'ordinateur d'aller chercher sur le disc dure cette fameuse variable et la faire réapparaitre à l'ordre du jour, sachant que tout mon programme tiens dans la fonction main. (je suis un gros débutant)
j'utilise code::blocks
A voir également:
- Retrouver une variable dans le programme
- Retrouver message supprimé whatsapp - Guide
- Programme demarrage windows - Guide
- Retrouver une musique avec les notes - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Retrouver un film sans le titre - Télécharger - Divers TV & Vidéo
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv[]) { int Boucle = 0; char Personage = 0; int BBA = 0; int CA = 0; int NbDe = 0; int TypeDe = 0; int Bonus = 0; int CritiqueDe = 0; int Critiquex = 0; int De = 0; const int MAX = 20, MIN = 1; srand(time(NULL)); De = (rand() % (MAX - MIN + 1)) + MIN; printf ("\t\t\t===Pathfinder===\n\n\n"); printf ("\t\t\t===Personages===\n\n\n"); char Personage1[100]; int INI1 = 0, PV1 = 0, CA1 = 0, BMO1 = 0, DMD1 = 0; char Arme1o1[100], Arme1o2[100]; int BBA1o1 = 0, NbDe1o1 = 0, TypeDe1o1 = 0, Bonus1o1 = 0, CritiqueDe1o1 = 0, Critiquex1o1 = 0; int BBA1o2 = 0, NbDe1o2 = 0, TypeDe1o2 = 0, Bonus1o2 = 0, CritiqueDe1o2 = 0, Critiquex1o2 = 0; char Personage2[100]; int PV2 = 0, INI2 = 0, CA2 = 0, BMO2 = 0, DMD2 = 0; char Arme2o1[100], Arme2o2[100]; int BBA2o1 = 0, NbDe2o1 = 0, TypeDe2o1 = 0, Bonus2o1 = 0, CritiqueDe2o1 = 0, Critiquex2o1 = 0; int BBA2o2 = 0, NbDe2o2 = 0, TypeDe2o2 = 0, Bonus2o2 = 0, CritiqueDe2o2 = 0, Critiquex2o2 = 0; int Continue = 0; char Personage3[100]; int PV3 = 0, INI3 = 0, CA3 = 0, BMO3 = 0, DMD3 = 0; char Arme3o1[100], Arme3o2[100]; int BBA3o1 = 0, NbDe3o1 = 0, TypeDe3o1 = 0, Bonus3o1 = 0, CritiqueDe3o1 = 0, Critiquex3o1 = 0; int BBA3o2 = 0, NbDe3o2 = 0, TypeDe3o2 = 0, Bonus3o2 = 0, CritiqueDe3o2 = 0, Critiquex3o2 = 0; char Personage4[100]; int PV4 = 0, INI4 = 0, CA4 = 0, BMO4 = 0, DMD4 = 0; char Arme4o1[100], Arme4o2[100]; int BBA4o1 = 0, NbDe4o1 = 0, TypeDe4o1 = 0, Bonus4o1 = 0, CritiqueDe4o1 = 0, Critiquex4o1 = 0; int BBA4o2 = 0, NbDe4o2 = 0, TypeDe4o2 = 0, Bonus4o2 = 0, CritiqueDe4o2 = 0, Critiquex4o2 = 0; //1) printf("\n\n\nPersonage 1\n\n"); scanf("%s", Personage1); printf("\nInitiative\n"); scanf("%d", &INI1); int Initiative1 = 0; srand(time(NULL)); Initiative1 = 1+rand() % (20 + 1); int Passage1 = Initiative1 + INI1; char Case4 = Personage1; printf("\nPV\n"); scanf("%d", &PV1); printf("\nBBA (Bonus de Base a l'Attaque)\n"); scanf("%d", &CA1); printf("\nBMO (Bonus de Manoeuvre Offensive)\n"); scanf("%d", &BMO1); printf("\nDMD (Bonus de Manoeuvre Defensive)\n"); scanf("%d",& DMD1); printf("\nArme 1\n"); scanf("%s", Arme1o1); scanf("\n\n%d", &NbDe1o1); printf ("d"); scanf("%d", &TypeDe1o1); printf ("+"); scanf("%d", &Bonus1o1); printf("\nArme 2\n"); scanf("%s", Arme1o2); scanf("\n\n%d", &NbDe1o2); printf ("d"); scanf("%d", &TypeDe1o2); printf ("+"); scanf("%d", &Bonus1o2); //2) printf("\n\n\nPersonage 2\n\n"); scanf("%s", Personage2); printf("\nInitiative\n"); scanf("%d", &INI2); int Initiative2 = 0; srand(time(NULL)); Initiative2 = 1+rand() % (20 + 1); int Passage2o1 = Initiative2 + INI2 - Passage1; int Passage2o2 = Passage1 - Initiative2 + INI2; if (Passage2o1 > Passage2o2) { char Case3 = Personage2; int Passage2 = Passage2o1; } else { char Case4 = Personage2, Case3 = Personage1; int Passage2 = Passage2o2; } printf("\nPV\n"); scanf("%d", &PV2); printf("\nBBA (Bonus de Base a l'Attaque)\n"); scanf("%d", &CA2); printf("\nBMO (Bonus de Manoeuvre Offensive)\n"); scanf("%d", &BMO2); printf("\nDMD (Bonus de Manoeuvre Defensive)\n"); scanf("%d",& DMD2); printf("\nArme 1\n"); scanf("%s", Arme2o1); scanf("\n\n%d", &NbDe2o1); printf ("d"); scanf("%d", &TypeDe2o1); printf ("+"); scanf("%d", &Bonus2o1); printf("\nArme 2\n"); scanf("%s", Arme2o2); scanf("\n\n%d", &NbDe2o2); printf ("d"); scanf("%d", &TypeDe2o2); printf ("+"); scanf("%d", &Bonus2o2); printf("\nContinue?\n1. Oui\n2. Non\n\n"); scanf("%d", &Continue); //3) if (Continue == 1) { printf("\n\n\nPersonage 3\n\n"); scanf("%s", Personage3); printf("\nInitiative\n"); scanf("%d", &INI3); int Initiative3 = 0; srand(time(NULL)); Initiative3 = 1+rand() % (20 + 1); int Passage3o1 = Initiative3 + INI3 - Passage2; int Passage3o2 = Passage2 - Initiative3 + INI3; if (Passage3o1 > Passage3o2) { char Case2 = Personage3; int Passage3 = Passage3o1; } else { char Case3 = Personage3, Case2 = Personage2; int Passage3 = Passage3o2; } printf("\nPV\n"); scanf("%d", &PV3); printf("\nBBA (Bonus de Base a l'Attaque)\n"); scanf("%d", &CA3); printf("\nBMO (Bonus de Manoeuvre Offensive)\n"); scanf("%d", &BMO3); printf("\nDMD (Bonus de Manoeuvre Defensive)\n"); scanf("%d",& DMD3); printf("\nArme 1\n"); scanf("%s", Arme3o1); scanf("\n\n%d", &NbDe3o1); printf ("d"); scanf("%d", &TypeDe3o1); printf ("+"); scanf("%d", &Bonus3o1); printf("\nArme 2\n"); scanf("%s", Arme3o2); scanf("\n\n%d", &NbDe3o2); printf ("d"); scanf("%d", &TypeDe3o2); printf ("+"); scanf("%d", &Bonus3o2); printf("\nContinue?\n1. Oui\n2. Non\n\n"); scanf("%d", &Continue); } //4) if (Continue == 1) { printf("\n\n\nPersonage 4\n\n"); scanf("%s", Personage3); printf("\nInitiative\n"); scanf("%d", &INI3); int Initiative4 = 0; srand(time(NULL)); Initiative4 = 1+rand() % (20 + 1); int Passage4o1 = Initiative4 + INI4 - Passage3; int Passage4o2 = Passage3 - Initiative4 + INI4; if (Passage4o1 > Passage4o2) { char Case1 = Personage4; int Passage4 = Passage4o1; } else { char Case2 = Personage4, Case3 = Personage3; int Passage4 = Passage4o2; } printf("\nPV\n"); scanf("%d", &PV3); printf("\nBBA (Bonus de Base a l'Attaque)\n"); scanf("%d", &CA3); printf("\nBMO (Bonus de Manoeuvre Offensive)\n"); scanf("%d", &BMO3); printf("\nDMD (Bonus de Manoeuvre Defensive)\n"); scanf("%d",& DMD3); printf("\nArme 1\n"); scanf("%s", Arme4o1); scanf("\n\n%d", &NbDe4o1); printf ("d"); scanf("%d", &TypeDe4o1); printf ("+"); scanf("%d", &Bonus4o1); printf("\nArme 2\n"); scanf("%s", Arme4o2); scanf("\n\n%d", &NbDe4o2); printf ("d"); scanf("%d", &TypeDe4o2); printf ("+"); scanf("%d", &Bonus4o2); printf("\nContinue?\n1. Oui\n2. Non\n\n"); scanf("%d", &Continue); } printf ("\t\t\t===Pathfinder===\n\n\n"); printf ("\t\t\t===Combat===\n\n\n"); printf("\n1.%s", Case1); printf("\n2.%s", Case2); printf("\n3.%s", Case3); printf("\n4.%s", Case4);_________________________________________
problème avec Passage et Case
Explications disponibles ICI
Merci d'y penser dans tes prochains messages.
Et tu souhaiterais réutiliser Case3 ou Passage2 dans la suite du programme ? C'est normal qu'il te dise qu'elles ne sont pas déclarées, car si effectivement la condition n'est pas remplie, elles ne seront pas déclarées.
Il faut que tu déclare la variable avant, or du if. En gros, dis toi que si tu déclare une variable dans un if, tu ne pourra l'utiliser que dans ce if.
Et il n'y a AUCUNE solution?
parce que quelque soit la manoeuvre la variable sera déclarée en fait
et si je demande à aller chercher directement la valeur stockée dans le disc?