Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // tutaj sama klasa, bez dodatkowej struktury
- #include <stdio.h>
- #include <conio.h>
- #include <cstring>
- #include <cstdlib>
- class TKontakt {
- char imie [20];
- char nazwisko [20];
- char godnosc[50];
- int pozycja;
- char* tablica[5];
- public:
- TKontakt (char* imie, char* nazwisko, int pozycja, char* wypisztekst );
- char* Scalgodnosc();
- void PrzypiszNumer( char* ptr);
- char* Wyswietl();
- int Pozycja ();
- };
- TKontakt::TKontakt (char* imi, char* nazwi, int poz, char* wypisztekst):
- pozycja (0)
- {
- char *ptr = wypisztekst;
- strcpy (imie,imi);
- strcpy (nazwisko, nazwi);
- pozycja = poz;
- Pozycja ();
- PrzypiszNumer (ptr);
- }
- int TKontakt::Pozycja()
- {
- return pozycja;
- }
- void TKontakt::PrzypiszNumer( char* ptr)
- {
- tablica[pozycja] = ptr;
- }
- //!!!
- char* TKontakt::Wyswietl ()
- {
- return tablica[pozycja];
- }
- char* TKontakt::Scalgodnosc()
- {
- char *ptr = godnosc;
- strcpy (ptr, imie);
- ptr+= strlen (ptr);
- strcpy (ptr, " ");
- ptr++;
- strcpy (ptr, nazwisko);
- return godnosc;
- }
- typedef enum {
- KOMORKOWY = 1,
- DOMOWY,
- PRYWATNY
- } TTypNumeru;
- class TNumerTelefonu
- {
- TTypNumeru typ;
- int kierunkowy;
- long int numerwlasciwy;
- char przekazujetyp[10];
- //char wypisztekst[50];
- void ZerujTyp();
- public:
- TNumerTelefonu(int typ, int kraj, long int nrwl);
- int ZwrocKierunkowy ();
- char* ZwrocTekst ( char* wypiszteskt);
- };
- // czy typ tez?
- TNumerTelefonu::TNumerTelefonu (int typ, int kraj, long int nrwl) :
- kierunkowy (00), numerwlasciwy (0000000000)
- {
- ZerujTyp();
- kierunkowy = kraj;
- numerwlasciwy = nrwl;
- if (typ == KOMORKOWY)
- {
- strcpy (przekazujetyp,"komorka");
- }
- if (typ == DOMOWY)
- {
- strcpy (przekazujetyp,"domowy");
- }
- if (typ == PRYWATNY)
- {
- strcpy (przekazujetyp,"prywatny");
- }
- }
- void TNumerTelefonu::ZerujTyp()
- {
- for (int i=0; i<10;i++)
- {
- przekazujetyp[i] = 0;
- }
- }
- int TNumerTelefonu::ZwrocKierunkowy ()
- {
- return kierunkowy;
- }
- char* TNumerTelefonu::ZwrocTekst (char* wypisztekst)
- {
- char* ptr= wypisztekst;
- ptr[0] = '+';
- ptr[1] = '0' +(kierunkowy - ( kierunkowy%10 ) ) /10;
- ptr[2] = '0' + kierunkowy %10;
- ptr[3] = ' ';
- ptr[4] = 0;
- ptr+=strlen (ptr);
- itoa (numerwlasciwy,ptr,10);
- ptr+=strlen (ptr);
- strcpy (ptr, " ");
- ptr++;
- strcpy (ptr, "0");
- strcpy (ptr, przekazujetyp);
- //ptr = (char*)&numerwlasciwy;
- return wypisztekst;
- }
- /////////////////////////////////////////////////////////
- int main(){
- char* wypisztekst[50];
- char im;
- char na;
- long int num;
- int poz;
- //NumerTelefonu nt (int typ, int kraj, long int nrwl)
- printf ("podaj numer \n");
- scanf ("%ld",&num);
- TNumerTelefonu nt (KOMORKOWY, 48, num);
- printf (" wyswietl kierunkowy - %d \n", nt.ZwrocKierunkowy() );
- printf (" wyswietl numer telefonu %s \n", nt.ZwrocTekst ( (char*)&wypisztekst ) );
- // Data dataur(8,1,1993);
- //Data dataza(14,11,2013);
- printf ("podaj imie i nazwisko \n");
- scanf ("%s %s",&im, &na);
- printf ("Wybierz pozycje od 0-4 \n");
- scanf ("%d",&poz);
- TKontakt kont ((char*)&im, (char*)&na, poz, (char*)&wypisztekst);
- printf ("wyswietl imie i nazwisko %s \n", kont.Scalgodnosc() );
- printf ("Wyswietl pozycje oraz wpiany tam numer:\n [%d] - %s \n", kont.Pozycja(), kont.Wyswietl() );
- _getch();
- return 0;
- }
Advertisement