#include <iostream>
#include <iomanip>
using namespace std;

const int maxKapitol = 10, sirkaStranky = 70;

struct KAPITOLA {
	string nazev;
	unsigned int strana;
};

int nactiKapitoly (int, KAPITOLA*);		// nacte nazvy kapitol do pole retezcu
void vypisObsah (int, KAPITOLA*);

int main() {
	unsigned int pocetKapitol;
	KAPITOLA kapitoly[maxKapitol];

	pocetKapitol = nactiKapitoly (maxKapitol, kapitoly);
	vypisObsah (pocetKapitol, kapitoly);
}

int nactiKapitoly (int delka, KAPITOLA *pole) {
	int pocet = 0;
	cout << "Pokud misto nazvu klepnete na Enter, ukonci se nacitani.\n\n";

	while(pocet < delka) {
		cout << "Nazev: ";
		getline(cin, pole[pocet].nazev); // aby to bralo i mezery

		if (pole[pocet].nazev.length() == 0) 
			break;  		// uzivatel uz nechce dalsi knihu
		cout << "Strana: ";
		cin >> pole[pocet].strana;
		cin.ignore();
		pocet++;
	}	
	return pocet;
}

void vypisObsah (int pocet, KAPITOLA *pole) {
	KAPITOLA *prvni, *posledni, *p;
	int sirkaTecek;
	if (pocet > 0) {
		prvni = &pole[0];
		posledni = &pole[pocet-1];
		cout << endl;
		for (p = prvni; p <= posledni; p++) {
			sirkaTecek = sirkaStranky - p->nazev.length();
			cout << p->nazev << setw(sirkaTecek) << setfill('.') << p->strana <<endl;
		}
	}
}
