// 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;
}
Comments
0 B
|👍
/👎