lmc-3
Messages postés574Date d'inscriptionsamedi 13 juin 2015StatutMembreDernière intervention18 février 2023
-
25 oct. 2015 à 07:31
Bonjour,
débutant en langage c j'aimerais savoir comment afficher des noms selon la valeur numérique qui leur est attribuée, voici mon programme pour mieux comprendre ma question:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int Boucle = 0;
do
{
int De;
const int MAX = 20, MIN = 1;
srand(time(NULL));
De = (rand() % (MAX - MIN + 1)) + MIN;
int NbPersonages;
char Personage[100];
char*PointeurPersonage;
int INI[100], PV[100], BBA[100], CA[100], BMO[100], DMD[100];
char Arme1[100], Arme2[100];
int NbDe1[100], TypeDe1[100], Bonus1[100], CritiqueDe1[100], Critiquex1[100];
int NbDe2[100], TypeDe2[100], Bonus2[100], CritiqueDe2[100], Critiquex2[100];
int Numero;
int*PointeurNumero;
PointeurNumero=(int*)malloc(Numero*sizeof(int));
int Passage;
int*PointeurPassage;
printf ("\t\t\t===Pathfinder===\n\n\n");
printf ("\t\t\t===Personages===\n\n\n");
printf("\n\n\nCombien de personages etes vous?\n");
scanf("%d", &NbPersonages);
for(Numero=0;Numero<NbPersonages;Numero++)
{
printf("\n\n\nPersonage %d\n\n", Numero+1);
//Je ne sais pas comment allouer mémoire pour PointeurPersonage (char)
scanf("%s", &Personage[Numero]);
printf("\nInitiative\n");
scanf("%d", &INI);
int Initiative = 0;
srand(time(NULL));
Initiative = 1+rand() % (20 + 1);
PointeurPassage=(int*)malloc(Passage*sizeof(int));
Passage = Initiative + INI;
printf("\nPV\n");
scanf("%d", &PV[Numero]);
printf("\nBBA (Bonus de Base a l'Attaque)\n");
scanf("%d", &BBA[Numero]);
printf("\nCA (Competence d'Armure)\n");
scanf("%d", &CA[Numero]);
printf("\nBMO (Bonus de Manoeuvre Offensive)\n");
scanf("%d", &BMO[Numero]);
printf("\nDMD (Bonus de Manoeuvre Defensive)\n");
scanf("%d",& DMD[Numero]);
printf("\nArme 1\n");
scanf("%s", &Arme1[Numero]);
scanf("\n\n%d", &NbDe1);
printf ("d");
scanf("%d", &TypeDe1[Numero]);
printf ("+");
scanf("%d", &Bonus1[Numero]);
scanf("%d", &CritiqueDe1[Numero]);
printf("x\n");
scanf("%d", &Critiquex1[Numero]);
printf("\nArme 2\n");
scanf("%s", &Arme2[Numero]);
scanf("\n\n%d", &NbDe2[Numero]);
printf ("d");
scanf("%d", &TypeDe2[Numero]);
printf ("+");
scanf("%d", &Bonus2[Numero]);
scanf("%d", &CritiqueDe2[Numero]);
printf("x\n");
scanf("%d", &Critiquex2[Numero]);
}
printf ("\t\t\t===Pathfinder===\n\n\n");
#include "tri_a_bulle.h"
tri_a_bulle(PointeurPassage,Passage);
printf ("\t\t\t===Combat===\n\n\n");
int i;
for(i=0;i<NbPersonages;i++)
{
printf("\n%d: %s\n", i+1, PointeurPassage[i]); //C'est ici que ça coince...
}
system("PAUSE");
} while (Boucle =! 0);
}
_______________________________________
J'aimerais afficher les noms des personnages en fonction de la somme Initiative+Ini (Passage) par ordre décroissant