Rechercher : dans
Par :

[C]programme conjugaison 3 groupes

Dernière réponse le 4 mar 2008 à 18:33:32 pomporo, le 23 mar 2006 à 18:07:01 
 Signaler ce message aux modérateurs

Bonjour! j'essaye actuellement de faire un programme qui fasse les conjugaison de verbes.
Cependant je rencontre des erreurs. J'ai changé la fonction gets par fgets pour récupérer la valeur saisie mais je n'arrive pas à tester le retour. j'ai comme message d'erreur "undefined reference to flush". Si vous avez une idée merci!

int viregulier(char *input)
{
	FILE *fptr;
	int i=0;
	char buffer;
	char *extension=".txt";  
	char nomfichier[100];

	for(i=0;i<sizeof(irregulier)/sizeof(char*);i++)
	{
		if(strcmp(input,*(irregulier+i))==0)
		{
			strcpy(nomfichier,input);
			strcat(nomfichier,extension);
			printf("%s",nomfichier);
			if((fptr = fopen(nomfichier, "rt")) == NULL)		
			{
				printf("Désolé nous n'avons pas ce verbe");
				return 1;
			}			
			while((buffer = fgetc(fptr))!=EOF)
				putchar(buffer);
			fclose(fptr);			
			return 1;
		}		
	}	
	return 0;
};

 main()
{		
	
	char *er = "er";
	char *re = "re";
	char *ir = "ir";

	char input[200];
        char output[200];    
	const char **ptrconjugaison;	
	
	char *ptr; 
	char again = 0;
	int i=0,j=0;	

	while(again!='n' && again!='N')
	{
	  printf("\nChoisissez un verbe à conjuguer : ");

		if (fgets(input,sizeof input,stdin) != NULL)
                {
		   if(!viregulier(input))
		    {
			ptr = &input[strlen(input)-2];

			if(strcmp(ptr,er)==0)					
				ptrconjugaison = prem_conjugaison;
			else if(strcmp(ptr,re)==0)		
				ptrconjugaison = deux_conjugaison;
			else if(strcmp(ptr,ir)==0)
				ptrconjugaison = trois_conjugaison;
			else
			{			
			printf("Verbe incorrect");
			printf("\nChoisissez un autre verbe (N pour quitter) :");
				again = getchar();
				
			}				
            		
			printf("\nInfinitif  %s\n\n",ptr);
			
			input[strlen(input)-2]='\0';
			strcpy(output,input);
			printf("\nPresent :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nSubjonctif :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nFutur :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nConditionel  :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nImparfait :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nPasse  :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nImparfait du Subjonctif :\n");
			for(j=0;j<6;j++)
				printf("%10s  %s\n",pronoms[j],input,*(ptrconjugaison++));
			printf("\nParticipe Present :\n");
			for(j=0;j<4;j++)
				printf("%10s%s\n",input,*(ptrconjugaison++));
			printf("\nParticipe Passe :\n");
			for(j=0;j<4;j++)
				printf("%10s%s\n",input,*(ptrconjugaison++));
		}
		// =======================================		
		printf("\n\nSaisissez un verbe (N pour quitter) :");
		again = getchar();
		fflush(stdin);  
	}
     }
	printf("\nAu revoir!!\n\n");		
}

Meilleures réponses pour « [C]programme conjugaison 3 groupes » dans :
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...

1

 mamiemando, le 23 mar 2006 à 21:28:09

En général on fait plutôt un scanf, non ?

Bonne chance

Répondre à mamiemando