mogwai93 Posté(e) le 8 février 2007 Partager Posté(e) le 8 février 2007 Ta variable trouve ne sert à rien.oui, mais nons'il veut afficher le resultat apres le while, il devra refaire un test de comparaison sur les 2 chaines de caracteres (couteux en temps surtout sur des chars) Il suffit de comparer index_tab et nbr_mot et de mettre un break dans le while, ce qui évitera des comparaisons justement. Sans compter que j'ai un doute sur le fait que index_tab est incrémenté deux fois. je suis d'accord pour index_tab incremente 2 fois la partie entre {} est à supprimer while (strcmp(tab[index_tab++], mot) && index_tab<nbr_mot); { if(tab[index_tab]==mot) trouve=1; else { index_tab++; } } if(trouve==1) printf("Le mot cherché est à la ligne %d", index_tab); il faudrait un truc (à tester) : index_tab = 0; while ( index_tab<nbr_mot) if strcmp(tab[index_tab++], mot) { printf("Le mot cherché est à la ligne %d", index_tab); break; } Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 9 février 2007 Auteur Partager Posté(e) le 9 février 2007 Si j'ai bien compris alors, je dois refaire entièrement mon code, car je crois que je me suis gouré sur celui-ci? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 9 février 2007 Partager Posté(e) le 9 février 2007 Refaire le code n'est pas une mauvaise idée sachant que ton code ne fait pas ce que tu veux faire. Utilisation d'un char** pour stocker tes strings, essayer de faire des fonctions pour structurer tout ca (par exemple, une qui rempli et une qui cherche...). Enfin voila bonne chance Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 20 février 2007 Auteur Partager Posté(e) le 20 février 2007 Refaire le code n'est pas une mauvaise idée sachant que ton code ne fait pas ce que tu veux faire. Utilisation d'un char** pour stocker tes strings, essayer de faire des fonctions pour structurer tout ca (par exemple, une qui rempli et une qui cherche...). Enfin voila bonne chance Mon problème se complique un peu, on me demande de gerer tout les quatres fonctions dans un programme principal à l'aide d'un menu Quelqu'un a -t-il une idée qui pourai m'aider? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 20 février 2007 Partager Posté(e) le 20 février 2007 Une idée en or : travailler Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 20 février 2007 Partager Posté(e) le 20 février 2007 un menu a l'aide d'un switch case. --> regarde comment cela fonctionne Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 20 février 2007 Auteur Partager Posté(e) le 20 février 2007 Une idée en or : travailler Je n'ai pas besoin de réponse idiote comme celle-ci, je ne demande pas le code mais juste des idées qui pouraient m'aider, donc (en attendant) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 20 février 2007 Partager Posté(e) le 20 février 2007 Ben je viens de t'en donner une lol Pour faire des menus en mode console --> switch case... Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 20 février 2007 Auteur Partager Posté(e) le 20 février 2007 Ben je viens de t'en donner une lol Pour faire des menus en mode console --> switch case... Merci pour ton aide, j'avais entendu parler de switch case, mais je croyais qu'il y aurait plus rapide et plus facile. Donc je vais faire avec. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 20 février 2007 Partager Posté(e) le 20 février 2007 Ben c'est rapide et facile un switch lol --> y a rien de plus con a utiliser Sinon tu peux le faire graphiquement et c'est la que ca devient compliquer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 Je te donne un exemple de switch case : int choix = 0; /* * modification de choix comme, par exemple, lui donner la valeur qu'a entré l'utilisateur au clavier. */ switch { case 1 : printf("vous avez entré 1\n"); break; case 2 : printf("vous avez entré 2\n"); break; case 3 : printf("vous avez entré 3\n"); break; default : printf("vous avez entré le choix par défaut (0)\n"); } dans chacun des case au lieu d'appeler la fonction printf(), tu peux appeler tes propres fonctions (ou même carrément les deux) Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 21 février 2007 Auteur Partager Posté(e) le 21 février 2007 Merci encore Lorinc, je vais suis entrain de faire les fonctions, puis je ferai le programme principal avec le switch case; ensuite je vous tiens au courant. P.S : Savez vous ce qui provoque les erreurs de segmentation en C(sous Linux)? J'installe devC++ sous Windows pour tester car ca m'enerve ces erreurs. Edit: dans chacun des case au lieu d'appeler la fonction printf(), tu peux appeler tes propres fonctions (ou même carrément les deux) J'ai une idée, puis -je mettre toute les fonctions dans le meme programme en gérant le tout avec switch(Je ne sais pas si c'est possible ou non)?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 c'est quand tu écris à un endroit où tu n'a pas le droit d'écrire. Par exemple, quand tu débordes d'un tableau : char tab[5]; int i; for(i = 0; i < 10; i++) tab[i] = i; ou bien plus généralement avec des pointeurs; char * p; /* p pointe vers une adresse au hasard */ *p = 'c' /* erreur ! *p n'est pas une adresse valide */ on vois très bien ce genre de chose avec un debugueur. Essayes ddd ou bien kdbg sous linux Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 21 février 2007 Auteur Partager Posté(e) le 21 février 2007 je suis entrain de travailer sous Windows avec DevC++, car mon linux ne voit pas ma nouvelle carte graphique et je n'ai pas le temps de configurer pour le moment car je dois terminer mon exo pour demain. merci je vais prendre note et essayer des remedier les erreurs de segmentation j'ai édité mon message précédent, personne n'a de reponse à cette question?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 Ta question je la comprend pas en fait : mettre toutes tes fonctions dans le même programme --> dans le même fichier .c ou se situe ton main ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 21 février 2007 Auteur Partager Posté(e) le 21 février 2007 Ta question je la comprend pas en fait : mettre toutes tes fonctions dans le même programme --> dans le même fichier .c ou se situe ton main ? Oui c'est ce que je veux, mettre tout dans le meme fichier .c Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 Ben rien t'empeche de mettre tout dans le même fichier .c mais c'est moche Le mieux c'est de faire un .h ou tu mets le prototype de tes fonctions, les headers que tu utilise, les structures de donnée que tu utilises, un .c avec tes fonctions et .c avec ton main... Mais comme je le dis rien ne t'empeche de faire tout dans le même fichier Lien vers le commentaire Partager sur d’autres sites More sharing options...
pacpis Posté(e) le 21 février 2007 Auteur Partager Posté(e) le 21 février 2007 Ben rien t'empeche de mettre tout dans le même fichier .c mais c'est moche Le mieux c'est de faire un .h ou tu mets le prototype de tes fonctions, les headers que tu utilise, les structures de donnée que tu utilises, un .c avec tes fonctions et .c avec ton main... Mais comme je le dis rien ne t'empeche de faire tout dans le même fichier Ce que tu dis la est un peu trop compliqué pour moi, je crois que je vais faire le tout dans un meme fichier car je n'ai plus assez de temps Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 c'est pas grave pour le moment. Tu auras largement le temps d'apprendre à découper tes projets en plusieurs fichiers plus tard Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 21 février 2007 Partager Posté(e) le 21 février 2007 c'est pas grave pour le moment. Tu auras largement le temps d'apprendre à découper tes projets en plusieurs fichiers plus tard Exactement Une fois appris on ne fait que ca lol --> bientôt il va peut être nous pondre des makefiles Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.