Bonjour ! Je suis debutant en c++ et j'aimerais creer pour mon prof de musique
(j'ai 14 ans) un logiciel qui extrait une ligne d'un fichier (un eleve) suite a la creation d'un fichier portant le nom de la classe et contenant le nom des eleves, dans une autre partie du programme.Le ligne extraite doit etre entre 1 et le nombre d'eleves de la classe en utilisant rand() pour generer un nombre aleatoire .Cependant, les nombres aleatoires generes ne sont pas dans la bonne plage et le nom de l'eleve ne s'affiche pas.Pouvez-vous m'aider S.V.P.?
Jer sais, je ne sais pas programmer !![]()
Voici le bout de mon programme en question :
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 char extension[5 + 1] = ".txt"; char debutchemin[20 + 1] = "C:\\SoundMusic\\"; /*Creation du repertoire */ char rep[] = "C:\\SoundMusic"; if (CreateDirectory(rep, NULL)) { } else { } char classe[10 + 1]; cout <<"Avec quelle classe voulez vous travailler ?\n"; cout <<" Exemple : 3e2\n"; cin >> classe; strcat(debutchemin, classe); strcat(debutchemin, extension); /* Le programme verifie si le fichier existe donc si la classe existe */ if ( is_readable( debutchemin ) ) { cout <<"Le classe existe, le travail peut commencer !\n"; ifstream fichiers( debutchemin ); /*Le programme compte le nombre de ligne du fichier donc le nombre d'eleves presents dans la class */ if ( fichiers ) { int lines = std::count( std::istreambuf_iterator<char>( fichiers ), std::istreambuf_iterator<char>(),'\n' ); cout <<"Nombre d'eleves dans la "<< classe << " : " << lines << endl; system("PAUSE"); /*Voici la partie du programme qui me pose probleme */ int d; for (d = 1; d <= lines; d++) { int r = rand(); if ( r <= lines) { ifstream fich( debutchemin ); string ligne; /*Extrait la ligne r du fichier de la classe */ for(int i = 0; i < r; i++) { getline(fich, ligne); cout << ligne << endl; fich.close(); } } } } }
Partager