Hyluss

Kontakty

Jul 2nd, 2016
529
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.23 KB | None | 0 0
  1. // tutaj sama klasa, bez dodatkowej struktury
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <cstring>
  5. #include <cstdlib>
  6.  
  7.  
  8. class TKontakt {
  9. char imie [20];
  10. char nazwisko [20];
  11. char godnosc[50];
  12. int pozycja;
  13. char* tablica[5];
  14.  
  15. public:
  16. TKontakt (char* imie, char* nazwisko, int pozycja, char* wypisztekst );
  17. char* Scalgodnosc();
  18. void PrzypiszNumer( char* ptr);
  19. char* Wyswietl();
  20. int Pozycja ();
  21. };
  22.  
  23. TKontakt::TKontakt (char* imi, char* nazwi, int poz, char* wypisztekst):
  24. pozycja (0)
  25. {
  26. char *ptr = wypisztekst;
  27. strcpy (imie,imi);
  28. strcpy (nazwisko, nazwi);
  29. pozycja = poz;
  30. Pozycja ();
  31. PrzypiszNumer (ptr);
  32.  
  33. }
  34.  
  35. int TKontakt::Pozycja()
  36. {
  37.     return pozycja;
  38. }
  39.  
  40. void TKontakt::PrzypiszNumer( char* ptr)
  41. {
  42.     tablica[pozycja] = ptr;
  43. }
  44. //!!!
  45. char* TKontakt::Wyswietl ()
  46. {
  47.     return tablica[pozycja];
  48. }
  49.  
  50. char* TKontakt::Scalgodnosc()
  51. {
  52.     char *ptr = godnosc;
  53.     strcpy (ptr, imie);
  54.     ptr+= strlen (ptr);
  55.     strcpy (ptr, " ");
  56.     ptr++;
  57.     strcpy (ptr, nazwisko);
  58.    
  59. return godnosc;
  60. }
  61.  
  62.  
  63.  
  64. typedef enum {
  65. KOMORKOWY = 1,
  66. DOMOWY,
  67. PRYWATNY
  68. } TTypNumeru;
  69.  
  70. class TNumerTelefonu
  71. {
  72. TTypNumeru typ;
  73. int kierunkowy;
  74. long int numerwlasciwy;
  75.  
  76. char przekazujetyp[10];
  77. //char wypisztekst[50];
  78. void ZerujTyp();
  79.  
  80. public:
  81. TNumerTelefonu(int typ, int kraj, long int nrwl);
  82.  
  83. int ZwrocKierunkowy ();
  84. char* ZwrocTekst ( char* wypiszteskt);
  85.  
  86. };
  87.  
  88. // czy typ tez?
  89. TNumerTelefonu::TNumerTelefonu (int typ, int kraj, long int nrwl) :
  90. kierunkowy (00), numerwlasciwy (0000000000)
  91. {
  92. ZerujTyp();
  93.  
  94.     kierunkowy = kraj;
  95.     numerwlasciwy = nrwl;
  96.  
  97.     if (typ == KOMORKOWY)
  98.     {
  99.     strcpy (przekazujetyp,"komorka");
  100.     }
  101.  
  102.     if (typ == DOMOWY)
  103.     {
  104.     strcpy (przekazujetyp,"domowy");
  105.     }
  106.  
  107.     if (typ == PRYWATNY)
  108.     {
  109.     strcpy (przekazujetyp,"prywatny");
  110.     }
  111.  
  112. }
  113.  
  114. void TNumerTelefonu::ZerujTyp()
  115. {
  116.     for (int i=0; i<10;i++)
  117.     {
  118.         przekazujetyp[i] = 0;
  119.     }
  120.  
  121. }
  122.  
  123.  
  124. int TNumerTelefonu::ZwrocKierunkowy ()
  125. {
  126.     return kierunkowy;
  127. }
  128.  
  129.  
  130. char* TNumerTelefonu::ZwrocTekst (char* wypisztekst)
  131. {
  132.     char* ptr= wypisztekst;
  133.     ptr[0] = '+';
  134.     ptr[1] = '0' +(kierunkowy - ( kierunkowy%10 ) ) /10;
  135.     ptr[2] = '0' + kierunkowy %10;
  136.     ptr[3] = ' ';
  137.     ptr[4] = 0;
  138.     ptr+=strlen (ptr);
  139.    
  140.     itoa (numerwlasciwy,ptr,10);
  141.     ptr+=strlen (ptr);
  142.         strcpy (ptr, " ");
  143.         ptr++;
  144.         strcpy (ptr, "0");
  145.         strcpy (ptr, przekazujetyp);
  146.     //ptr = (char*)&numerwlasciwy;
  147.  
  148.  
  149. return wypisztekst;
  150. }
  151.  
  152.  
  153. /////////////////////////////////////////////////////////
  154.  
  155.  
  156. int main(){
  157. char* wypisztekst[50];
  158. char im;
  159. char na;
  160. long int num;
  161. int poz;
  162.  
  163. //NumerTelefonu nt (int typ, int kraj, long int nrwl)
  164. printf ("podaj numer \n");
  165. scanf ("%ld",&num);
  166. TNumerTelefonu nt (KOMORKOWY, 48, num);
  167.  
  168.  
  169. printf (" wyswietl kierunkowy - %d \n", nt.ZwrocKierunkowy() );
  170. printf (" wyswietl numer telefonu %s \n", nt.ZwrocTekst ( (char*)&wypisztekst ) );
  171. //  Data dataur(8,1,1993);
  172. //Data dataza(14,11,2013);
  173.  
  174. printf ("podaj imie i nazwisko \n");
  175. scanf ("%s %s",&im, &na);
  176.  
  177. printf ("Wybierz pozycje od 0-4 \n");
  178. scanf ("%d",&poz);
  179. TKontakt kont ((char*)&im, (char*)&na, poz, (char*)&wypisztekst);
  180.  
  181. printf ("wyswietl imie i nazwisko %s \n", kont.Scalgodnosc() );
  182.  
  183.  
  184. printf ("Wyswietl pozycje oraz wpiany tam numer:\n [%d] - %s \n", kont.Pozycja(), kont.Wyswietl() );
  185.  
  186.     _getch();
  187.     return 0;
  188. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment