⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logiciel.c

📁 我自己做的一个法语动词变位的小程序,LINUX下运行以测.输入动词原形就可自动输出动词的全部变位.我做了好长时间,希望有兴趣的朋友一起分享
💻 C
字号:
#include<stdio.h>#include"regexp.h"void parametre(int nb_arg, char * arg[], int param[]);void wc(int num[]);int main(int argc, char * argv[], char * envp[]){char * verbe=argv[argc-1];int groupe=0, i=0,j;int param[2], nomb[2];parametre(argc,argv,param);printf("%d %d\n", param[0],param[1]);wc(nomb);printf("nb_ligne = %d nb_carac = %d\n", nomb[1], nomb[0]);char * pronom[6]={"je/j'","tu","il/elle","nous","vous","ils/elles"};FILE * conj=fopen("conjugaison.config", "r");//const char recon[20], temps[20],decoup[20], je[20],tu[20] ,il[20] ,nous[20], vous[20] ,ils[20];printf("%s\n", verbe);char ligne[nomb[1]][101];for (i=0;i<nomb[1];i++){fgets(ligne[i],nomb[0],conj);//printf("%s\n", ligne[i]);} int num_ligne=0;//printf("%s\n", ligne[num_ligne]);char element[nomb[1]][9][20];char *person[6][20];for (i=0;i<nomb[1];i++){int retour=sscanf(ligne[i],"%d %s %s %s %s %s %s %s %s %s\n", &groupe, element[i][0], element[i][1], element[i][2], element[i][3],element[i][4], element[i][5], element[i][6], element[i][7], element[i][8]);}i=0;while (i<nomb[1]){if (verif_motif(element[i][1],verbe)==1){num_ligne=i;break;}else{i++;}}printf("%d\n", num_ligne);char motif[50];int deb;deb_motif(element[num_ligne][2],verbe,deb,motif);printf("la valeur est %s\n", motif);char retour[256];if (param[0]==2) //les deux temps{if (param[1]==6) //si toutes les personnes  {for (j=0;j<2;j++)	{printf("%s : \n", element[num_ligne+j][0]);    for (i=0;i<6;i++)      {	printf("%11s %s\n", pronom[i],rempl_motif(verbe, element[num_ligne+j][i+3], element[num_ligne+j][2], retour));      }    }  } else //si une seule personne  {    i=param[1];    for(j=0;j<2;j++)       {printf("%s : \n", element[num_ligne+j][0]);	printf("%11s %s\n", pronom[i],rempl_motif(verbe, element[num_ligne+j][i+3], element[num_ligne+j][2], retour));       }  }}else{  j=param[0];  printf("%s : \n", element[num_ligne+j][0]);  if (param[1]==6)  {for (i=0;i<6;i++)    {      printf("%11s %s\n", pronom[i],rempl_motif(verbe, element[num_ligne+j][i+3], element[num_ligne+j][2], retour));    }  } else   {    i=param[1];       {printf("%11s %s\n", pronom[i],rempl_motif(verbe, element[num_ligne+j][i+3], element[num_ligne+j][2], retour));       }  }}}void parametre(int nb_arg, char * arg[], int param[]){int i, j, opttps=2, optpers=6;char * pronom[6]={"je","tu","il","nous","vous","ils"};if (nb_arg>2)  {for (i=0;i<nb_arg;i++)    {if (strcmp(arg[i],"-t")==0)      {if (strcmp(arg[i+1],"present")==0)	{opttps=0;}      else if (strcmp(arg[i+1],"imparfait")==0)	{opttps=1;}        else {printf("error de temp\n");        exit(1);}      }    else if (strcmp(arg[i],"-p")==0)      {for (j=0;j<6;j++)	{if (strcmp(arg[i+1],pronom[j])==0)            {optpers=j;}                  }      }    }  }param[0]=opttps;param[1]=optpers;}void wc(int num[]) {char c;int cpt_ligne=0,cpt_caract=0;;FILE * fd=fopen("conjugaison.config", "r");while ((c=fgetc(fd))!=EOF)  {cpt_caract++;   if (c=='\n')    {cpt_ligne++;}  }fclose(fd);num[0]=cpt_caract;num[1]=cpt_ligne;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -