solphat | Bonjour, j'ai voulue créer un programme pour réviser mon vocabulaire d'anglais, et je rencontre un problème qui est que quand je vais chercher un mot dans un tableau et que je l'affiche il manque la première lettre, et pareille quand il compare avec ma réponse. Merci d'avance Voici le code :
Code :
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <time.h>
- int main(int argc, const char * argv[])
- {
- int NombredeMots = 0, i = 0;
- int NombreAleatoire = 0;
- int Min = 1;
- int francaisornot = 0;
- int traduc = 2;
- int compteur = 0;
- char* Mots = NULL;
- char* MotsTraduit = NULL;
- char* MotsaVerifier = NULL;
-
- // On demande le nombre de mots
- printf("Combien de mots voulez-vous mettre ?\n" );
- scanf("%d", &NombredeMots);
-
- if (NombredeMots > 0)
- {
-
- //Tableaux Dynamique
- Mots = malloc(NombredeMots * sizeof(char));
- MotsTraduit = malloc(NombredeMots * sizeof(char));
- MotsaVerifier = malloc(NombredeMots * sizeof(char));
-
-
- //Demande mots
- for (i = 0 ; i < NombredeMots ; i++)
- {
- printf("Quel est le %d mot?\n ", i + 1);
- scanf("%s", &Mots[i]);
- printf("Mettez sa traduction :\n" );
- scanf("%s", &MotsTraduit[i]);
- }
- while (compteur < NombredeMots)
- {
- compteur++;
- //aleatoire: choix du mots
- srand(time(NULL));
- NombreAleatoire = (rand() % (NombredeMots - Min + 1)) + Min;
-
- //aleatoire: choix français ou traduction
- srand(time(NULL));
- francaisornot = (rand() % (traduc - Min + 1)) + Min;
-
- //Mots Traduits vers Français
- if (francaisornot == 1)
- {
- //Demande Traduction
- NombreAleatoire = i;
- printf("Quel est la traduction de %s\n", &MotsTraduit[1]);
- scanf("%s", &MotsaVerifier[i]);
-
- //Vérification
- if (strcmp(&MotsaVerifier[i], &Mots[i]) == 0)
- {
- printf("Bonne Réponse\n" );
- }
- else
- {
- printf("reponse fausse, la réponse était: %s\n", &Mots[i]);
- }
-
- }
-
- //Mots Français vers traduction
- else if (francaisornot == 2)
- {
- //Demande Traduction
- NombreAleatoire = i;
- printf("Quel est la traduction de %s\n", &Mots[i]);
- scanf("%s", &MotsaVerifier[i]);
-
- //Vérification
- if (strcmp(&MotsaVerifier[i], &MotsTraduit[i]) == 0)
- {
- printf("Bonne Réponse\n" );
- }
- else
- {
- printf("reponse fausse, la réponse était: %s\n", &MotsTraduit[i]);
- }
-
-
- }
-
- }
- }
-
- free(Mots);
- free(MotsTraduit);
- free(MotsaVerifier);
-
- return 0;
-
- }
|
|