Witam. Uczę się dopiero programować i potrzebuję pomocy. Napisałem program losujący ćwiczenia z 6 plików tekstowych. Wszystko działa tak jak chciałem, ale chciałbym pisać kod od początku tak jak powinno się pisać. Jeśli moglibyście rzucić okiem na ten kod i wytknąć mi moje błędy to byłbym bardzo wdzięczny :)
P.S. Najlepiej uczę się wtedy kiedy ktoś wytyka mi błędy i nie owija w bawełnę. Z góry dzięki za poświęcony czas :)
UWAGA!!! - proszę nie poprawiać po mnie błędów, tylko powiedzieć co jest źle i nakierować na poprawne rozwiązania :P
// program losuje jedna linie z pliku tekstowego
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <fstream>
void losuj_linie();
using namespace std;
//-------------------------------------------------- Program główny -------------------------------------------------
int main()
{
cout << "Witaj w programie!\n" << endl;
cout << "1. Losuj plan treningowy. (FBW)\n" << endl;
cout << "Wybierz: ";
int wybor_menu;
cin >> wybor_menu;
switch(wybor_menu)
{
case 1:
losuj_linie();
break;
default:
cout << "Nie ma takiej pozycji w menu.";
break;
}
system("pause");
return 0;
}
//--------------------------------------------------- Nowa funkcja -------------------------------------------------
void losuj_linie()
{
system("cls");
cout << "Losowanie planu treningowego. (FBW)\n" << endl;
fstream nogi, plecy, klatka, barki, triceps, biceps;
nogi.open("nogi.txt", ios::in | ios::out);
plecy.open("plecy.txt", ios::in | ios::out);
klatka.open("klatka.txt", ios::in | ios::out);
barki.open("barki.txt", ios::in | ios::out);
triceps.open("triceps.txt", ios::in | ios::out);
biceps.open("biceps.txt", ios::in | ios::out);
int nr_linii, licznik, wylosowany_numer;
string wiersz;
srand (time(NULL));
//--------------------------------------------------- Losowanie 1 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(nogi.good() == true)
{
while(!nogi.eof())
{
getline(nogi, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "Wylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nNogi: " << wiersz << endl;
}
}
}
//--------------------------------------------------- Losowanie 2 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(plecy.good() == true)
{
while(!plecy.eof())
{
getline(plecy, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "\nWylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nPlecy: " << wiersz << endl;
}
}
}
//--------------------------------------------------- Losowanie 3 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(klatka.good() == true)
{
while(!klatka.eof())
{
getline(klatka, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "\nWylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nKlatka piersiowa: " << wiersz << endl;
}
}
}
//--------------------------------------------------- Losowanie 4 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(barki.good() == true)
{
while(!barki.eof())
{
getline(barki, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "\nWylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nBarki: " << wiersz << endl;
}
}
}
//--------------------------------------------------- Losowanie 5 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(triceps.good() == true)
{
while(!triceps.eof())
{
getline(triceps, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "\nWylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nTriceps: " << wiersz << endl;
}
}
}
//--------------------------------------------------- Losowanie 6 ---------------------------------------------------
licznik = 0;
wylosowany_numer = (rand() % 20) + 1;
if(biceps.good() == true)
{
while(!biceps.eof())
{
getline(biceps, wiersz);
licznik++;
if(licznik == wylosowany_numer)
{
cout << "\nWylosowales/as cwiczenie nr."<< wylosowany_numer << ".\nBiceps: " << wiersz << endl;
cout << "\n";
}
}
}
//--------------------------------------------------- Zamykanie plikow ----------------------------------------------
nogi.close();
plecy.close();
klatka.close();
barki.close();
triceps.close();
biceps.close();
//--------------------------------------------------------- Koniec --------------------------------------------------
}