summaryrefslogtreecommitdiff
path: root/support/konwerter/system_zapisu.h
blob: 6dae381546f5a7f1b275c24715673a111aaafc84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
Copyright (C) 2004 Piotr Wawrzyniak (piti@piti.vsv.pl)

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;
  }
  
};