Hyluss icon

Kontakty

Hyluss | PRO | 07/02/16 06:30:54 PM UTC | 0 ⭐ | 472 👁️ | Never ⏰ | []
C |

3.23 KB

|

None

|

0 👍

/

0 👎

// 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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎