cs_theidiot
Messages postés56Date d'inscriptionlundi 16 août 2004StatutMembreDernière intervention27 août 2005
-
24 août 2004 à 16:46
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
25 août 2004 à 16:43
Bonjours,
je suis débutant en programmation et je suis présentement dans l'apprentissage des tableaux dynamiques.
J'ai fait un carnet d'adresse(avec les tableaux dynamiques).
Cela s'est bien compliler ...seulement voila il y a des bogs dans l'execution: parfois les coordonnées sont affichés parfois pas.
Je sais que certain me diront de faire le programme en liste chainée mais seulement je dois le faire en tableau dynamique pour cette exercice.
//si le nom d'avant est plus grand que le nom d'aprés...
if(strcmp(l->nom[k],l->nom[start])<0)
{
//change l'ordre du nom...
char tempnom[20];
strcpy(tempnom,l->nom[start]);
strcpy(l->nom[start],l->nom[k]);
strcpy(l->nom[k],tempnom);
//ainsi que les coordonnées qui vont avec...
char tempadresse[20];
strcpy(tempadresse,l->adresse[start]);
strcpy(l->adresse[start],l->adresse[k]);
strcpy(l->adresse[k],tempadresse);
//les trois première lettre du nom recherché...
char nom_entrer[3];
cout<<"Entrez les trois premieres lettres du nom ";
cin.get(nom_entrer,3);
cin.sync();
char nom_rechercher[20];
//trie de recherche...
for(int x=0;x<l->taille;x++)
{
//Identifier tous les noms par ses trois premières lettres
strcpy(nom_rechercher,l->nom[x]);
nom_rechercher[2]='\0';
//si trouvé afficher nom et coordonnée
if(strcmp(nom_entrer,nom_rechercher)==0)
{
cout <<x<<"\t"<< l->nom[x]<<endl;
cout <<" \t"<<l->adresse[x]<<endl;
cout <<" \t"<<l->e_mail[x]<<endl;
}
}
}
pinderlot
Messages postés59Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention 1 septembre 20041 24 août 2004 à 17:30
pourquoi tu crées 3 fonctions (pour ajouter le nom, l'adresse et l'e-mail) alors qu'a priori une seule suffirait ???
-----------------------------------------------
Tout ce qui ne tue pas rend plus fort !
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 24 août 2004 à 19:41
regarde si ce qui ne s'affiche pas a été modifié, si ce n'est pas le cas, le probleme vient des fonctions de création ou du tri. essaie alors de faire afficher sans utiliser le tri, regarde si tas tjs des pobs, sinon regarde a la création....des ke jai un compilo sous la main, je regarde ca si ton pb a pas été résolu (ca sera deja plus facile qu'avec juste du code)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_theidiot
Messages postés56Date d'inscriptionlundi 16 août 2004StatutMembreDernière intervention27 août 2005 24 août 2004 à 19:58
Effectivement les coordonnées qui ne s'affiche pas son remplacés par n'importe quoi(parfois des symbôles bizarre).
Pour répondre à l'autre question: non cela ne peut pas etre la fonction de trie puisque j'ai déjà essayé sans cette fonction et le même bug se produit.
Si c'est la fonction de création j'ai aucune idée où sa foire!
Si quelqu'un pourrais mécrairer svp?
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 24 août 2004 à 20:48
c'est koi ki saffiche pas? c'est juste une partie ou c'est le tt? par exemple, cest juste le nom, ou cest tt le champ voulu? ca aidera deja a savoir ou cherhcer
pinderlot
Messages postés59Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention 1 septembre 20041 25 août 2004 à 08:56
c encore un problème de fflush.
avant d'écrire ou de lire dans un fichier, il faut vider le tampon associé au clavier par la fonction fflush sinon ca écrit ce qui restait en mémoire dans le tampon !!
fflush(stdin);
-----------------------------------------------
Tout ce qui ne tue pas rend plus fort !
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 25 août 2004 à 16:43
la taille en variable globale c'est pas du c++, c'est du C suicidaire
si tu galeres trop utilise un std::vector< Liste >, sinon il faudrait encapsulé le tableau et sa taille dans la meme agregation, mais l'important c'est que tu puisses etre sur de ton code