/core.h

http://abicalc.googlecode.com/ · C Header · 70 lines · 55 code · 13 blank · 2 comment · 0 complexity · 6494f6ffb5b40768df3b6df94b801f30 MD5 · raw file

  1. //---------------------------------------------------------------------------
  2. #ifndef coreH
  3. #define coreH
  4. #include "kurs.h"
  5. #include "pruefungen.h"
  6. #include <string.h>
  7. //---------------------------------------------------------------------------
  8. struct abg{
  9. bool a121;
  10. bool a122;
  11. bool a131;
  12. bool a132;
  13. };
  14. class Core
  15. {
  16. private:
  17. Kurs* kurse[20]; //max 20 Kurse oder so + * Buffer falls ich mich verzählt hab
  18. Kurs* lk[2];
  19. int cLK;
  20. int cKurse; //Kurszähler - Index für kurse-array
  21. int kurse_abg;
  22. int unterkurse;
  23. Pruefungen* pruefungen;
  24. void orderKurse();
  25. public:
  26. Core();
  27. ~Core();
  28. String savePath; //Public weil zu faul eine Kapselung per methode vor zu nehmen
  29. bool isChanged;
  30. bool addKurs(Kurs*);
  31. Kurs* getKursByName(String);
  32. void clearKurse();
  33. Kurs* getLKByPosition(int); //Leistungskurs durch Index holen
  34. Kurs* getFS();
  35. int anzahlKurs(); //Anzahl der gesamtkurse (LK+GK)
  36. Kurs *iterateKurse(int); //Alle Kurse durch index holen (für For-Schleifen)
  37. double getAverageByYear(int); //Durchschnitt für 1 Kursjahr
  38. int getUnterkurse(); //Anzahl der Unterkurse
  39. int countNaturwissenschaften(); //Anzahl der Naturwissenschaften
  40. void setAbgHalbjahre(int); //Anzahl der abgeschlossenen Halbjahre setzen /*deprecated*/
  41. int getAbgHalbjahre(); //Anzahl der abg holen /*deprecated*/
  42. int getBlockPunkte(int); //Block Punkte (1&2) holen
  43. int getPositionOfKursByName(String); //Index eines Kurses anhand des Namens
  44. Kurs *getKursByPosition(int); //GK anhand des Index holen
  45. void setKursInPosition(Kurs*,int); //Kurs in bestimmte Position setzen
  46. void setLKInPosition(Kurs*,int); //LK an Position setzen
  47. void deleteKursOnPosition(int); //LK an Position löschen
  48. void print(String); //Drucken, String: Name
  49. void setPruefungen(Pruefungen *);
  50. void clearPruefungen();
  51. Pruefungen* getPruefungen();
  52. void saveToFile(String path);
  53. void loadFromFile(String path);
  54. private:
  55. void parseFile(String); /*deprecated*/
  56. };
  57. #endif