Bonjour à tous et merci de prendre le temps de me lire.
Débutant en C, je réalise un petit programme prenant un verbe, extrayant sa racine puis le conjuguant au subjonctif.
Or il semblerait que je rencontre un problème avec ma fonction VerbRacine qui ne renvoie pas comme j'ai prévu la racine du verbe. Je présume que c'est parce que je l'ai mal pensé, mais je n'arrive pas très bien à comprendre pourquoi... :s
Si quelqu'un a une idée de ce qui cloche, je suis preneur.
Bonne journée,
Red'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 #include <stdio.h> #include <stdlib.h> #ifndef boolean #define boolean #define TRUE 1 #define FALSE 0 #endif // !boolean // ============================== FONCTIONS APPELEES ========================================= // calcul la taille du verbe int SizeVerb(char verbe[]) { int i = 0; while (verbe[i] != '\0') { i++; } return i; } //crée la racine du verbe void VerbRacine(char verbSource[], char verbRacine[]) { int i = 0; int z = SizeVerb(verbSource) - 1; //recopie le tableau en s'arrêtant 2 lettres avant la fin. while (i < z) { verbSource[i] = verbRacine[i]; i++; } verbRacine[i] = '\0'; } // ======================================== FONCTION MAIN ======================================== int main() { // demande le verbe char reponse[30]; printf("Entrez un verbe du premier groupe: "); scanf("%s", reponse); //créer une racine int longueur = SizeVerb(reponse); char *repUtilisateur; repUtilisateur = (char *)malloc((longueur + 1) * sizeof(char)); VerbRacine(reponse, repUtilisateur); // imprime la conjugaison du verbe à l'écran. char *pron[6]; pron[0] = "JE"; pron[1] = "TU"; pron[2] = "IL"; pron[3] = "NOUS"; pron[4] = "VOUS"; pron[5] = "ILS"; char *term[6]; term[0] = "ASSE"; term[1] = "ASSES"; term[2] = "AT"; term[3] = "ASSIONS"; term[4] = "ASSIEZ"; term[5] = "ASSENT"; for (int i = 0; i < 6; i++) { printf("QUE %s %s%s \n", pron[i], repUtilisateur, term[i]); } free(repUtilisateur); return 0; }
Partager