// adres zadanie.cpp : Defines the entry point for the console application.
// chyba nie do konca dzialal xD
#include "stdafx.h"
#include <conio.h>
#include <string>
#include <cstdlib>
typedef enum
{
KOMORKOWY=1,
DOMOWY,
SLUZBOWY
} TRodzaj;
typedef struct
{
// private:
char Numer [10];
int kierunkowy;
TRodzaj Rodzaj;
} TTelefon;
//////////////////////////////////
class TNumerTelefonu
{
char nazwisko[50];
TTelefon tel[5];
char pelnykontakt [50];
int pozycja;
void ZerujTablice (char*);
public:
TNumerTelefonu (char* nr, int kier, int pozycja );
char* ScalNumer (char* tab,char rodz);
};
/// konst
//numer, kierunkowy, rodzaj telefonu ?, pozycja
TNumerTelefonu::TNumerTelefonu(char* nr, int kier, int pozycja ) {
int j=0;
tel[pozycja].kierunkowy = kier;
char *ptr = tel[pozycja].Numer;
for (int i=0;i<9;i++)
{
ptr[i] = nr[j];
j++;
}
ptr [9] = '\0';
}
//////////////////////////////////////////////////////////
void TNumerTelefonu::ZerujTablice (char* telefon)
{
for (int i=0; i<40; i++)
{
telefon[i] = 0;
}
}
//////////////////////////////////////////////////////////////////////////////////////
/*
int TNumerTelefonu::ZwrocKierunkowy ()
{
return kierunkowy;
}
*/
////////////////////////////////////////////////////////////////////////////
char* TNumerTelefonu::ScalNumer (char* tab, char rodz)
{
char *ptr=pelnykontakt;
ptr[0] = '+';
char jednosci = tel[pozycja].kierunkowy %10;
char dziesiatki = (tel[pozycja].kierunkowy - jednosci) /10;
ptr[1] = '0' + dziesiatki;
ptr[2] = '0' + jednosci;
ptr[3] = ' ';
ptr++;
strcpy (ptr,tel[pozycja].Numer);
ptr+=strlen (ptr);
if (rodz == KOMORKOWY)
{
strcpy (ptr," komorka \n");
}
if (rodz == DOMOWY)
{
strcpy (ptr," domowy \n");
}
if (rodz == SLUZBOWY)
{
strcpy (ptr," sluzbowy \n");
}
return pelnykontakt;
}
int _tmain(int argc, _TCHAR* argv[])
{
/////////////miejsce, kierunkowy, numer, rodzaj telefonu////////////////////////////
char imie [20];
char nazwi[20];
char cyfra;
char numer[9];
int licznik=0;
int kierunkowy;
int slot;
char powtorz;
TRodzaj wybor;
//int koniec=0;
printf ("Podaj imie i nazwisko \n");
scanf ("%s %s",&imie, &nazwi);
//puts((char *)&imie);
//puts((char *)&nazwi);
do { // czy powtorzyc
licznik =0;
do {
printf ("Podaj rodzaj telefonu:\n 1 - komorka\n 2 - domowy\n 3 - sluzbowy\n");
scanf("%d",&wybor);
} while ( (wybor !=KOMORKOWY) && (wybor !=DOMOWY) && (wybor !=SLUZBOWY) );
printf ("Podaj kierunkowy \n");
do {
cyfra = getch();
if ( (cyfra>= '0') && (cyfra <='9') )
{
if (licznik ==0)
{
kierunkowy = (cyfra - '0') * 10;
}
else
{
kierunkowy += cyfra - '0';
}
licznik++;
putchar (cyfra);
}
} while (licznik !=2);
licznik =0;
printf ("Wpisz numer zawierajacy 9 cyfr.\n");
do {
cyfra = getch ();
if ( (cyfra >= '0') && (cyfra <='9') )
{
numer[licznik] = cyfra;
licznik ++;
putchar (cyfra);
}
}while (licznik != 9);
printf ("\n");
printf ("Do ktorej komorki chcesz zapisac 0-4?\n");
scanf ("%d", &slot);
TNumerTelefonu ttt(char* nr, int kier, int pozycja );
//printf ("oto kontakt: %s\n", ttt.ScalNumer ( (char*)&numer, wybor) );
//numer, kierunkowy, rodzaj telefonu, slot
printf ("Chcesz dopisac numer?\n1- Tak\n2- Nie");
scanf ("%d",&powtorz);
switch (powtorz)
{
case 1:
{
licznik = 1;
break;
}
default:
{
break;
}
}
} while (powtorz == 1);
_getch();
return 0;
}
Comments
0 B
|👍
/👎