/*
Copyright (C) 2004 Piotr Wawrzyniak (
[email protected])
Plik zawiera definicj� klasy przechowuj�cej informacje i funkcje,
kt�re b�d� definiowa�y odpowiednie numerowanie
In this file, there is class defined, that handles number types.
I know that this can be made much easies, without class definition etc,
but I wanted to write alittle with classes to lern them allitle.
*/
#include<string.h>
struct kol_liczb{
int liczba;
kol_liczb* next;
kol_liczb* prev;
};
const int dl=20;//d�ugo�� linii przechowuj�cej numerk kolejnej etykietki
//klasa rekord_numerow zawieraj�ce kolejne numery dla poszczegolnych sk�adowych
class r_numerow{
public:
char numer_etykietki[dl]; //np 111, ab, XV, xv itd.
int set_up_all(int,int,int,int,int,int);
int set_up_all(int, int);
/*
zwr�ci numerek etykiety w liczbach rzymskich, arabskich czy literkach
dok�adnie to tylko zmodyfikuje warto�� numer_etykietki[], kt�r� trzeba
b�dzie odzielnie odczyta� po wywo�aniu tej funkcji na rzecz etykietki.
Przy czym dozwolone warto�ci s� nast�puj�ce"
0 - roman numbers small :r
1 - roman numbers bigg :R
2 - arabic numbers :a
3 - small letters :l
4 - big letters :L
*/
int zwroc_numer_etykiety(int numer);
int domyslny_styl_numeracji;
r_numerow(int,int,int,int,int);//konstruktor, constructor
int ustaw_zmienna_numer_etykietki(char *);
private:
/*
default numbering scheme. There are 5 possible values
0 - roman numbers small :r
1 - roman numbers bigg :R
2 - arabic numbers :a
3 - small letters :l
4 - big letters :L
*/
/*
tablica przechowuj�ca kolejny numer dla ka�dej etykietki
table that contains the last number for given group of labels
*/
int zwroc_num_etykiet[5];
int int_na_rom_char(int,int);//zamiana numeru na romanski ma�y i duzy, change to roman small and big
int int_na_char(int); //zamiana numeru na char zawieraj�cy numer, change int to char
int int_na_lit_char(int,int);//zamiana numeru na litery male i du�e, change to small and capital letters
/*
The inline function that fill in with zeros the variable numer_etykietki
Generally it is better to have everywhere there zeros.
*/
int zeruj_numer_etykietki()
{
for(int dupa=0;dupa<dl;dupa++)
numer_etykietki[dupa]='\0';
return 0;
}
};