mogwai93 Posté(e) le 8 février 2007 Posté(e) le 8 février 2007 woodystable a dit : mogwai93 a dit : woodystable a dit : 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; }
pacpis Posté(e) le 9 février 2007 Auteur 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?
Soulfly_tribe90 Posté(e) le 9 février 2007 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
pacpis Posté(e) le 20 février 2007 Auteur Posté(e) le 20 février 2007 Soulfly_tribe90 a dit : 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?
Soulfly_tribe90 Posté(e) le 20 février 2007 Posté(e) le 20 février 2007 un menu a l'aide d'un switch case. --> regarde comment cela fonctionne
pacpis Posté(e) le 20 février 2007 Auteur Posté(e) le 20 février 2007 Quarky a dit : 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)
Soulfly_tribe90 Posté(e) le 20 février 2007 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...
pacpis Posté(e) le 20 février 2007 Auteur Posté(e) le 20 février 2007 Soulfly_tribe90 a dit : 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.
Soulfly_tribe90 Posté(e) le 20 février 2007 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
lorinc Posté(e) le 21 février 2007 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)
pacpis Posté(e) le 21 février 2007 Auteur 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: Citation 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)??
lorinc Posté(e) le 21 février 2007 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
pacpis Posté(e) le 21 février 2007 Auteur 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??
Soulfly_tribe90 Posté(e) le 21 février 2007 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 ?
pacpis Posté(e) le 21 février 2007 Auteur Posté(e) le 21 février 2007 Soulfly_tribe90 a dit : 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
Soulfly_tribe90 Posté(e) le 21 février 2007 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
pacpis Posté(e) le 21 février 2007 Auteur Posté(e) le 21 février 2007 Soulfly_tribe90 a dit : 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
lorinc Posté(e) le 21 février 2007 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
Soulfly_tribe90 Posté(e) le 21 février 2007 Posté(e) le 21 février 2007 lorinc a dit : 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
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.