Advertisement
daktarism

Devamsızlık Takibi

Mar 15th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstdlib>
  4. #include <windows.h>
  5. #include <conio.h>
  6.  
  7. using namespace std;
  8.  
  9. void anaMenu();
  10. void durumGoruntule();
  11. void devamsizlikEkle();
  12. void dersEkle();
  13. void dersSil();
  14.  
  15. void gotoXY(int x, int y);
  16.  
  17.  
  18. struct ders{
  19.     string ad;
  20.     int haftalikDersSaati;
  21.     int gidilmeyenSaat;
  22.     int maksimumSaat;
  23. };
  24.  
  25. //main fonksiyonu
  26. int main()
  27. {
  28.     while(1){
  29.         anaMenu();
  30. }
  31. }
  32.  
  33. //anaMenu fonksiyonu
  34. void anaMenu(){
  35.     system("CLS");
  36.     int secim;
  37.     cout << "Devamsizlik Takibi\n1-)Durumu Goruntule\n2-)Devamsizlik Ekle\n3-)Ders Ekle\n4-)Ders Sil\nSecim (1-4): ";
  38.     cin >> secim;
  39.  
  40.     switch(secim){
  41.         case 1: durumGoruntule();break;
  42.         case 2: devamsizlikEkle();    break;
  43.         case 3: dersEkle();break;
  44.         case 4: dersSil();break;
  45.         default: cout << "Gecersiz bir secim girdiniz. Luften tekrar deneyin.\n" << endl;break;
  46.     }
  47.  
  48.  
  49. }
  50.  
  51. //devamsizlikEkle fonksiyonu
  52. void devamsizlikEkle(){
  53.     system("CLS");
  54.     ders yeniDers;
  55.     string degistirilecekDers;
  56.     bool degistirildi=false;
  57.     int saat;
  58.  
  59.     ifstream dersler("dersler.txt",ios::app);
  60.     ofstream temp("temp.txt",ios::app);
  61.  
  62.  
  63.     cout << "Devamsizlik eklemek istediginiz dersin adi nedir? : ";
  64.     cin >> degistirilecekDers;
  65.     cout << "Kac saat devamsizlik ekleyeceksiniz? : ";
  66.     cin >> saat;
  67.  
  68.  
  69.     while(dersler >> yeniDers.ad >> yeniDers.haftalikDersSaati >> yeniDers.gidilmeyenSaat >> yeniDers.maksimumSaat){
  70.             if(degistirilecekDers != yeniDers.ad){
  71.                 temp << yeniDers.ad << ' ' << yeniDers.haftalikDersSaati << ' ' << yeniDers.gidilmeyenSaat << ' ' << yeniDers.maksimumSaat << endl;
  72.             }
  73.  
  74.             if(degistirilecekDers == yeniDers.ad){
  75.                 temp << yeniDers.ad << ' ' << yeniDers.haftalikDersSaati << ' ' << yeniDers.gidilmeyenSaat+saat << ' ' << yeniDers.maksimumSaat << endl;
  76.                 degistirildi=true;
  77.             }
  78.     }
  79.  
  80.     dersler.close();
  81.     temp.close();
  82.     remove("dersler.txt");
  83.     rename("temp.txt","dersler.txt");
  84.  
  85.     if(degistirildi==true){
  86.         cout << "\nDevamsizlik basariyla eklenmistir.\n\nAna menuye donmek icin bir tusa basiniz." << endl;
  87.     }
  88.     else{
  89.             cout << "\nGirdiginiz isimde bir ders bulunmamaktadir." << endl;
  90.     }
  91.  
  92.  
  93.         char evetHayir;
  94.         cout << "\nBaska bir devamsizlik eklemek ister misiniz? (E/H) : ";
  95.         cin >> evetHayir;
  96.  
  97.         if(evetHayir == 'h' || evetHayir == 'H'){
  98.             system("CLS");
  99.             anaMenu();
  100.         }
  101.         else{
  102.             devamsizlikEkle();
  103.         }
  104.     getch();
  105. }
  106.  
  107.  
  108.  
  109.  
  110. //dersEkle fonksiyonu
  111. void dersEkle(){
  112.     system("CLS");
  113.     ders yeniDers;
  114.     ofstream dersler;
  115.  
  116.     dersler.open("dersler.txt",ios::app);
  117.  
  118.     cout << "Ders adi nedir? (Tek kelime) : ";
  119.     cin >> yeniDers.ad;
  120.     cout << "Dersin haftalik saat sayisi kac? : ";
  121.     cin >> yeniDers.haftalikDersSaati;
  122.     cout << "Kac saat gitmediniz? : ";
  123.     cin >> yeniDers.gidilmeyenSaat;
  124.     yeniDers.maksimumSaat=yeniDers.haftalikDersSaati*4.5;
  125.  
  126.     dersler << yeniDers.ad << ' ' << yeniDers.haftalikDersSaati << ' ' << yeniDers.gidilmeyenSaat << ' ' << yeniDers.maksimumSaat << endl;;
  127.  
  128.     char evetHayir;
  129.     cout << "\nYeni ders eklemek ister misiniz? (E/H) : ";
  130.     cin >> evetHayir;
  131.  
  132.     if(evetHayir == 'h' || evetHayir == 'H'){
  133.         dersler.close();
  134.         system("CLS");
  135.     }
  136.     else{
  137.         dersEkle();
  138.     }
  139. }
  140.  
  141. //dersSil fonksiyonu
  142. void dersSil(){
  143.     system("CLS");
  144.     ders yeniDers;
  145.     string silinecekDers;
  146.     bool silindi=false;
  147.  
  148.     ifstream dersler("dersler.txt",ios::app);
  149.     ofstream temp("temp.txt",ios::app);
  150.  
  151.  
  152.     cout << "Silmek istediginiz dersin adi nedir? : ";
  153.     cin >> silinecekDers;
  154.  
  155.  
  156.     while(dersler >> yeniDers.ad >> yeniDers.haftalikDersSaati >> yeniDers.gidilmeyenSaat >> yeniDers.maksimumSaat){
  157.             if(silinecekDers != yeniDers.ad){
  158.                 temp << yeniDers.ad << ' ' << yeniDers.haftalikDersSaati << ' ' << yeniDers.gidilmeyenSaat << ' ' << yeniDers.maksimumSaat << endl;
  159.             }
  160.  
  161.             if(silinecekDers == yeniDers.ad){
  162.                 silindi=true;
  163.             }
  164.     }
  165.  
  166.     dersler.close();
  167.     temp.close();
  168.     remove("dersler.txt");
  169.     rename("temp.txt","dersler.txt");
  170.  
  171.     if(silindi==true){
  172.         cout << "\nGirmis oldugunuz ders basariyla silinmistir.\n\nAna menuye donmek icin bir tusa basiniz." << endl;
  173.     }
  174.     else{
  175.         cout << "\nGirdiginiz isimde bir ders bulunmamaktadir." << endl;
  176.  
  177.         char evetHayir;
  178.         cout << "\nBaska bir ders silmek ister misiniz? (E/H) : ";
  179.         cin >> evetHayir;
  180.  
  181.         if(evetHayir == 'h' || evetHayir == 'H'){
  182.             system("CLS");
  183.             anaMenu();
  184.         }
  185.         else{
  186.             dersSil();
  187.         }
  188.  
  189.     }
  190.     getch();
  191. }
  192.  
  193.  
  194. //durumGoruntule fonksiyonu
  195. void durumGoruntule(){
  196.     system("CLS");
  197.     ders yeniDers;
  198.     int i=3,k=2;
  199.     yeniDers.maksimumSaat = 0;
  200.  
  201.     ifstream dersler("dersler.txt",ios::app);
  202.  
  203.  
  204. cout << "+-------------------+-----------------------------+----------------+-----------+" << endl;
  205.     gotoXY(0,1);
  206.     cout << "|DERS ADI";
  207.     gotoXY(20,1);
  208.     cout << "|HAFTALIK DERS SAATI";
  209.     gotoXY(50,1);
  210.     cout << "|GIDILMEYEN SAAT";
  211.     gotoXY(67,1);
  212.     cout << "|LIMIT      |" << endl;
  213.  
  214.  
  215.     while(dersler >> yeniDers.ad >> yeniDers.haftalikDersSaati >> yeniDers.gidilmeyenSaat >> yeniDers.maksimumSaat){
  216.  
  217.         if(k%2==0){
  218.                 gotoXY(0,k);
  219.                 cout << "+-------------------+-----------------------------+----------------+-----------+";
  220.         }
  221.         gotoXY(0,i);
  222.         cout << "|" << yeniDers.ad ;
  223.         gotoXY(20,i);
  224.         cout << "|" << yeniDers.haftalikDersSaati;
  225.         gotoXY(50,i);
  226.         cout << "|" << yeniDers.gidilmeyenSaat << "\t\t   |" << endl;
  227.         gotoXY(67,i);
  228.         cout << "|" << yeniDers.maksimumSaat << "\t       |";
  229.         i+=2;
  230.         k+=2;
  231.  
  232.     }
  233. cout << "+-------------------+-----------------------------+----------------+-----------+\n\n Tolga 'daktari' Ay tarafindan hazirlanmistir.\n\n Ana menuye donmek icin bir tusa basiniz." << endl;
  234. getch();
  235. }
  236.  
  237.  
  238. //gotoXY fonksiyonu
  239. void gotoXY(int x, int y)
  240. {
  241.   static HANDLE h = NULL;
  242.   if(!h)
  243.     h = GetStdHandle(STD_OUTPUT_HANDLE);
  244.   COORD c = { x, y };
  245.   SetConsoleCursorPosition(h,c);
  246. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement