Advertisement
CzarnyBarszcz

Untitled

May 26th, 2020
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. struct student
  7. {
  8. string imie;
  9. string nazwisko;
  10. int nr_indeksu;
  11. double ocena_t;
  12. double ocena_p;
  13. };
  14. struct egazmin
  15. {
  16. string nazwa;
  17. int ile;
  18. student * wyniki;
  19. };
  20. egazmin wczytaj(istream &plik)
  21. {
  22. egazmin Eegzamin;
  23. if(plik.good())
  24. {
  25. plik>>Eegzamin.nazwa;
  26. plik>>Eegzamin.ile;
  27. Eegzamin.wyniki = new student[Eegzamin.ile];
  28. for(int i=0;i<Eegzamin.ile;i++)
  29. {
  30. plik>>Eegzamin.wyniki[i].imie;
  31. plik>>Eegzamin.wyniki[i].nazwisko;
  32. plik>>Eegzamin.wyniki[i].nr_indeksu;
  33. plik>>Eegzamin.wyniki[i].ocena_t;
  34. plik>>Eegzamin.wyniki[i].ocena_p;
  35. }
  36. }
  37. return Eegzamin;
  38. }
  39. void wyswietl (egazmin *Eegzamin)
  40. {
  41. cout<<"Nazwa przedmiotu : "<<Eegzamin->nazwa<<endl;
  42. for (int i=0; i<Eegzamin->ile;i++)
  43. {
  44. cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
  45. cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
  46. cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
  47. cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
  48. cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
  49. float srednia;
  50. srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
  51. cout<<"srednia wazona : "<<srednia<<endl;
  52. }
  53. }
  54. void zlicz (egazmin *Eegzamin)
  55. {
  56. float arytm = 0.0;
  57. for (int j=0; j<Eegzamin->ile;j++)
  58. {
  59. arytm += Eegzamin->wyniki[j].ocena_t + Eegzamin->wyniki[j].ocena_p;
  60. }
  61. arytm = arytm/(2.0*Eegzamin->ile);
  62. for (int i=0; i<Eegzamin->ile;i++)
  63. {
  64. float srednia;
  65. srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
  66. if(arytm<srednia)
  67. {
  68. cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
  69. cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
  70. cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
  71. cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
  72. cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
  73. cout<<"srednia wazona : "<<srednia<<endl;
  74. }
  75. }
  76. }
  77. void filtruj (egazmin *Eegzamin)
  78. {
  79. string s_nazwisko;
  80. cout<<"Podaj nazwisko do znalezienia : ";
  81. cin>>s_nazwisko;
  82. for(int i=0; i<Eegzamin->ile;i++)
  83. {
  84. if(Eegzamin->wyniki[i].nazwisko == s_nazwisko)
  85. {
  86. float srednia;
  87. srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
  88. cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
  89. cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
  90. cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
  91. cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
  92. cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
  93. cout<<"srednia wazona : "<<srednia<<endl;
  94. }
  95. }
  96. }
  97. int main(int argc, char *argv[])
  98. {
  99.  
  100. ifstream plik(argv[1]);
  101. if(!plik.good())
  102. {
  103. cout<<"plik sie nie wczytal"<<endl;
  104. }
  105. egzmin Eegzamin = wczytaj(plik);
  106. wyswietl(&Eegzamin);
  107. zlicz(&Eegzamin);
  108. filtruj(&Eegzamin);
  109. delete [] Eegzamin.wyniki;
  110. return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement