tehlurk

vjezba7

Apr 28th, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. struct valjak{
  7.     float P, r, v;
  8.     const float pi=3.14;
  9. }v;
  10.  
  11. struct ASCII{
  12.     char znak[5]={'z','A','g','h','N'};
  13.     float broj[5];
  14. }ascii;
  15.  
  16. struct predmeti{
  17.     char naziv[16];
  18.     int ocjena;
  19. };
  20.  
  21. struct studenti{
  22.     char ime[16];
  23.     char prezime[16];
  24.     int jmbag;
  25.     char datum[16];
  26.     int pred;
  27.     predmeti predmet[16];
  28.     float prosjek;
  29.     bool duzina;
  30. }stud[50];
  31.  
  32. int main() {
  33.    
  34.     //1
  35.     cout<<"Upisi radijus valjka:";
  36.     cin>>v.r;
  37.     cout<<"Upisi visinu valjka:";
  38.     cin>>v.v;
  39.     v.P=2*v.r*v.pi*v.v;
  40.     cout<<"Povrsina plasta valjka je:"<<v.P<<endl;
  41.    
  42.     //2
  43.     for(int i=0;i<5;i++)
  44.         ascii.broj[i]=v.P/ascii.znak[i];
  45.     for(int i=1;i<5;i++){
  46.         int j=i-1;
  47.         float pom=ascii.broj[i];
  48.         while(j>=0 && ascii.broj[j]>pom)
  49.             ascii.broj[j+1]=ascii.broj[j--];
  50.         ascii.broj[j+1]=pom;
  51.     }
  52.     cout<<"\nSortirani brojevi su:";
  53.     for(int i=0;i<5;i++)
  54.         cout<<ascii.broj[i]<<" ";
  55.    
  56.     //3
  57.     bool dosta=false;
  58.     int n,m;
  59.     cout<<"\nKoliko studenata upisujes:";
  60.     cin>>n;
  61.     for(int i=0;i<n;i++){
  62.         cout<<"\nIme:";
  63.         cin.ignore();
  64.         cin.getline(stud[i].ime,16);
  65.         cout<<"Prezime:";
  66.         cin.getline(stud[i].prezime,16);
  67.         cout<<"Upisi maticni broj:";
  68.         cin>>stud[i].jmbag;
  69.         cout<<"Upisi datum upisa:";
  70.         cin.ignore();
  71.         cin.getline(stud[i].datum,16);
  72.         cout<<"Koliko predmeta zelis:";
  73.         cin>>m;
  74.         stud[i].pred=m;
  75.         for(int j=0;j<m;j++){
  76.             cout<<"Naziv predmeta:";
  77.             cin.ignore();
  78.             cin.getline(stud[i].predmet[j].naziv,16);
  79.             cout<<"Ocjena:";
  80.             cin>>stud[i].predmet[j].ocjena;
  81.         }
  82.     }
  83.     for(int i=0;i<n;i++){
  84.         float pom=0;
  85.         for(int j=0;j<stud[i].pred;j++)
  86.             pom+=stud[i].predmet[j].ocjena;
  87.         stud[i].prosjek=pom/stud[i].pred;
  88.     }
  89.     for(int i=0;i<n;i++){
  90.         int j=i-1;
  91.         float pom=stud[i].prosjek;
  92.         while(j>=0 && stud[j].prosjek>pom)
  93.             stud[j+1]=stud[j--];
  94.         stud[j+1].prosjek=pom;
  95.     }
  96.     cout<<"\nStudent sa najmanjim prosjekom:";
  97.     cout<<"\nIme:"<<stud[0].ime;
  98.     cout<<"\nPrezime:"<<stud[0].prezime;
  99.     cout<<"\nMaticni broj:"<<stud[0].jmbag;
  100.     cout<<"\nDatum upisa:"<<stud[0].datum;
  101.     cout<<"\nProsjek ocjena:"<<stud[0].prosjek;
  102.    
  103.     cout<<"\n\nStudent sa najvecim prosjekom:";
  104.     cout<<"\nIme:"<<stud[n-1].ime;
  105.     cout<<"\nPrezime:"<<stud[n-1].prezime;
  106.     cout<<"\nMaticni broj:"<<stud[n-1].jmbag;
  107.     cout<<"\nDatum upisa:"<<stud[n-1].datum;
  108.     cout<<"\nProsjek ocjena:"<<stud[n-1].prosjek;
  109.  
  110.     //4
  111.     for(int i=0;i<n;i++){
  112.         if(strlen(stud[i].ime) > 3 && strlen(stud[i].prezime) < 7)
  113.             stud[i].duzina=true;
  114.         else
  115.             stud[i].duzina=false;
  116.     }
  117.     cout<<"\n\n Filtrirani studenti:";
  118.     for(int i=0;i<n;i++){
  119.         if(stud[i].duzina){
  120.             cout<<"\nIme:"<<stud[i].ime;
  121.             cout<<"\nPrezime:"<<stud[i].prezime;
  122.             cout<<"\nMaticni broj:"<<stud[i].jmbag;
  123.             cout<<"\nDatum upisa:"<<stud[i].datum;
  124.             cout<<"\nProsjek ocjena:"<<stud[i].prosjek;
  125.         }
  126.     }
  127.    
  128.     bool zamjena=true;
  129.     for(int i=n-1;i>0 && zamjena;i--){
  130.         zamjena=false;
  131.         for(int j=0;j<i;j++)
  132.             if(strlen(stud[j].ime) > strlen(stud[j+1].ime)){
  133.                 studenti pom=stud[j];
  134.                 stud[j]=stud[j+1];
  135.                 stud[j+1]=pom;
  136.                 zamjena=true;
  137.             }
  138.     }
  139.     cout<<"\n\nSortirani studenti:";
  140.     for(int i=0;i<n;i++)
  141.         cout<<"\nIme i prezime:"<<stud[i].ime<<" "<<stud[i].prezime;
  142.    
  143.     int pomak=0;
  144.     for(int i=0;i<n;i++){
  145.         if(i%2==0)
  146.             pomak+=strlen(stud[i].ime);
  147.         else
  148.             pomak-=strlen(stud[i].ime);
  149.     }
  150.     cout<<"\n\nKriptografski pomak je:"<<pomak;
  151.     cout<<"\n\nOriginalni znakovi su:";
  152.     int L=strlen(ascii.znak);
  153.     for(int i=0;i<L;i++)
  154.         cout<<ascii.znak[i]<<" ";
  155.    
  156.     for(int i=0;i<L;i++){
  157.         if(ascii.znak[i]>='a' && ascii.znak[i] <='z')
  158.             ascii.znak[i] -= 32;
  159.         if(ascii.znak[i]>='A' && ascii.znak[i] <='A'){
  160.             ascii.znak[i] += pomak;
  161.             if(ascii.znak[i] > 'Z')
  162.                 ascii.znak[i] -= 26;
  163.         }
  164.     }
  165.     cout<<"\n\nKriptirani znakovi su:";
  166.     for(int i=0;i<L;i++)
  167.         cout<<ascii.znak[i]<<" ";
  168.    
  169.    
  170.    
  171.     system("pause");
  172.     return 0;
  173. }
Advertisement
Add Comment
Please, Sign In to add comment