Advertisement
BorjanCrvenkov

OOP av1 3ta

Mar 24th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. /*
  2. Од стандарден влез се читаат податоци за непознат број студенти (не повеќе од
  3. 100). Податоците се внесуваат така што во секој ред се состои од:
  4. • името
  5. • презимето
  6. • бројот на индекс (формат xxyzzzz)
  7.  
  8. • четири броја (поени од секоја задача)
  9. со произволен број празни места или табулатори меѓу нив.
  10. Да се напише програма која ќе испечати список на студенти, каде во секој ред
  11. ќе има: презиме, име, број на индекс, вкупен број на бодови сортиран според
  12. бројот на бодови. При тоа имињата и презимињата да се напишат со голема
  13. почетна буква.
  14.  
  15. */
  16.  
  17. #include <stdio.h>
  18.  
  19. struct student {
  20. char ime[15];
  21. char prezime[15];
  22. int indeks;
  23. int bodovi;
  24. };
  25. typedef struct student student;
  26.  
  27. void bukva(char *s) {
  28. *s = toupper(*s);
  29. while (*(++s) != '\0')
  30. *s = tolower(*s);
  31. }
  32. void sort(struct student a[], int n) {
  33. int i, j;
  34. struct student s;
  35. for (i = 0; i < n; i++)
  36. for (j = 0; j < n - i - 1; j++)
  37. if (a[j].bodovi < a[j + 1].bodovi) {
  38. s = a[j];
  39. a[j] = a[j + 1];
  40. a[j + 1] = s;
  41. }
  42. }
  43.  
  44. int main (){
  45. student st[50];
  46. int n;
  47. scanf("%d",&n);
  48. for(int i=0;i<n;i++){
  49. scanf("%s",&st[i].ime);
  50. scanf("%s",&st[i].prezime);
  51. scanf("%d",&st[i].indeks);
  52. st[i].bodovi=0;
  53. int poeni;
  54. for(int j=0;j<4;j++){
  55. scanf("%d",&poeni);
  56. st[i].bodovi+=poeni;
  57. }
  58. bukva(st[i].ime);
  59. bukva(st[i].prezime);
  60. }
  61. sort(st,n);
  62. for(int i=0;i<n;i++){
  63. printf("%d %s %s %d %d",i+1,st[i].prezime,st[i].ime,st[i].indeks,st[i].bodovi);
  64. printf("\n");
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement