Hyluss

Kontakty (klasa i struktura)

Jul 2nd, 2016
537
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.62 KB | None | 0 0
  1. // adres zadanie.cpp : Defines the entry point for the console application.
  2.  
  3.  
  4. // chyba nie do konca dzialal xD
  5.  
  6. #include "stdafx.h"
  7. #include <conio.h>
  8. #include <string>
  9. #include <cstdlib>
  10.  
  11.  
  12. typedef enum
  13. {
  14.     KOMORKOWY=1,
  15.     DOMOWY,
  16.     SLUZBOWY
  17. } TRodzaj;
  18.  
  19. typedef struct
  20. {
  21. //  private:
  22.     char Numer [10];
  23.     int kierunkowy;
  24.     TRodzaj Rodzaj;
  25. } TTelefon;
  26.  
  27.  
  28.  
  29. //////////////////////////////////
  30.  
  31. class TNumerTelefonu
  32. {
  33. char nazwisko[50];
  34. TTelefon tel[5];
  35.  
  36.  
  37. char pelnykontakt [50];
  38. int pozycja;
  39.  
  40. void ZerujTablice (char*);
  41.  
  42.  
  43. public:
  44. TNumerTelefonu (char* nr, int kier, int pozycja );
  45. char* ScalNumer (char* tab,char rodz);
  46.  
  47. };
  48.  
  49. /// konst
  50. //numer, kierunkowy, rodzaj telefonu ?, pozycja
  51.  
  52. TNumerTelefonu::TNumerTelefonu(char* nr, int kier, int pozycja ) {
  53. int j=0;
  54.  
  55.    
  56.    
  57.     tel[pozycja].kierunkowy = kier;
  58.  
  59.    
  60.     char *ptr = tel[pozycja].Numer;
  61.  
  62.     for (int i=0;i<9;i++)
  63.     {
  64.     ptr[i] = nr[j];
  65.     j++;
  66.     }
  67.     ptr [9] = '\0';
  68.  
  69. }
  70.  
  71. //////////////////////////////////////////////////////////
  72. void TNumerTelefonu::ZerujTablice (char* telefon)
  73. {
  74.     for (int i=0; i<40; i++)
  75.     {
  76.         telefon[i] = 0;
  77.     }
  78. }
  79.  
  80.  
  81. //////////////////////////////////////////////////////////////////////////////////////
  82. /*
  83. int TNumerTelefonu::ZwrocKierunkowy ()
  84. {
  85.     return kierunkowy; 
  86.  
  87. }
  88. */
  89. ////////////////////////////////////////////////////////////////////////////
  90.  
  91. char* TNumerTelefonu::ScalNumer (char* tab, char rodz)
  92. {
  93.     char *ptr=pelnykontakt;
  94.     ptr[0] = '+';
  95. char jednosci = tel[pozycja].kierunkowy %10;
  96. char dziesiatki = (tel[pozycja].kierunkowy - jednosci) /10;
  97.  
  98.     ptr[1] = '0' + dziesiatki;
  99.     ptr[2] = '0' + jednosci;
  100.     ptr[3] = ' ';
  101.     ptr++;
  102.     strcpy (ptr,tel[pozycja].Numer);
  103.    
  104.     ptr+=strlen (ptr);
  105.  
  106.     if (rodz == KOMORKOWY)
  107.     {
  108.     strcpy (ptr," komorka \n");
  109.     }
  110.    
  111.     if (rodz == DOMOWY)
  112.     {
  113.     strcpy (ptr," domowy \n");
  114.     }
  115.  
  116.     if (rodz == SLUZBOWY)
  117.     {
  118.     strcpy (ptr," sluzbowy \n");
  119.     }
  120.  
  121.  
  122. return pelnykontakt;
  123. }
  124.  
  125.  
  126.  
  127.  
  128. int _tmain(int argc, _TCHAR* argv[])
  129. {
  130. /////////////miejsce, kierunkowy, numer, rodzaj telefonu////////////////////////////
  131. char imie [20];
  132. char nazwi[20];
  133. char cyfra;
  134. char numer[9];
  135. int licznik=0;
  136. int kierunkowy;
  137. int slot;
  138. char powtorz;
  139.  
  140. TRodzaj wybor;
  141. //int koniec=0;
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148. printf ("Podaj imie i nazwisko \n");
  149. scanf ("%s %s",&imie, &nazwi);
  150. //puts((char *)&imie);
  151. //puts((char *)&nazwi);
  152.  
  153.  
  154. do { // czy powtorzyc
  155.  
  156. licznik =0;
  157.  
  158.  
  159. do {
  160.  
  161. printf ("Podaj rodzaj telefonu:\n 1 - komorka\n 2 - domowy\n 3 - sluzbowy\n");
  162.  
  163. scanf("%d",&wybor);
  164.  
  165. } while ( (wybor !=KOMORKOWY) && (wybor !=DOMOWY) && (wybor !=SLUZBOWY) );
  166.  
  167. printf ("Podaj kierunkowy \n");
  168.    
  169.  
  170.     do {
  171.  
  172.     cyfra = getch();
  173.     if ( (cyfra>= '0') && (cyfra <='9') )
  174.     {
  175.         if (licznik ==0)
  176.         {
  177.             kierunkowy = (cyfra - '0') * 10;
  178.         }
  179.  
  180.         else
  181.         {
  182.             kierunkowy += cyfra - '0';
  183.         }
  184.         licznik++;
  185.         putchar (cyfra);
  186.     }
  187.     } while (licznik !=2);
  188.  
  189. licznik =0;
  190.  
  191. printf ("Wpisz numer zawierajacy 9 cyfr.\n");
  192.             do {
  193.                
  194.                 cyfra = getch ();
  195.                 if ( (cyfra >= '0') && (cyfra <='9') )
  196.                 {
  197.                     numer[licznik] = cyfra;
  198.                     licznik ++;
  199.                     putchar (cyfra);
  200.                 }
  201.            
  202.             }while (licznik != 9);
  203.  
  204. printf ("\n");
  205.  
  206.  
  207.  
  208. printf ("Do ktorej komorki chcesz zapisac 0-4?\n");
  209. scanf ("%d", &slot);
  210.  
  211.  
  212.     TNumerTelefonu ttt(char* nr, int kier, int pozycja );
  213.  
  214.  
  215.  
  216. //printf ("oto kontakt: %s\n", ttt.ScalNumer ( (char*)&numer, wybor) );
  217.  
  218.  
  219. //numer, kierunkowy, rodzaj telefonu, slot
  220.  
  221.  
  222.  
  223.  
  224. printf ("Chcesz dopisac numer?\n1- Tak\n2- Nie");
  225. scanf ("%d",&powtorz);
  226. switch (powtorz)
  227. {
  228.     case 1:
  229.     {
  230.         licznik = 1;
  231.         break;
  232.     }
  233.  
  234.     default:
  235.         {
  236.             break;
  237.         }
  238. }
  239.  
  240.  
  241. } while (powtorz == 1);
  242.  
  243.  
  244.     _getch();
  245.     return 0;
  246. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment