Hyluss

Adres

Jul 2nd, 2016
527
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.38 KB | None | 0 0
  1. //konstruktor paramteryczny, wskazniki char*
  2.  
  3. #include <iostream>
  4. #include <string>
  5. #include <conio.h>
  6.  
  7.  
  8. ///////////////////////////////////////////////// KLASA KOD POCZTOWY ////////////////////////////////////////////
  9. class Adres
  10. {
  11.     int kod1;
  12.     int kod2;
  13.     int lokal;
  14.     int budynek;
  15.  
  16.     char ulica  [15];
  17.     char miasto [15];
  18.    
  19.     char lokum [10];
  20.  
  21.     void WyczyscTablice (char*);
  22.  
  23.    
  24. public:
  25. Adres ();
  26.    
  27.     char tab [9];
  28.    
  29.     char Calosc [100];
  30.  
  31.  
  32.    
  33.     void ScalKod (int k1, int k2, char* tab);
  34.     void CalyAdres (int k1, int k2, int lo, int bu, char* ul, char* mi);//, char* Calosc);
  35.     void SprawdzLokum (int l, int b);
  36.  
  37. };
  38.  
  39. // Konstruktor //
  40.  
  41. Adres::Adres():
  42. kod1 (0), kod2 (0)
  43. { WyczyscTablice (tab);}
  44.  
  45.  
  46. ///////////////////////////////////////////////////////// FUNKCJE KODU POCZTOWEGO //////////////////////////////////////////////
  47. void Adres::WyczyscTablice (char*)
  48. {
  49.     for (int i=0; i<9;i++)
  50.     {
  51.         tab[i] = '\0';
  52.     }
  53. }
  54.  
  55. ////////////////////////////////////////////
  56.  
  57.  
  58. void Adres::ScalKod (int k1, int k2, char* tab)
  59. {
  60. int jednosci;
  61. int dziesiatki;
  62. int setki;
  63.  
  64.     if ( (k1 > 0) || (k1 <100) || (k2 > 100) || (k2 < 1000) )  
  65.     {
  66.         kod1 = k1;
  67.         kod2 = k2;
  68.     }
  69.  
  70.     jednosci = (kod1 %10);
  71.     dziesiatki = (kod1 - jednosci) / 10;
  72.    
  73.     tab [0] = ' ';
  74.     tab [1] = '0' + dziesiatki;
  75.     tab [2] = '0' + jednosci;
  76.     tab [3] = '-';
  77.  
  78.     jednosci = ((kod2 %100) %10);
  79.     dziesiatki = ((kod2 %100) - jednosci) /10;
  80.     setki = (kod2 - dziesiatki - jednosci) /100;
  81.  
  82.     tab [4] = '0' + setki;
  83.     tab [5] = '0' + dziesiatki;
  84.     tab [6] = '0' + jednosci;
  85.     tab [7] = ' ';
  86.     tab [8] = '\0';
  87.  
  88.  
  89. }
  90.  
  91.  
  92. ////////////////////////////////
  93.  
  94.  
  95. void Adres::CalyAdres (int k1, int k2, int lo, int bu, char* ul, char* mi)//, char* Calosc)
  96. {
  97.     char *ptr = Calosc;
  98.     lokal = lo;
  99.     budynek = bu;
  100.     strcpy ( (char*)&ulica, ul );
  101.     strcpy ( (char*)&miasto, mi );
  102.  
  103.  
  104.     strcpy (ptr, (char*)&ulica);
  105.     ptr += strlen (ptr);
  106.    
  107.     *ptr++ = ' ';  
  108.    
  109.  
  110.     strcpy (ptr, mi);
  111.     ptr += strlen (ptr);
  112.  
  113.     //ScalKod (kod1,kod2,ptr);
  114.  
  115.     strcpy (ptr, (char*)&tab);
  116.     ptr += strlen (ptr);
  117.    
  118.    
  119.     strcpy (ptr, (char*)&lokum);
  120.     ptr += strlen (ptr);   
  121.  
  122. }
  123.  
  124. //////////////
  125.  
  126. void Adres::SprawdzLokum (int l, int b)
  127. {
  128. lokal = l;
  129. budynek = b;
  130.  
  131. char *ptr = (char*)&lokum;
  132.  
  133. /*
  134. itoa (l,ptr, 10);
  135. ptr += strlen(ptr);
  136.  
  137. */
  138. itoa (l, ptr, 10);
  139. ptr += strlen(ptr);
  140.  
  141. *ptr++ = ' ';
  142. *ptr++ = '/';
  143.  
  144. itoa (b, ptr, 10);
  145. ptr += strlen(ptr);
  146.  
  147. *ptr++ = ' ';
  148. *ptr++ = '\0';
  149.  
  150.  
  151. }
  152.  
  153.  
  154. ////////////////////MAIN---MAIN---MAIN---MAIN---MAIN---MAIN---MAIN---MAIN/////////////////////////
  155.  
  156. int main()
  157. {
  158.  Adres adres;
  159.  
  160. int kod1;
  161. int kod2;
  162. int budynek;
  163. int lokal;
  164.  
  165. char ulica  [15];
  166. char miasto [15];
  167.  
  168.  
  169.     printf ("Podaj 1 czesc kodu pocztowego\n");
  170.     scanf ("%d",&kod1);
  171.     printf ("Podaj 2 czesc kodu pocztowego\n");
  172.     scanf ("%d",&kod2);
  173.  
  174.     adres.ScalKod (kod1, kod2, adres.tab);
  175.  
  176. //putchar(kod.tab[1]);
  177.  
  178.     printf ("twoj kod pocztowy: %s \n", (char*)&adres.tab);
  179.  
  180.     printf ("Podaj nazwe ulicy \n");
  181.     scanf ("%s",&ulica);
  182.  
  183.     printf ("Podaj nazwe miasta \n");
  184.     scanf ("%s",&miasto);
  185.  
  186.    
  187.     printf ("Podaj numer budynku \n");
  188.     scanf ("%d",&budynek);
  189.  
  190.     printf ("Podaj numer lokalu \n");
  191.     scanf ("%d",&lokal);
  192.  
  193. adres.SprawdzLokum (lokal, budynek);
  194.  
  195. adres.CalyAdres (kod1, kod2,lokal, budynek, (char*)&ulica, (char*)&miasto);//, adres.Calosc);
  196.  
  197. printf ("caly adres: %s \n", (char*)&adres.Calosc);
  198.  
  199.      
  200.        _getch();
  201.         return 0;
  202. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment