Appel de structure avec argv [Résolu]

Signaler
Messages postés
2
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
27 mars 2006
-
Messages postés
2
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
27 mars 2006
-
Voici mon problème, j'ai défini un type de structure nombre.
Puis j'ai initialisé 2 élements avec ce type (francais et anglais).

Maintenant, suivant l'argument passé au programme (recuperble donc par argv[1]), j'aimerais appeler soit la structure anglais, soit la francais. Je n'y arrive pas pouvez vous m'aider.

Voici le code pour etre plus clair :
struct nombre {
char unite[20][20];
char dizaine[8][20];
char centaine[20];
char millier[20];
char motliaison[20];
};

struct nombre francais = {
{"zero","un","deux","trois","quatre","cinq","six","sept","huit","neuf","dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"},
{"vingt","trentre","quarante","cinquante","soixante","soixante-dix","quatre-vingt","quatre-vingt-dix"},
{"cent"},
{"mille"},
{" et "}
};

struct nombre anglais = {
{"zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","forteen","fifteen","sixteen","seventeen","eighteen","nineteen"},
{"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"},
{"hundred"},
{"thousand"},
{" and "}
};

int main(int argc, char *argv[])
{
printf("%s",argv[1].centaine);
return 0;
}

Et a la compilation, cela me dit donc que je demande un appel sur quelque chose qui n'est pas une strucutre.
Pouvez-vous m'aider. MErci

2 réponses

Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
argv est un tableau de chaine de caractères et pas une structure.

if ( strcmp( argv[1], "fr" ) == 0 )
{
// fr
}
else
{
// en
}
Messages postés
2
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
27 mars 2006

Merci beaucoup.
Maintenant j'ai un petit probleme.

J'ai défini 4 fonction : millierfct(), centainefct(), dizainefct() et unitefct()

J'ai un tableau de chaine de caractere que je parcours.
A la sortir de ce tableau, j'obtiens a chaque tour de boucle une chaine de caractere soit : millierfct ...

Et j'aimerai bien lancer la fonction associé a cette chaine de caractere, est-ce possible.

Merci d'avance.