Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //konstruktor paramteryczny, wskazniki char*
- #include <iostream>
- #include <string>
- #include <conio.h>
- ///////////////////////////////////////////////// KLASA KOD POCZTOWY ////////////////////////////////////////////
- class Adres
- {
- int kod1;
- int kod2;
- int lokal;
- int budynek;
- char ulica [15];
- char miasto [15];
- char lokum [10];
- void WyczyscTablice (char*);
- public:
- Adres ();
- char tab [9];
- char Calosc [100];
- void ScalKod (int k1, int k2, char* tab);
- void CalyAdres (int k1, int k2, int lo, int bu, char* ul, char* mi);//, char* Calosc);
- void SprawdzLokum (int l, int b);
- };
- // Konstruktor //
- Adres::Adres():
- kod1 (0), kod2 (0)
- { WyczyscTablice (tab);}
- ///////////////////////////////////////////////////////// FUNKCJE KODU POCZTOWEGO //////////////////////////////////////////////
- void Adres::WyczyscTablice (char*)
- {
- for (int i=0; i<9;i++)
- {
- tab[i] = '\0';
- }
- }
- ////////////////////////////////////////////
- void Adres::ScalKod (int k1, int k2, char* tab)
- {
- int jednosci;
- int dziesiatki;
- int setki;
- if ( (k1 > 0) || (k1 <100) || (k2 > 100) || (k2 < 1000) )
- {
- kod1 = k1;
- kod2 = k2;
- }
- jednosci = (kod1 %10);
- dziesiatki = (kod1 - jednosci) / 10;
- tab [0] = ' ';
- tab [1] = '0' + dziesiatki;
- tab [2] = '0' + jednosci;
- tab [3] = '-';
- jednosci = ((kod2 %100) %10);
- dziesiatki = ((kod2 %100) - jednosci) /10;
- setki = (kod2 - dziesiatki - jednosci) /100;
- tab [4] = '0' + setki;
- tab [5] = '0' + dziesiatki;
- tab [6] = '0' + jednosci;
- tab [7] = ' ';
- tab [8] = '\0';
- }
- ////////////////////////////////
- void Adres::CalyAdres (int k1, int k2, int lo, int bu, char* ul, char* mi)//, char* Calosc)
- {
- char *ptr = Calosc;
- lokal = lo;
- budynek = bu;
- strcpy ( (char*)&ulica, ul );
- strcpy ( (char*)&miasto, mi );
- strcpy (ptr, (char*)&ulica);
- ptr += strlen (ptr);
- *ptr++ = ' ';
- strcpy (ptr, mi);
- ptr += strlen (ptr);
- //ScalKod (kod1,kod2,ptr);
- strcpy (ptr, (char*)&tab);
- ptr += strlen (ptr);
- strcpy (ptr, (char*)&lokum);
- ptr += strlen (ptr);
- }
- //////////////
- void Adres::SprawdzLokum (int l, int b)
- {
- lokal = l;
- budynek = b;
- char *ptr = (char*)&lokum;
- /*
- itoa (l,ptr, 10);
- ptr += strlen(ptr);
- */
- itoa (l, ptr, 10);
- ptr += strlen(ptr);
- *ptr++ = ' ';
- *ptr++ = '/';
- itoa (b, ptr, 10);
- ptr += strlen(ptr);
- *ptr++ = ' ';
- *ptr++ = '\0';
- }
- ////////////////////MAIN---MAIN---MAIN---MAIN---MAIN---MAIN---MAIN---MAIN/////////////////////////
- int main()
- {
- Adres adres;
- int kod1;
- int kod2;
- int budynek;
- int lokal;
- char ulica [15];
- char miasto [15];
- printf ("Podaj 1 czesc kodu pocztowego\n");
- scanf ("%d",&kod1);
- printf ("Podaj 2 czesc kodu pocztowego\n");
- scanf ("%d",&kod2);
- adres.ScalKod (kod1, kod2, adres.tab);
- //putchar(kod.tab[1]);
- printf ("twoj kod pocztowy: %s \n", (char*)&adres.tab);
- printf ("Podaj nazwe ulicy \n");
- scanf ("%s",&ulica);
- printf ("Podaj nazwe miasta \n");
- scanf ("%s",&miasto);
- printf ("Podaj numer budynku \n");
- scanf ("%d",&budynek);
- printf ("Podaj numer lokalu \n");
- scanf ("%d",&lokal);
- adres.SprawdzLokum (lokal, budynek);
- adres.CalyAdres (kod1, kod2,lokal, budynek, (char*)&ulica, (char*)&miasto);//, adres.Calosc);
- printf ("caly adres: %s \n", (char*)&adres.Calosc);
- _getch();
- return 0;
- }
Advertisement