fork download
  1. #include <iostream>
  2. #include <string.h>
  3. #include <ctime>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8. struct osoba
  9. {
  10. char imie[128];
  11. char nazwisko[128];
  12. int wiek;
  13. int dochod[4];
  14. int waga;
  15. };
  16. void maszyna_losujaca(osoba *tab, int rozmiar);
  17. void wprowadz (osoba *tab, int rozmiar);
  18. void wyswietl (osoba *tab, int rozmiar);
  19. void sort_name(osoba *tab, int rozmiar);
  20. int main()
  21. {
  22. srand(time(NULL));
  23. int p;
  24. int choice;
  25. cout << "Prosze podac ile osob chce sie wpisac : ";
  26. cin >> p;
  27.  
  28. osoba *people = new osoba[p];
  29. wprowadz(people, p);
  30. do
  31. {
  32. cout << "Aby wyswietlic dane wszystkich osob wcisnij 1 :" << '\n';
  33. cout << "Aby wyswietlic dane wszystkich osob posrtowane po imieniu wcisnij 2 :" << '\n';
  34. cout << "Aby wyswietlic dane wszystkich osob posrtowane po nazwisku wcisnij 3 :" << '\n';
  35. cout << "Aby wyswietlic dane wszystkich osob, ktorych nazwiska zaczynaja sie na podana litere wcisnij 4 :" << '\n';
  36. cout << "Wyjscie 5"<<'\n';
  37. cin >> choice;
  38.  
  39. switch(choice)
  40. {
  41. case 1:
  42. wyswietl(people, p);
  43. break;
  44. case 2:
  45. sort_name(people, p);
  46. wyswietl(people, p);
  47. break;
  48. }
  49. }
  50. while(choice >=1 && choice <5);
  51.  
  52.  
  53. return 0;
  54. }
  55.  
  56. void wprowadz (osoba *tab, int rozmiar)
  57. {
  58.  
  59. maszyna_losujaca(tab, rozmiar);
  60. for ( int i =0; i < rozmiar ; i++)
  61. {
  62. cout << "Podaj imie osoby nr " << i+1 << ": " << '\n';
  63. cin >> tab[i].imie;
  64. // cin.ignore(128, '\n');
  65. cout << "Podaj nazwisko osoby nr " << i+1<< ": " << '\n';
  66. cin >> tab[i].nazwisko;
  67. //cin.ignore(128, '\n');
  68. cout << "Podaj wiek osoby nr " << i+1<< ": " << '\n';
  69. cin >> tab[i].wiek;
  70. cout << "Dochod zostal przydzielony do poszczegolengo kwartalu"<<'\n';
  71. cout << "Podaj wage osoby nr " << i+1<< ": " << '\n';
  72. cin >> tab[i].waga;
  73. }
  74. }
  75. void maszyna_losujaca(osoba *tab, int rozmiar)
  76. {
  77. for (int i =0; i < rozmiar; i++)
  78. {
  79. for (int j=0; j <4; j++)
  80. {
  81. tab[i].dochod[j] = rand()%2001 + 1000;
  82. }
  83. }
  84. }
  85. void wyswietl (osoba *tab, int rozmiar)
  86. {
  87. int j;
  88. for ( int i=0; i < rozmiar; i++)
  89. {
  90. j=0;
  91. cout << tab[i].imie<<'\n';
  92. cout << tab[i].nazwisko<<'\n';
  93. cout << "Wiek : " << tab[i].wiek<<'\n';
  94. while(j<4)
  95. {
  96. cout <<"Kwartal "<< j+1 << ":";
  97. cout << tab[i].dochod[j];
  98. j++;
  99. cout << " ";
  100. }
  101. cout << '\n';
  102. cout << "Waga : " << tab[i].waga<<'\n';
  103. }
  104. }
  105.  
  106. void sort_name(osoba *tab, int rozmiar)
  107. {
  108.  
  109. osoba tmp;
  110. int i,j,z =0;
  111. while ( i < rozmiar)
  112. {
  113. while (j < rozmiar -1)
  114. {
  115. z =0;
  116.  
  117. /*if (tab[j].imie[z] == tab[j+1].imie[z])
  118.   {
  119.   do
  120.   {
  121.   z++;
  122.   }while(tab[j].imie[z] == tab[j+1].imie[z]);
  123.  
  124.   if (tab[j].imie[z] > tab[j+1].imie[z])
  125.   {
  126.   tmp = tab[j];
  127.   tab[j] = tab[j+1];
  128.   tab[j+1] = tmp;
  129.   }
  130.   }*/
  131. if (tab[j].imie[z] > tab[j+1].imie[z])
  132. {
  133. tmp = tab[j];
  134. tab[j] = tab[j+1];
  135. tab[j+1] = tmp;
  136. }
  137. j++;
  138. }
  139. i++;
  140. }
  141. }
  142.  
Success #stdin #stdout 0s 3476KB
stdin
4
Damian
Granosik
33
45
Adrian
Granosik
45
123
Jan
Kowalski
566
666
Janina
Kowalska
567
123
2
5
stdout
Prosze podac ile osob chce sie wpisac : Podaj imie osoby nr 1: 
Podaj nazwisko osoby nr 1: 
Podaj wiek osoby nr 1: 
Dochod zostal przydzielony do poszczegolengo kwartalu
Podaj wage osoby nr 1: 
Podaj imie osoby nr 2: 
Podaj nazwisko osoby nr 2: 
Podaj wiek osoby nr 2: 
Dochod zostal przydzielony do poszczegolengo kwartalu
Podaj wage osoby nr 2: 
Podaj imie osoby nr 3: 
Podaj nazwisko osoby nr 3: 
Podaj wiek osoby nr 3: 
Dochod zostal przydzielony do poszczegolengo kwartalu
Podaj wage osoby nr 3: 
Podaj imie osoby nr 4: 
Podaj nazwisko osoby nr 4: 
Podaj wiek osoby nr 4: 
Dochod zostal przydzielony do poszczegolengo kwartalu
Podaj wage osoby nr 4: 
Aby wyswietlic dane wszystkich osob wcisnij 1 :
Aby wyswietlic dane wszystkich osob posrtowane po imieniu wcisnij 2 :
Aby wyswietlic dane wszystkich osob posrtowane po nazwisku wcisnij 3 :
Aby wyswietlic dane wszystkich osob, ktorych nazwiska zaczynaja sie na podana litere wcisnij 4 :
Wyjscie 5
Damian
Granosik
Wiek : 33
Kwartal 1:2649  Kwartal 2:2729  Kwartal 3:1639  Kwartal 4:1109  
Waga : 45
Adrian
Granosik
Wiek : 45
Kwartal 1:1618  Kwartal 2:1171  Kwartal 3:2610  Kwartal 4:1272  
Waga : 123
Jan
Kowalski
Wiek : 566
Kwartal 1:1779  Kwartal 2:2943  Kwartal 3:1412  Kwartal 4:2660  
Waga : 666
Janina
Kowalska
Wiek : 567
Kwartal 1:1778  Kwartal 2:2656  Kwartal 3:2574  Kwartal 4:1621  
Waga : 123
Aby wyswietlic dane wszystkich osob wcisnij 1 :
Aby wyswietlic dane wszystkich osob posrtowane po imieniu wcisnij 2 :
Aby wyswietlic dane wszystkich osob posrtowane po nazwisku wcisnij 3 :
Aby wyswietlic dane wszystkich osob, ktorych nazwiska zaczynaja sie na podana litere wcisnij 4 :
Wyjscie 5