Shembulli 1 Veprimet me treguesin

redakto
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
                              // Kapitulli 3 - Programi 1 - TREGUESI.CPP
#include <iostream>

int main()
{
int   *TrInt;
float *TrFloat;
int   Lopa = 7, Qeni = 27;
float x = 1.2345, y = 32.14;
void *univerzal;

   TrInt = &Lopa;
   *TrInt += Qeni;
   std::cout << "Lopa ka tani vleren " << *TrInt << "\n";
   univerzal = TrInt;

   TrFloat = &x;
   y += 5 * (*TrFloat);
   std::cout << "y-ni tani ka vleren " << y << "\n";
   univerzal = TrFloat;

   const char *Emri1 = "Jonas";    // Vlera nuk mund të ndryshohet
   char *const Emri2 = "Jonas";    // Treuesi nuk mund të ndryshohet

   return 0;
}


// Rezulltati pas nxitimit të programit
//
// Lopa tani ka vleren 34
// y-ni tani ka vleren 38.3125

Shembulli 2 'new' dhe 'delet' për treguesin

redakto
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
                                // Kapitulli 3 - Programi 2 - NEWDEL.CPP
#include <iostream>

struct Data
{
   int Muaji;
   int Dita;
   int Viti;
};

int main()
{
int index, *Treguesi1, *Treguesi2;

   Treguesi1 = &index;
   *Treguesi1 = 77;
   Treguesi2 = new int;
   *Treguesi2 = 173;
   std::cout << "Vlerat jane " << index << "  " << 
                                  *Treguesi1 << "  " << *Treguesi2 << "\n";
   Treguesi1 = new int;
   Treguesi2 = Treguesi1;
   *Treguesi1 = 999;
   std::cout << "Vlerat jane " << index << "  " << 
                                  *Treguesi1 << "  " << *Treguesi2 << "\n";
   delete Treguesi1;

float *floatTreguesi1, *floatTreguesi2 = new float;

   floatTreguesi1 = new float;
   *floatTreguesi2 = 3.14159;
   *floatTreguesi1 = 2.4 * (*floatTreguesi2);
   delete floatTreguesi2;
   delete floatTreguesi1;

Data *DataTreguesi;

   DataTreguesi = new Data;
   DataTreguesi->Muaji = 32;
   DataTreguesi->Dita = 12;
   DataTreguesi->Viti = 2000;
   std::cout << DataTreguesi->Muaji << "/" << DataTreguesi->Dita << "/" <<
                                            DataTreguesi->Viti << "\n";
   delete DataTreguesi;

char *cTreguesi;

   cTreguesi = new char[37];
   delete [] cTreguesi;
   cTreguesi = new char[sizeof(Data) + 133];
   delete [] cTreguesi;

   return 0;
}


// Rezulltati pas nxitimit të programit
//
// Vlerat jane 77  77  173
// Vlerat jane 77  999  999
// 10/18/1938

Shembulli 3 Treguesi mbi funksion

redakto
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
                               // Kapitulli 3 - Programi 3 - FUNKTRE.CPP
#include <stdio.h>

void ShtypDicka(float RegjistraPerIgnorim);
void ShtypLajmin(float RegjistratPerRreshtim);
void ShtypFloat(float RegjistratPerShtypje);
void (*FunksioniITreguesit)(float);

int main()
{
float Pi = 3.14159;
float DyPi = 2.0 * Pi;

   ShtypDicka(Pi);
   FunksioniITreguesit = ShtypDicka;
   FunksioniITreguesit(Pi);
   FunksioniITreguesit = ShtypLajmin;
   FunksioniITreguesit(DyPi);
   FunksioniITreguesit(13.0);
   FunksioniITreguesit = ShtypFloat;
   FunksioniITreguesit(Pi);
   ShtypFloat(Pi);

   return 0;
}

void ShtypDicka(float RegjistraPerIgnorim)
{
   printf("Ky eshte funksioni 'ShtypDicka'.\n");
}

void ShtypLajmin(float RegjistratPerRreshtim)
{
   printf("Regjistrat per rreshtim, jane  %f\n", RegjistratPerRreshtim);
}

void ShtypFloat(float RegjistratPerShtypje)
{
   printf("Regjistrat per shtypje, jane %f\n", RegjistratPerShtypje);
}


// Rezulltati pas nxitimit të programit
//
// Ky eshte funksioni ShtypDicka.
// Ky eshte funksioni ShtypDicka.
// Regjistrat per rreshtim, jane 6.283180
// Regjistrat per rreshtim, jane 13.000000
// Regjistrat per shtypje, jane 3.141590
// Regjistrat per shtypje, jane 3.141590