Trying to make VisitBook

#pragma once
#ifndef _NAVSTEVNIKNIHA_H_
#define _NAVSTEVNIKNIHA_H_
//Vytvoøte modul, který bude sloužit jako kniha navštìv muzea.kniha navštev bude fronta obsahující záznamy.Záznamy se budou skladat
//z nasledujicích položek : datum návštìvy(string), seznam autorù(string), hodnocení(1 - nejlepší - 5 nejhorší) a poznamky(string).
//Záznam dále bude obsahovat statickou metodu, která bude vracet, kolik bylo vytvoøeno už instancí.Návštevní kniha bude mít rozhraní :
//pøidání nového záznamu
//vypis všech zaznamu na obrazovku
//
//-------------------------------------------------------------------- -
//*Pøíspevek : 1 z 2
//* Datum : 1.1.2014
//*Autoøi : Novák, Jirásek, Malá
//*Hodnocení : 3
//* Poznamka : vystava se nam velmi libila
//-------------------------------------------------------------------- -
//
//výpis data neni striknì urèený
//
//vypis všech zaznamu jednoho navstevnika na obrazovku - mezi tyto zaznamy se poèítají i ty, kde je navstevnik jeden z více autoru
//Veškerou funkcionalitu otestujte na jednoduchem programu.

class NavstevniKniha
{
public:
NavstevniKniha();

void PridaniZaznamu();
void VypisVsechZaznamu();

~NavstevniKniha();
private:

};

#endif

------------------------------------------------
#pragma once
#include "NavstevniKniha.h"
#include <string>
#include <deque>
#include <iostream>
//Vytvoøte modul, který bude sloužit jako kniha navštìv muzea.kniha navštev bude fronta obsahující záznamy.Záznamy se budou skladat
//z nasledujicích položek : datum návštìvy(string), seznam autorù(string), hodnocení(1 - nejlepší - 5 nejhorší) a poznamky(string).
//Záznam dále bude obsahovat statickou metodu, která bude vracet, kolik bylo vytvoøeno už instancí.Návštevní kniha bude mít rozhraní :
//pøidání nového záznamu
//vypis všech zaznamu na obrazovku
//
//-------------------------------------------------------------------- -
//*Pøíspevek : 1 z 2
//* Datum : 1.1.2014
//*Autoøi : Novák, Jirásek, Malá
//*Hodnocení : 3
//* Poznamka : vystava se nam velmi libila
//-------------------------------------------------------------------- -
//
//výpis data neni striknì urèený
//
//vypis všech zaznamu jednoho navstevnika na obrazovku - mezi tyto zaznamy se poèítají i ty, kde je navstevnik jeden z více autoru
//Veškerou funkcionalitu otestujte na jednoduchem programu.
using std::string;
using std::deque;
using std::cout;
using std::cin;
using std::endl;
using std::getline;
using std::istream;
using std::ostream;

struct Zaznam{
string datumNavstevy;
string seznamAutoru;
string hodnoceni;
string poznamky;
static int pocetInstanci;
Zaznam(){++pocetInstanci;}
static int pocetInstanciMetoda(){
return pocetInstanci;
}
friend istream& operator>>(istream&, Zaznam&);
friend ostream& operator<<(ostream&,const Zaznam&);
};
int Zaznam::pocetInstanci = 0;

istream& operator>>(istream& is, Zaznam& z)
{
cout << endl << "zadejte datum: ";
is >> z.datumNavstevy;

cout << endl << "zadejte seznam autoru: ";
is >> z.seznamAutoru;

cout << endl << "zadejte hodnoceni: ";
is >> z.hodnoceni;

cout << endl << "zadejte poznamky: ";
is >> z.poznamky;
return is;
}
ostream& operator<<(ostream& os, const Zaznam& z){
os << "datum: " << z.datumNavstevy << ", seznam autoru: " << z.seznamAutoru << ", hodnoceni: " << z.hodnoceni << ", poznamky: " << z.poznamky << endl<<"pocet instanci: " << z.pocetInstanciMetoda();

return os;
}


typedef deque < Zaznam > FrontaZaznamu;
typedef deque < Zaznam >::const_iterator FrontaZaznamuConstIt;
FrontaZaznamu Kniha;

NavstevniKniha::NavstevniKniha(){

}

NavstevniKniha::~NavstevniKniha(){

}

void VypisKontejner (FrontaZaznamu & kniha) {
FrontaZaznamuConstIt it;
for (it = kniha.cbegin(); it != kniha.cend(); ++it)
{
cout << *it << endl;
}
}


void NavstevniKniha::PridaniZaznamu(){
Zaznam z;
cin >> z;
Kniha.push_back(z);
}

void NavstevniKniha::VypisVsechZaznamu(){
VypisKontejner(Kniha);
}
Topic archived. No new replies allowed.