Czołem,
Mam problem ze swoim projektem w c++, całość jest praktycznie gotowa tylko program odmawia mi posłuszeństwa. Nie wiem co zrobić, by program wczytywał z pliku tekstowego całe linie, zamiast słowa ze zdania po kolei.
Poniżej zamieszczam wszystkie pliki z projektu jak i sam kod.
#include <iostream>
#include <conio.h>
#include <string>
#include <fstream>
#include <windows.h>
#include <string>
#include <chrono>
#include <thread>
#include <cmath>
#include "menu.hpp"
using namespace std;
int main()
{
Menu();
return 0;
}
#ifndef WCZYTAJ_HPP
#define WCZYTAJ_HPP
#include "szukaj.hpp"
string line;
void Wczytaj()
{
ifstream plik("wizyty.txt", ios::in);
plik >> i;
int k=0;
do
{
plik >>dane[k].id;
plik >>dane[k].imie;
plik >>dane[k].nazwisko;
plik >>dane[k].typ;
plik >>dane[k].data;
plik >>dane[k].imieLekarza;
plik >>dane[k].nazwiskoLekarza;
plik >>dane[k].diagnoza;
plik >>dane[k].leki;
k++;
} while (getline(plik,line) );
plik.close();
cout <<"DANE WCZYTANO -> WCISNIJ ENTER <-";
getchar();
}
#endif
#ifndef DODAJ_HPP
#define DODAJ_HPP
using namespace std;
struct przychodnia
{
string id;
string imie;
string nazwisko;
string typ;
string data;
string imieLekarza;
string nazwiskoLekarza;
string diagnoza;
string leki;
};
przychodnia dane[50];
int i;
void Dodaj()
{
cout <<"Podaj id wizyty " << endl;
cin >> dane[i].id;
int liczba = dane[i].id.size();
if(liczba>50)
{
cout << "ID jest za dlugie! Sprobuj jescze raz" << endl;
cout << "=============================================" << endl;
exit(0);
}
system("cls");
cout <<"Podaj imie pacjenta: ";
cin >> dane[i].imie;
int liczba2 = dane[i].imie.size();
if(liczba2>128)
{
cout << "Imie jest za dlugie! Sprobuj jescze raz" << endl;
cout << "=============================================" << endl;
exit(0);
}
system("cls");
cout <<"Podaj nazwisko pacjenta: ";
cin >>dane[i].nazwisko;
int liczba3 = dane[i].id.size();
if(liczba3>128)
{
cout << "Nazwisko jest za dlugie! Sprobuj jescze raz" << endl;
cout << "=============================================" << endl;
exit(0);
}
system("cls");
cout <<"Podaj typ wizyty: ";
cin >>dane[i].typ;
system("cls");
cout <<"Podaj date: ";
cin >>dane[i].data;
system("cls");
cout <<"Podaj imie lekarza: ";
cin >> dane[i].imieLekarza;
system("cls");
cout << "Podaj nazwisko lekarza: ";
cin>> dane[i].nazwiskoLekarza;
system("cls");
cin.ignore();
cout <<"Podaj diagnoze: ";
getline(cin, dane[i].diagnoza);
int liczba4 = dane[i].diagnoza.size();
if(liczba3>1000)
{
cout << "Nazwisko jest za dlugie! Sprobuj jescze raz" << endl;
cout << "=============================================" << endl;
exit(0);
}
system("cls");
cout <<"Podaj przepisane leki: ";
cin >>dane[i].leki;
system("cls");
i++;
cout <<" ->Wcisnij ENTER<-";
getchar();
}
#endif
#ifndef ZOBACZ_HPP
#define ZOBACZ_HPP
void Zobacz()
{
//Baza danych musi mieć mimum jedna pozycje, jesli to prawda - if wykona sie
if ( i != 0)
{
for (int j = 0; j < i; j++)
{
cout <<"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="<<endl;
cout <<"= Wizyta nr "<<j+1<<": " << endl;
cout <<"= Id wizyty "<<dane[j].id << endl;
cout <<"= Imie pacjenta: "<<dane[j].imie << endl;
cout <<"= Nazwisko pacjenta: "<<dane[j].nazwisko << endl;
cout <<"= Typ uslugi: "<<dane[j].typ << endl;
cout <<"= Data: "<<dane[j].data << endl;
cout <<"= Imie lekarza: "<<dane[j].imieLekarza << endl;
cout <<"= Nazwisko lekarza: "<<dane[j].nazwiskoLekarza << endl;
cout <<"= Diagnoza: " <<dane[j].diagnoza << endl;
cout <<"= Przepisane leki: "<<dane[j].leki << endl;
cout <<"=";
cout <<"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="<<endl;
}
}
else
cout <<"Nie ma zadnej wizyty w bazie!";
cout <<"Nacisnij ENTER";
getchar();
}
#endif
#ifndef ZAPISZ_HPP
#define ZAPISZ_HPP
void Zapisz()
{
ofstream plik("wizyty.txt", ios::out);
plik <<i<<"\n";
for (int j = 0; j < i; j++)
{
plik <<dane[j].id<<endl;
plik <<dane[j].imie<<endl;
plik <<dane[j].nazwisko<<endl;
plik <<dane[j].typ<<endl;
plik <<dane[j].data<<endl;
plik <<dane[j].imieLekarza<<endl;
plik <<dane[j].nazwiskoLekarza<<endl;
plik <<dane[j].diagnoza<<endl;
plik <<dane[j].leki<<endl;
}
cout <<"DANE ZAPISANE -> WCISNIJ ENTER <-";
plik.close();
getchar();
}
#endif
#ifndef MENU_HPP
#define MENU_HPP
#include "dodaj.hpp"
#include "zobacz.hpp"
#include "zapisz.hpp"
#include "wczytaj.hpp"
#include "usun.hpp"
#include "edytuj.hpp"
#include "szukaj.hpp"
using namespace std;
void Menu()
{
cout <<"===========================================" <<endl;
cout <<" INSTRUKCJA " << endl;
cout <<" (JESLI CHCESZ ZOBACZYC BAZE DANYCH) " << endl;
cout <<"===========================================" <<endl;
cout <<" 1.Dodaj wizyte ['1'] "<< endl;
cout <<" 2.Zapisz wizyte ['3'] "<< endl;
cout <<" 3.Wczytaj wizyte ['4'] "<< endl;
cout <<" 4.Zobacz wizyte ['2'] "<< endl;
cout <<"===========================================" <<endl;
char wybor;
do
{
cout <<"Aktualnie posiadasz "<<i<<" Pozycji"<<endl;
cout <<"1. Dodaj wizyte "<<endl;
cout <<"2. Zobacz wszystkie wizyty "<<endl;
cout <<"3. Zapisz wprowadzone wizyty "<<endl;
cout <<"4. Wczytaj wizyty z bazy "<<endl;
cout <<"5. Usun wizyte"<<endl;
cout <<"6. Edytuj wizyte "<<endl;
cout <<"7. Szukaj wizyte " << endl;
cout <<"8 - Koniec programu "<<endl<<endl;
wybor = getch();
system("cls");
switch (wybor)
{
case '1': Dodaj();
break;
case '2': Zobacz();
break;
case '3': Zapisz();
break;
case '4': Wczytaj();
break;
case '5': Usun();
break;
case '6': Edytuj();
break;
case '7': Szukaj();
break;
}
system("cls");
} while (wybor != '8');
}
#endif