Les types en C

Fermé
nico - 11 janv. 2008 à 10:03
 nico - 13 janv. 2008 à 14:48
Bonjour,
je travaille à partir d'un fichier texte
dans ce fichier texte il y a 2 gros elements, les valeurs et les types des variables
le problème est que les types changent tout le temps
Ca peut être des entiers, des reels, des booléens, tout quoi

Je me demande comment aller chercher ces valeurs alors que je dois faire des calculs dessus
comment faire pour dire là c'est un entier donc je dois mettre la valeur dans un entier

je sais pas si vous me comprennez

10 réponses

kornterstrike Messages postés 70 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 18 juin 2010
11 janv. 2008 à 10:09
Salut. Vu la structure du fichier, je te conseille ça.

Tu récupère le type de la variable en le lisant, puis dans le traitement de la valeur tu fais un test sur ça.

string type = //et tu récupères le type.
if (type == "int")
//traitement pour un entier.
if (type == "bool")
//traitement pour un booleen.

etc...

Tu peux aussi faire un switch case pour tester le type, plus propre que plein de if..

Voila j'espère que t'as pigé.
0
Bonjour

le problème est que les types changent tout le temps
Ils changent complètement au hasard ou suivant une règle connue ?
Peux-tu donner un extrait du fichier en question pour que nous puissions nous faire une idée
0
ben le fichier est du genre

commentaire

vitesse 132.4 reel ...
bpmarche true booleen ...
temperature 120 entier


les variables sont dans le désordre c'est bien ca le problème
j'ai pensé à faire une structure


struct Variable {
? val;
char* type;
char* com;
};

mais il risque d'y avoir un problème pour la trancription du fichier dans les variables
0
j'ai oublié un truc
je dois absolument utilisé un pointeur de structure pour faire ca
j'en aurais besoin plus tard
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai pensé à utiliser des floats mais y'a des problèmes de trancriptions après
0
kornterstrike Messages postés 70 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 18 juin 2010
11 janv. 2008 à 11:43
Et ce que je t'ai dis, ça marche pas ?
C'est trop simple je trouve. Tu fais ton traitement selon le type que t'as lu.
0
justement j'ai fait un truc comme ca et j'ai tout mis dans des float
mais comme je l'ai dis avant
je dois faire un tableau de structure pour faire ca
bien compliqué

en fait pour être plus clair
dans la mémoire tout les pointeurs de variables doivent être les uns après les autres
donc déjà c'est un tableau après faut enregistrer les valeurs des variables,leurs commentaires et leurs types
c'est bien pour ca que je pense à des structures

si quelqu'un a une autre idée, qu'il me la donne parce que je vois que ca
0
kornterstrike Messages postés 70 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 18 juin 2010
11 janv. 2008 à 12:14
Je comprends pas pourquoi ça te parait si compliqué. Et y'a pas besoin de strucures..

En fait tu fais un algo du style :

Pour chaque ligne lue, faire
string var = //premier élément lu (nom de la variable)
string valeur = //deuxième élément lu (valeur)
string type = //troisième élément lu (type)

//et là tu testes le type
if (type == "booleen")
bool b1 = //relecture du deuxième élément
if(....
.....

Et tu passes à la ligne suivante.
0
je crois que tu n'as pas compris ce que je veux faire

ben comment faire pour pouvoir pointer sur mon element variable si je fais comme tu dis


ce que je veux faire ca serait plutot une initialisation des variables
c'est ce que je suis en train de faire

et après dans le programme je dois faire
si tel variable est plus grande ou plus petite que
ou si tel variable est à cette état je fais ca

en fait je veux utiliser des pointeurs pour pouvoir changer les valeurs des variables dans un autre programme et ce,directement dans la mémoire et pas à partir du fichier c'est bien ca le problème et c'est pour ca que j'utilise un tableau de structure
0
y'a quelqu'un?
0