VersLeBut
Messages postés25Date d'inscriptionjeudi 2 juillet 2009StatutMembreDernière intervention11 février 2010
-
30 nov. 2008 à 19:18
VersLeBut
Messages postés25Date d'inscriptionjeudi 2 juillet 2009StatutMembreDernière intervention11 février 2010
-
8 déc. 2008 à 14:01
slt tout le monde
J'ai besoin d'une aide urgente pour mon projet
je vous explique,j'ai declaré une matrice de chaine de caractères comme objet privé d'une classe,et je veux demander à l'utilisateur de me donner sa dimension n ,m pour lui allouer la memoire dynamiquement ,comment je vais proceder.
autre chose je veux utiliser une liste chainée pour lire des mots dans un fichier texte qui contient un mot par ligne,
comment faire ça ,parce que j'ai beau essayer ,et j'ai pas pu réussir .
VersLeBut
Messages postés25Date d'inscriptionjeudi 2 juillet 2009StatutMembreDernière intervention11 février 2010 8 déc. 2008 à 00:20
voila mon code pour la liste chainée ,j'ai trouver l'origine de quleques erreurs mais ce code me donne aussi une erreur lors de l'execution ,il n'affiche pas le premier element du fichier qu'il lu:
#include<fstream.h> //c'est pour le fichier texte (elle inclue iostream aussi)
#include<conio.h> //pour getch()
#include<stdlib.h>
#include<string.h> //pour strlen
#include<stdio.h> //j'été obligé de l'inclure pour utiliser (gets)sortir s'il me donne un vide
ifstream entree("mots.txt"); //ouvrir le fichier en lecture ( fichier deja crée)
typedef struct gr{
char* valeur;
struct gr*suivant;
}grille;
typedef grille * liste;
liste saisieliste (void){
char* val;
liste li= NULL,precedent,nouv;
do{
entree>>val; //je lit le mot qui se trouve dans le fichier
nouv=new (grille); //j'lloue pour la grille et le char *:
val =new (char); //ce qui est en gras je l'ai ajouté dernierement
et si ce qui m'a fait affiché les éléments de la liste au debut ils ne s'affichent pas
nouv->valeur=val;
if (li==NULL) li=nouv;
else
precedent->suivant=nouv;
precedent=nouv;
}while(!entree.eof());
nouv->suivant=NULL;
return (li);
}
void afficheliste (liste l)
{
cout <<"liste:affichage des elements du fichier :\n";
for (l ;l!=NULL;l=l->suivant)
{
cout<<l->valeur<<endl
}
}
void main (){
liste li;
ifstream entree ("mot.txt");
li=saisieliste();
afficheliste (li);
entree.close();
getch();
}
dite moi qu'il est le pb pourquoi la liste n'affiche pas son premier element
nb:j'utilise turbo c++ comme compilareur sinon avec les autres ça va vous donner plus d'erreur ,pourant moi je n'ai pas d'erreur
merci bq
VersLeBut
Messages postés25Date d'inscriptionjeudi 2 juillet 2009StatutMembreDernière intervention11 février 2010 8 déc. 2008 à 14:01
ben puisque ça marche c'est pas grave ,mais parce que je suis debutant en c++
j'ai pas encore vu comment créer des listes en c++,et pour stdio.h je l'ai utilisé pour utiliser gets
en fait parce que c'est un projet il y'a un autre programme qui fait la l'ecriture du fichier et un autre qui le lit(pour l'ecriture c'est l'utilisteur qui donne des mots et lorsqu'il me donne du vide je sors de la fonction (c'est ça le but avec gets )si vous avez une autre manière de le faire en c++ dites le moi