Witam, program jakoś genialnie napisany nie jest, przyjdzie czas na poprawę, jednak chce aby najpierw to działało. Problem z programem jest taki ze w momencie sprawdzenia ilości powtórzeń, program zawsze pokazuje że ani razu dana liczba nie wystąpiła, nie ważne co wpisze.
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
#include <vector>
#include <algorithm>
using namespace std;
void zapis()
{
string linia;
int nr_linii = 1;
int noweLiczby[6];
fstream plik;
plik.open("LiczbyLosowania.txt", ios::in);
if (plik.good() == false)
{
cout << "Nie można otworzyć pliku.";
exit(0);
}
while (getline(plik, linia))
{
nr_linii++;
cout << linia << endl;
}
plik.close();
plik.open("LiczbyLosowania.txt", ios::out | ios::app);
for (int i = 0; i < 6; i++)
{
cin >> noweLiczby[i];
plik << noweLiczby[i] << ",";
}
plik << endl;
plik.close();
}
void wczytanie()
{
string linia;
int nr_linii = 1;
fstream plik;
plik.open("LiczbyLosowania.txt", ios::in);
if (plik.good() == false)
{
cout << "Nie można otworzyć pliku.";
exit(0);
}
while (getline(plik, linia))
{
nr_linii++;
cout << linia << endl;
}
plik.close();
}
void sprawdzenie()
{
int tablica[6];
string linia;
int nr_linii = 1;
fstream plik;
plik.open("LiczbyLosowania.txt", ios::in);
if (plik.good() == false)
{
cout << "Nie można otworzyć pliku.";
exit(0);
}
while (getline(plik, linia))
{
nr_linii++;
cout << linia << endl;
}
vector < string > tab;
for (int i = 0; i < 10; i++)
{
tab.push_back(linia);
}
for (int i = 0; i < tab.size(); i++)
{
cout << tab[i] << endl;
}
cout << "Podaj liczby do sprawdzenia: ";
for (int i = 0; i < 6; i++)
{
cin >> tablica[i];
vector < int > tab;
int mycount = count(tab.begin(), tab.end(), tablica[i]);
cout << tablica[i] << " Powtarza sie: " << mycount << " razy.";
}
plik.close();
}
int main()
{
for (;;)
{
cout << "MENU GLOWNE" << endl;
cout << "-------------" << endl;
cout << "1.Zapisz nowe liczby" << endl;
cout << "2.Zobacz liczby losowan" << endl;
cout << "3.Sprawdz swoje liczby" << endl;
cout << "4.wyjscie" << endl;
char wybor;
wybor = _getch();
switch (wybor)
{
case '1': zapis(); break;
case '2': wczytanie(); break;
case '3': sprawdzenie(); break;
case '4':exit(0); break;
default: cout << "Nie ma takiej opcji!!"; break;
}
getchar(); getchar();
system("cls");
}
return 0;
}