📄 logiciel.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 + -