Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Verification d'orthographe

pépereF, le mercredi 16 janvier 2008 à 11:34:48
Bonjour,
voici un code de verification d'orthographe, il compil sans erreurs mais lors de l'execution il ne retouve pas le fichier dico.dat (daillleur il ne me demande même pas de le remplir), je travail sur visual studio 2005 ou sur devC++(sur devc++ je n'arrive même pas a avoir la console d'application).
pouvez-vous m'aider

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<conio.h>

#define MAXMOTS 100
#define LONGMOT 20

char dico[MAXMOTS][LONGMOT];
char mot[LONGMOT];
char *pmot;

FILE*f;
//declaration des fonctions
	short dichotomie(char dico[MAXMOTS][LONGMOT],char *mot,short nb_mot);
	void sup_ponc(char *pmot);
	void sup_maj(char *pmot);
	void ajout(char dico[MAXMOTS][LONGMOT],char *mot,short nb_mot);
//Fonction principale
int main(int argc,char*argv[])
{
	int i,res;
	extern int strcmp();
	short nb_mot=0;
	char touche;
	
	//ouverture du dictionnaire
	//Test que le fichier dico s'ouvre bien
	if ((f=fopen("dico.dat","r")) == NULL)
		printf("\nImpossible d'ouvrir le fichier Dico, creation d'un nouveau Dico");
	/*Puisqu'il est impossible d'ouvrir le fichier dico, la fin du programme permetra
	d'en créé un nouveau avec fopen("dico.dat","w")*/
	else 
	{
		/*remplissage du tableau dico par les mots presents dans le fichier dico*/
		while (fscanf(f,"%s",mot) !=EOF)
		{
			strcpy(dico[nb_mot],mot);
			nb_mot += 1;
		}
		/*Fermeture du fichier Dico*/
		fclose(f);
	}
		/*tri en mémoire du tableau Dico*/
		qsort((char **)dico,nb_mot,LONGMOT,strcmp);
		/*Ouverture du fichier a vérifier*/
		/*Test que le fichier s'ouvre bien*/
		if ((f=fopen("texte.dat","r")) == NULL)
			printf("\nImpossible d'ouvrir le fichier texte");
		/*Puisqu'il est impossible d'ouvrir le fichier, le if nous améne à la fin du
		programme*/
		else
		{
			pmot=mot;
			while (fscanf(f,"%s",mot) != EOF)
			{
				//appel de la fonction permettant de suprimer la ponctuation
				sup_ponc(pmot);
			/*appel de la fonction permettant de remplacer les majuscules 
			par des minuscules*/
			sup_maj(pmot);
			//Appel de la fonction dichotomie
			res=dichotomie(dico,mot,nb_mot);
			/*invite suivant le resultat de la dichotomie à rajouter le mot
			dans le dictionnaire*/
			if (res == 0)
			{
				printf("\nVoulez-vous enregistrer le mot '%s' dans le dico (o)oui ou (n)non?\n",mot);
				do
				{
					touche=getch();
				}
				while (touche!='o'&&touche!='n');
				//choix suivant le resultat de l'operateur
				if (touche=='o')
				{
					ajout(dico,mot,nb_mot);
					nb_mot+=1;
				}
			}
			}
			
					//fermeture du fichier texte
					fclose(f);
					//Ouverture du fichier dico en mode écriture
					f=fopen("dico.dat","w");
					//enregisrement dans le dico du tableau
					for (i=0;i<nb_mot;i++)
						fprintf(f,"%s\n",dico[i]);
					//Fermeture du fichier dico
					fclose(f);
			}//fin du if testant l'ouverture du fichier texte
				return 0;
}	
			//FONCTION DICHOTOMIE
			short dichotomie(char dico[MAXMOTS][LONGMOT],char *mot, short nb_mot)
			{
				//déclaration des variables
				int i=0,j=nb_mot,k,res;
				//Traitement
				while ((j-i)>1 && res!=0)
				{
					k=(i+j)/2;
					res=strcmp(dico[k],mot);
					if (res>0)
						j=k;
					else
						i=k;
					/*ce if afin d'atteindre le mot du tableau dico[0]
					puisque j-i ne peut qu'être strictement supérieur à 1*/
					if (k==0 && res!=0)
						res=strcmp(dico[0],mot);
				}
				//Affectation des valeurs retournées
				if (res!=0)
					res=0;
				else
					res=1;
				return res;
			}

			//FONCTION SUPPRESSION DE LA PNCTUATION
			void sup_ponc(char *pmot)
			{
				//Déclaration des variables locales
				int i=0,j=0;
				char c;
				//Traitement
				while (pmot[i]!=NULL)
				{
					c=pmot[i];
					if (isalpha(c))
					{
						pmot[j]=c;
						j++;
					}
					i++;
				}
				pmot[j]=0;
			}

			//FONCTION SUPPRESSION DES MAJUSCULES
			void sup_maj(char *pmot)
			{
				//Déclaration des variables locales
				int i=0;
				char c;
				//Traitement
				while (pmot[i]!=NULL)
				{
					c=pmot[i];
					if (isupper(c))
						c=tolower(c);
					pmot[i]=c;
					i++;
				}
				pmot[i]=0;
			}

			//FONCTION AJOUT
			void ajout(char dico[MAXMOTS][LONGMOT],char *mot,short nb_mot)
			{
				//Copie du nouveau mot dans le tableau
				strcpy(dico[nb_mot],mot);
				//Tri en mémoire du tableau dico
				qsort((char**)dico,nb_mot,LONGMOT,strcmp);
			}

merci d'avance
Configuration: Windows XP
Internet Explorer 7.0
Répondre à pépereF  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 pépereF, le vendredi 25 janvier 2008 à 11:53:26
bonjour,
Comment puis-je faire pour créé le fichier que demande ce programme?
merci d'avance
Répondre à pépereF
Vérification orthographique OpenOffice. (Résolu) Bonjour. J'ai téléchargé OpenOffice correctement et en allant sur writer je tappe un texte orthographiquement mal écrit exprès. Or quand je fais "vérification orthographique" il affiche "vérification terminé sans repérer les fautes. Même le... www.commentcamarche.net/forum/affich-5019084-verification-orthographique-openoffice
Vérification orthographique OPENOFFICE (Résolu) Bonjour, J’utilise la suite bureautique OPENOFFICE 2.3.1 pour Windows mais je n’arrive pas a faire fonctionner la vérification orthographique malgré les « setting » proposés comme FICHER ASSISTANT AJOUT DE DICTIONNAIRES Étrangement, lorsque j’utilise... www.commentcamarche.net/forum/affich-4618908-verification-orthographique-openoffice
Outlook Express - Correcteur orthographique (Résolu) Bonjour à tous, J'utilise Outlook Express sous windows XP et j'ai un problème avec le vérificateur orthographique. En effet, bien que configuré de la même manière qu'avec mon ancien pc (avec lequel je n'avais aucun problème),... www.commentcamarche.net/forum/affich-1858715-outlook-express-correcteur-orthographique
[Linux] Forcer la vérification des disques (fsck)Forcer la vérification des disques Finalité Sous Linux la vérification des disques se fait grâce à la commande fsck. Toutefois, pour des raisons de sécurité des données présentes sur le disque, il est fortement déconseillé de lancer un fsck sur une... www.commentcamarche.net/faq/sujet-957-linux-forcer-la-verification-des-disques-fsck
[Dico] Dictionnaires - Définitions - ExtensionsAlors que vous êtes en plein boulot sur votre computeur, n’avez-vous jamais eu besoin de la définition ou de l’orthographe d’un mot ? D’une explication ou de la traduction d’un terme informatique ? Et ces “.com”, ou “.bmp”, qu’est-ce que c’est que... www.commentcamarche.net/faq/sujet-2240-dico-dictionnaires-definitions-extensions
[Windows XP] Faire un scandiskPour faire une vérification du disque sous Windows XP, il existe deux solutions: Vérification en mode sans échec Redémarrer l'ordinateur en mode sans échec (appui répétitif sur la touche F5 ou F8 au démarrage avant le chargement de... www.commentcamarche.net/faq/sujet-3755-windows-xp-faire-un-scandisk
Problème vérification orthographe office 2007 (Résolu)Bonjour, J'ai office 2007 installé sous vista, la vérification d'orthographe ne marche plus pourtant l'option est bien activé, quelqu'un connait ce genre de problème?? www.commentcamarche.net/forum/affich-6730605-probleme-verification-orthographe-office-2007
Vérificateur de l'orthographe sur Open Office (Résolu)Bonjour, Je viens d'installer Open Office, mais je n'arrive pas à faire fonctionner le vérificateur d'orthographe; lorsque j'appuie sur F7, il me mets directement le message "vérification terminée" sans pour autant la faire; aussi... www.commentcamarche.net/forum/affich-4785074-verificateur-de-l-orthographe-sur-open-office
Correcteur d'orthographe Open Office (Résolu)Bonjour, Mon correcteur d'orthographe corrige normalement le texte que je tappe quand je le tappe. Mais de temps en temps, et cela sans savoir pourquoi, il s'arrête. Le dernier document sur lequel je travaille en est un exemple. On a... www.commentcamarche.net/forum/affich-6615030-correcteur-d-orthographe-open-office
Télécharger BOF (Bréviaire d'orthographe française)Il est reconnu que la langue française est une des plus difficile au monde, surtout le langage écrit. Le français contient des règles propres à lui-même. BOF ou Bréviaire d'orthographe française est un programme regroupant les règles à connaître sur... www.commentcamarche.net/telecharger/telecharger-34056186-bof-breviaire-d-orthographe-francaise
Télécharger DicOOoDicOOo est un plugin pour OpenOffice.org permettant d'ajouter des fonctionnalités supplémentaires à la suite bureautique, telles que : Dictionnaire orthographique Dictionnaire de synonymes Dictionnaire de césures Principales... www.commentcamarche.net/telecharger/telecharger-34055326-dicooo
Télécharger Xenu's Link SleuthXenu's Link Sleuth est un logiciel permettant de vérifier les liens brisés d'un site web. La vérification est effectuée sur les liens cladssiques, les images, les cadres (frames), les pugins, les fonds d'écran, les feuilles de style, applet et... www.commentcamarche.net/telecharger/telecharger-3673511-xenu-s-link-sleuth
Phase de mise en oeuvre d'un projetPhase de mise en oeuvre Recette On appelle « recette » (ou essais de réception) la vérification de la conformité de l'ouvrage à la demande formulée dans le dossier validé de conception générale. La recette est un processus rigoureux... www.commentcamarche.net/contents/projet/phase-mise-en-oeuvre.php3
Webmastering - Maintenance et mise à jour d'un site webMaintenance Prévoir la logistique Mise à jour Vérification des liens Il n'est pas rare que les liens hypertextes présents sur le site deviennent obsolètes, on parle alors de liens brisés ou liens cassés. Le risque est d'autant plus grand que... www.commentcamarche.net/contents/web/maintenance.php3