Pomoc oko seminara-c++

poruka: 21
|
čitano: 4.051
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Pomoc oko seminara-c++

ovako, program čita podatke iz datoteke sa diska i on te program treba sortirati, ali ne znam kako bih sortirao jedan dio.

 

KOD:

imam za sortirati 2-D int polje(u kodu se zove brojproizvoda) i javlja mi gresku "forbids assignments of arrays", pa ako netko zna kako to sortirati bio bih zahvalan. pokusao sam sa pomocnim poljem ali nije islo.

 

#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{

ifstream d("Proizvodi.txt");

char imeproizvoda[100][50];
char proizvodzac[100][50];
char godinaproizvodnje[100][6];
int brojkutija;
int brojproizvoda[100][100];  //broj proizvoda[komada] po kutijama  -> promjenjiv dio

char nista[100];int i=0;   //   i predstavlja broj redova odnosno broj proizvoda
int sum[100];
//int tsuma=0;
while(!d.eof())
{
 d.getline(imeproizvoda[i],49,'\t');
 d.getline(proizvodzac[i],49,'\t');
 d.getline(godinaproizvodnje[i],5,'\t');
 d>>brojkutija;
 for(int j=0; j<brojkutija; j++)
 {
  d>>brojproizvoda[i][j];
    }
        
 d.getline(nista,99);
 sum[i]=0;


 for(int j=0; j<brojkutija; j++)
 {
  sum[i]=sum[i]+brojproizvoda[i][j];
         }
       
  //sum[i]=tsuma;
if(strlen(imeproizvoda[i])>0) //zadnji red je prazan pa ga ignoriramo
 { i++;

}
}
d.close();
 
int n;
n=i;

for(int i=0;i<n-1;i++)
{
 for(int j=i+1;j<n;j++)
      {     
if((godinaproizvodnje[i]<godinaproizvodnje[j]) || (  (godinaproizvodnje[i]==godinaproizvodnje[j]) && (sum[i]<sum[j])))
                {
char timeproizvoda[49];

strcpy(timeproizvoda,imeproizvoda[i]);
strcpy(imeproizvoda[i],imeproizvoda[j]);
strcpy(imeproizvoda[j],timeproizvoda);
                                
char tproizvodzac[49];
strcpy(tproizvodzac,proizvodzac[i]);
strcpy(proizvodzac[i],proizvodzac[j]);

strcpy(proizvodzac[j],tproizvodzac);  
                                
char tgodinaproizvodnje[5];
strcpy(tgodinaproizvodnje,godinaproizvodnje[i]);
strcpy(godinaproizvodnje[i],godinaproizvodnje[j]);
strcpy(godinaproizvodnje[j],tgodinaproizvodnje);
                                
                                
int tbrojproizvoda[100];   //PROBLEM->kako ovo ispravno sortirati
tbrojproizvoda=brojproizvoda[i];
brojproizvoda[i]=brojproizvoda[j];
brojproizvoda[j]=brojproizvoda;
                                
int tsum;

tsum=sum[i];
sum[i]=sum[j];

sum[j]=tsum;
 }
 }
}
      
       
//ispis zaglavlja tablice
cout<<"#"<<'\t'<<"Imeproizvoda"<<'\t'<<"Proizvodzac"<<'\t'<<"Godina"<<'\t'<<"Broj kutija"<<'\t'<<"Broj proizvoda"<<'\t'<<endl;

int m;
m=n;
for(int i=0;i<m;i++)
{   
               
                
//ispis podataka u tablicnom obliku na nivou reda
cout<<i+1<<"."<<'\t'<<imeproizvoda[i]<<'\t'<<'\t'<<proizvodzac[i]<<'\t'<<'\t'<<godinaproizvodnje[i]<<'\t'<<brojkutija<<'\t'<<'\t';
                                 

for(int j=0; j<brojkutija; j++)
{

cout<<brojproizvoda[i][j]<<" ";   
}
                                             
cout<<'\t';
                                             
cout<<i+1<<"."<<'\t'<<"Zbroj proizvoda za "<<i+1<<".kutiju: "<<endl;
cout<<'\t'<<'\t'<<'\t'<<sum[i];
cout<<endl;
}

    system("PAUSE");
    return EXIT_SUCCESS;
}

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
Poruka je uređivana zadnji put uto 2.2.2010 15:00 (sauron_15).
Moj PC  
0 0 hvala 0
17 godina
protjeran
offline
Pomoc oko seminara-c++

Uredi malo code jer to ovako izgleda zbrkano i ništa nije jasno. Po mogućnosti daj potpun tekst zadatka i u code-u komentiraj dio koji ti nije jasan.

Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

evo malo sam uredio u gornjem postu, ako treba mogu staviti cpp file. ovaj program je samo dio mog seminara-a on:

 

1. čita podatke iz datoteke koja je vec na disku i u koju sam ja upisao podatke prethodno,

2. varijable su imeproizvoda,proizvodzac,godinaproizvodnje,brojkutija i brojproizvoda s obzirom na kutiju-> koja je promjenjivi dio.

3.  program čita te podatke iz datoteke te ju zatvara

4. zatim on sortira te podatke po kriteriju godinaproizvodnje, a ako je  godinaproizvodnje jednaka onda po ukpnom zbroju proizvoda.

->> i tu dolazi moj problem jer sortira sve osim varijable int brojproizvoda[100][100]  ->prikazuje ovo "73 C:\Documents and Settings\hp\Desktop\ŠKART\danas\sort.cpp ISO C++ forbids assignment of arrays "  

5. tako sortirane podatke ispisuje na zaslon

 

općenitije moj se problem svodi na sortiranje dvodimenzionalnog int niza

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
Poruka je uređivana zadnji put uto 2.2.2010 15:03 (sauron_15).
17 godina
protjeran
offline
RE: Pomoc oko seminara-c++
sauron_15 kaže...

 

općenitije moj se problem svodi na sortiranje dvodimenzionalnog int niza

Onda ga sortiraj kroz for petlju na način da sortiraš redak po redak.

17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

se može rješiti kako na brži način, pomoću pokazivača ili referenci?

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
16 godina
neaktivan
offline
Pomoc oko seminara-c++

Nije mi jasno zašto prtljaš s tim dvodimenzionalnim poljima, a ne sa poljem/listom/vektorom structova ili objekata kad već radiš u C++?

 

Ali dobro kad već radiš s time, zašto kod polja sa charovima koristiš strcpy, ali kod polja sa intovima misliš da će ti proći samo "="? Belji se

Koristi memcpy za polja s intovima.

Poruka je uređivana zadnji put uto 2.2.2010 21:32 (Tom69).
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

a čuj, koristim ono što naučim u školi, znam da ne može proći samo s "=" jer se tako 2-d polja ne sortiraju, a 2-d polje koristim jer ga trebam koristiti.

 

ja trebam sortirati ovo:

int tbrojproizvoda[100];   //PROBLEM->kako ovo ispravno sortirati
tbrojproizvoda=brojproizvoda[i];
brojproizvoda[i]=brojproizvoda[j];
brojproizvoda[j]=brojproizvoda;

 

 

sa memcpy mi ne radi :(

 

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
Poruka je uređivana zadnji put uto 2.2.2010 21:44 (sauron_15).
16 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

memcpy(tbrojproizvoda,brojproizvoda[i],sizeof(int)*100);
memcpy(brojproizvoda[i],brojproizvoda[j],sizeof(int)*100);
memcpy(brojproizvoda[j],tbrojproizvoda,sizeof(int)*100);

 

I kažeš da ne radi?

17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

a nisi mi rekao da ide sizeof, zato nije radilo :D

 

sad radi, hvala, što sam dužan?

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
16 godina
neaktivan
offline
Pomoc oko seminara-c++

Ništa, drugi put čitaj dokumentaciju funkcija koje koristiš. Belji se

 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

jbg, sad sam prvi put čuo za memcpy, ali da mi nisi rekao zavirio bih u demistificirani  c++ :D

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
17 godina
protjeran
offline
RE: Pomoc oko seminara-c++
Tom69 kaže...

Nije mi jasno zašto prtljaš s tim dvodimenzionalnim poljima, a ne sa poljem/listom/vektorom structova ili objekata kad već radiš u C++?

 

Nema apsolutno ništa loše u korištenju 2D polja. I sam ih uvijek prije koristim nego ikakvu listu ili vektor, a non stop radim u C++u.

17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

imam problem, program mi nece ukljuciti C header file kojeg sam napišem, kaže da headera nema, a nalazi se u istoj mapi kao i ovaj "project"   iz slika se moze vidjeti u cemu je problem.

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
16 godina
neaktivan
offline
RE: Pomoc oko seminara-c++
sauron_15 kaže...

imam problem, program mi nece ukljuciti C header file kojeg sam napišem, kaže da headera nema, a nalazi se u istoj mapi kao i ovaj "project"   iz slika se moze vidjeti u cemu je problem.

stavi s navodnicima, znaci #include "proizvod.h"

All religions are the same: religion is basically guilt, with different holidays.
Poruka je uređivana zadnji put čet 11.2.2010 21:57 (drnde).
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

sad javlja neki drugi error

 

 6 C:\Users\Cerovec\Desktop\Proceduralan nacin\seminar 3\izbornik.cpp In file included from izbornik.cpp

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
Poruka je uređivana zadnji put ned 14.2.2010 23:09 (sauron_15).
17 godina
offline
Pomoc oko seminara-c++

Kopiraj/uploadaj negdje sadržaj tog headera.

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
0 0 hvala 0
16 godina
neaktivan
offline
Pomoc oko seminara-c++

U headere idu samo deklaracije funkcija.

Poruka je uređivana zadnji put ned 14.2.2010 23:15 (Tom69).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Pomoc oko seminara-c++
sauron_15 kaže...

sad javlja neki drugi error

 

 6 C:\Users\Cerovec\Desktop\Proceduralan nacin\seminar 3\izbornik.cpp In file included from izbornik.cpp

fajl ti se zove proizvod.h a u programu si napisao proizvodi.h ?

All religions are the same: religion is basically guilt, with different holidays.
Poruka je uređivana zadnji put pon 15.2.2010 4:01 (drnde).
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++

fajl se zove proizvodi.h , evo šta je u njemu:

 

using namespace std; //mora ici tu
class CRectangle {
    int x, y;
  public:
    void set_values (int,int);
    int area () {return (x*y);}
};

void CRectangle::set_values (int a, int b) {
  x = a;
  y = b;
}


struct t_proizvod
 {
 char imeproizvoda[50];
 char proizvodzac[50];
 char godinaproizvodnje[6];
 int n1; //broj proizvoda u 1. kutiji
 int n2;
 int n3;
 int n4;
 };
 
 t_proizvod nizproizvoda[100]; //ogranicenje rada s nizovima je granica od 100 ucenika, sa listama nema tog ogranicenja
 int n; //stvaran broj proizvoda u nizu
 char imedat[100]="";


    void procitajunizproizvoda() //potprogram-potrebno za init
{
        ifstream d(imedat);
  t_proizvod zacitanje;
  char nesto[100];
  int i=0; //redni broj reda i brojac redova
  while(!d.eof())  //citamo datoteku do njenog kraja
 {
        //citanje podataka iz datoteke u varijable
    d.getline(zacitanje.imeproizvoda,49,'\t')
        d.getline(zacitanje.proizvodzac,49,'\t')
        d.getline(zacitanje.godinaproizvodnje,5,'\t')
  d>>zacitanje.n1;
  d>>zacitanje.n2;
  d>>zacitanje.n3;
  d>>zacitanje.n4;
  d.getline(nesto,99);  //cita endl

 if(strlen(zacitanje.imeproizvoda)>0) //zadnji red je prazan pa ga ignoriramo
 {           nizproizvoda[i]=zacitanje; //trpamo sve podatke u niz
             i++;//brojac broji od 1 svaki red
 }
 
}//while
 n=i; //jer proizvodi pocinju sa 0
 
 }
 void init (char imedatoteke[])
 {       strcpy(imedat,imedatoteke);//sprema se ime datoteke u globalnu varijablu
         ifstream d(imedatoteke);
   //ako datoteka ne postoji
   if(!d)
   {n=0;//tada nema podataka jer je datoteka prazna
   d.close();
   //stvaranje prazne datoteke
   ofstream d1;//d je datotecni objekt za o-out/izlaz
   d1.open(imedatoteke,ios::app);//povezivanje varijable i datoteke na disku, datoteka treba postojati!
   d1.close();//sada datoteka postoji i prazna je

   }
   else
   {//datoteka postoji pa moramo procitati podatke iz nje u niz i postaviti n na broj redova
   procitajunizucenika();
   }
  
      }
      void spreminizudatoteku()
      {
           ofstream d;//d je datotecni objekt za o-out/izlaz
           d.open(imedat,ios::trunc);//povezivanje varijable i datoteke na disku, datoteka treba postojati!  trunc-brise sve izda trnutne pozicije
           for(int i=0;i<n;i++)
           {
            d<<nizproizvoda[i].imeproizvoda<<'\t'<<nizproizvoda[i].proizvodzac<<'\t'<<nizproizvoda[i].godinaproizvodnje<<'\t'<<nizproizvoda[i].n1<<'\t'<< nizproizvoda[i].n2<<'\t'<<nizproizvoda[i].n3<<'\t'<<nizproizvoda[i].n4<<endl;
           }
           d.close();
           }
      void prikaziproizvode_tablicno()
      {
           float sum=0;//za sumu reda
           //ispis zaglavlja tablice
           cout<<"#"<<'.'<<"imeproizvoda"<<'\t'<<"proizvodzac"<<'\t'<<"godina"<<'\t'<<"Box1"<<'\t'<<"Box2"<<'\t'<<"Box3"<<'\t'<<"Box4"<<'\t'<<"suma"<<endl;
           //ispis ucenika iz nizaucenika
           for(int i=0;i<n;i++)//radi  obrade niza
           {sum=0;//ponistavamo zbroj za svaki red
           sum=sum+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda

            cout<<i << ". "<<nizproizvoda[i].imeproizvoda<<'\t'<<nizproizvoda[i].proizvodzac<<'\t'<<nizproizvoda[i].godinaproizvodnje<<'\t'<<nizproizvoda[i].n1<<'\t'<<nizproizvoda[i].n2<<'\t'<<nizproizvoda[i].n3<<'\t'<<nizproizvoda[i].n4<<'\t'<<sum<<endl;
           } 
          
                }
      void prikaziproizvode_obrazac()
      {
           float sum=0;//za sumu reda
           //ispis ucenika iz nizaucenika
           for(int i=0;i<n;i++)
           {sum=0;//ponistavamo zbroj za svaki red
           sum=sum+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda
            //ispis u obliku obrasca na nivou reda
            cout<<"R.br: "<<i<<endl<<"imeproizvoda: "<<nizproizvoda[i].imeproizvoda<<endl<<"proizvodzac: "<<nizproizvoda[i].proizvodzac<<endl<<"godina: "<<nizproizvoda[i].godinaproizvodnje<<endl<<"Box1: "<<nizproizvoda[i].n1<<endl<<"Box2: "<<nizproizvoda[i].n2<<endl<<"Box3: "<<nizproizvoda[i].n3<<endl<<"Box4: "<<nizproizvoda[i].n4<<endl<<"Suma proizvoda: "<<sum<<endl;
            system("pause"); } 
          
                }
      void statistikaproizvoda_tablicno()
      {
           //inicijalizacija alg. za pribrajanje za total
            float sum1=0;  //za sume na nivou stupca
            float sum2=0;
            float sum3=0;
            float sum4=0;
            float sum5=0;
            float sumsum=0;
           
            //inicijalizacija minmax alg. za total
            int max1=-1;
            int max2=-1;
            int max3=-1;
            int max4=-1;
            int max5=-1;
            int maxsum=-1;
                       
            int sum;//za racunanje sume ocjena na nivou reda
             for(int i=0;i<n;i++)
           {
                   sum=0;//ponistavamo zbroj za svaki red jer bi inace racunao sumu svih redova zajedno
                   sum=sum+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda 
                   //minmax za total
                     if(nizproizvoda[i].n1>max1) max1=nizproizvoda[i].n1; //najveci broj proizvoda u prvoj kutiji
                     if(nizproizvoda[i].n2>max2) max2=nizproizvoda[i].n2;
                     if(nizproizvoda[i].n3>max3) max3=nizproizvoda[i].n3;
                     if(nizproizvoda[i].n4>max4) max4=nizproizvoda[i].n4;
                     if(sum>maxsum) maxsum=sum; //najveca suma na nivou reda
                   
                    //pribrajanje za total
                     sum1=sum1+nizproizvoda[i].n1; // zbroj proizvoda u prvoj kutiji (nivo stupca)
                     sum2=sum2+nizproizvoda[i].n2;
                     sum3=sum3+nizproizvoda[i].n3;
                     sum4=sum4+nizproizvoda[i].n4;
                 
                     sumsum=sumsum+sum;  //zbroj svih suma na nivou reda==ukupna suma
                     }//for
           //ispis totala iza tablice s podacima
cout<<setprecision(5)<<endl;//prored i ispis na tri to?ne decimale-vidi include iomanip
cout<<"Max:"<<'\t'<<'\t'<<'\t'<<max1<<'\t'<<max2<<'\t'<<max3<<'\t'<<max4<<'\t'<<maxsum<<endl;
cout<<"Avg:"<<'\t'<<'\t'<<'\t'<<sum1/n<<'\t'<<sum2/n<<'\t'<<sum3/n<<'\t'<<sum4/n<<'\t'<<maxsum/n<<endl;
           }
            void statistikaproizvoda_obrazac()
      {
           //inicijalizacija alg. za pribrajanje za total
            float sum1=0;
            float sum2=0;
            float sum3=0;
            float sum4=0;
            float sumsum=0;
           
            //inicijalizacija minmax alg. za total
            int max1=-1;
            int max2=-1;
            int max3=-1;
            int max4=-1;
            int maxsum=-1;
                       
            int sum;//za racunanje sume na nivou reda
                for(int i=0;i<n;i++)
                {
                   sum=0;//ponistavamo zbroj za svaki red jer da ne ponistavamo suma bi bila za sve redove
                   sum=sum+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda
          
                 //minmax za total
                     if(nizproizvoda[i].n1>max1) max1=nizproizvoda[i].n1; //najveci broj proizvoda u prvoj kutiji
                     if(nizproizvoda[i].n2>max2) max2=nizproizvoda[i].n2;
                     if(nizproizvoda[i].n3>max3) max3=nizproizvoda[i].n3;
                     if(nizproizvoda[i].n4>max4) max4=nizproizvoda[i].n4;
                     if(sum>maxsum) maxsum=sum; //najveca suma na nivou reda
                   
                    //pribrajanje za total
                     sum1=sum1+nizproizvoda[i].n1; // zbroj proizvoda u prvoj kutiji (nivo stupca)
                     sum2=sum2+nizproizvoda[i].n2;
                     sum3=sum3+nizproizvoda[i].n3;
                     sum4=sum4+nizproizvoda[i].n4;
                     sumsum=sumsum+sum;  //zbroj svih suma na nivou reda==ukupna suma
                     }//for
           //ispis totala iza tablice s podacima
cout<<setprecision(5)<<endl;//prored i ispis na tri to?ne decimale-vidi include iomanip
cout<<"Maximumi:"<<"\n BR1: "<<max1<<"\n BR2: "<<max2<<"\n BR3: "<<max3<<"\n BR4: "<<max4<<"\n sume: "<<maxsum<<endl;
cout<<"\n Prosjeci:"<<"\n BR1: "<<sum1/n<<"\n BR2: "<<sum2/n<<"\n BR3: "<<sum3/n<<"\n BR4: "<<sum4/n<<"\n sume: "<<maxsum/n<<endl;
           }
          
           void sortiranje()
           {
                  float sum[100];//za racunanje sume proizvoda na nivou reda
                  for(int i=0;i<n;i++){
                   sum[i]=0;//ponistavamo zbroj za svaki red
                     sum[i]=sum[i]+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda
                   }
                for(int i=0;i<n-1;i++)
                {
                for(int j=i+1;j<n;j++)
                {     
                if((sum[i]>sum[j])|| (  (sum[i]==sum[j]) && (nizproizvoda[i].n1>nizproizvoda[j].n11))  )
                {
                                 t_proizvod zazamjenu=nizproizvoda[i];
                                 nizproizvoda[i]=nizproizvoda[j];
                                 nizproizvoda[j]=zazamjenu;
                                 float tsum=sum[i];
                                 sum[i]=sum[j];
                                 sum[j]=tsum;
            }
        }
}
 }
    void filterproizvod_tablicno()
      {
            char fproizvodzac[49];
            cout<<"Zadajte proizvodzaca za filter: ";
            cin.getline(fproizvodzac,4);
           //inicijalizacija alg. za pribrajanje za total
            float sum1=0;
            float sum2=0;
            float sum3=0;
            float sum4=0;
            float sumsum=0;
           
           //inicijalizacija minmax alg. za total
            int max1=-1;
            int max2=-1;
            int max3=-1;
            int max4=-1;
            int maxsum=-1;
                       
            int sum;//za racunanje sume ocjena na nivou reda
                       //ispis zaglavlja tablice
             cout<<"#"<<'.'<<"imeproizvoda"<<'\t'<<"proizvodzac"<<'\t'<<"godina"<<'\t'<<"Box1"<<'\t'<<"Box2"<<'\t'<<"Box3"<<'\t'<<"Box4"<<'\t'<<"suma"<<endl;
           //ispis proizvoda iz nizaproizvoda
 
             for(int i=0;i<n;i++)
           {
                     if((strcmp(nizproizvoda[i].proizvodzac,fproizvodzac)==0))
 {//za filter
                   sum=0;//ponistavamo zbroj za svaki red
                    sum=sum+nizproizvoda[i].n1+nizproizvoda[i].n2+nizproizvoda[i].n3+nizproizvoda[i].n4;//suma na nivou reda
          
                    //minmax za total
                     if(nizproizvoda[i].n1>max1) max1=nizproizvoda[i].n1; //najveci broj proizvoda u privm kutijama
                     if(nizproizvoda[i].n2>max2) max2=nizproizvoda[i].n2;
                     if(nizproizvoda[i].n3>max3) max3=nizproizvoda[i].n3;
                     if(nizproizvoda[i].n4>max4) max4=nizproizvoda[i].n4;
                     if(sum>maxsum) maxsum=sum; //najveca suma na nivou reda
                   
                    //pribrajanje za total
                     sum1=sum1+nizproizvoda[i].n1; // zbroj proizvoda u prvoj kutiji (nivo stupca)
                     sum2=sum2+nizproizvoda[i].n2;
                     sum3=sum3+nizproizvoda[i].n3;
                     sum4=sum4+nizproizvoda[i].n4;
                     sumsum=sumsum+sum;  //zbroj svih suma na nivou reda==ukupna suma
                 cout<<i << ". "<<nizproizvoda[i].imeproizvoda<<'\t'<<nizproizvoda[i].proizvodzac<<'\t'<<nizproizvoda[i].godinaproizvodnje<<'\t'<<nizproizvoda[i].n1<<'\t'<<nizproizvoda[i].n2<<'\t'<<nizproizvoda[i].n3<<'\t'<<nizproizvoda[i].n4<<'\t'<<sum<<endl;
 
                    
                     }//za filter
                     }//for
           //ispis totala iza tablice s podacima
cout<<setprecision(5)<<endl;//prored i ispis na tri to?ne decimale-vidi include iomanip
cout<<"Max:"<<'\t'<<'\t'<<'\t'<<max1<<'\t'<<max2<<'\t'<<max3<<'\t'<<max4<<'\t'<<maxsum<<endl;
cout<<"Avg:"<<'\t'<<'\t'<<'\t'<<sum1/n<<'\t'<<sum2/n<<'\t'<<sum3/n<<'\t'<<sum4/n<<'\t'<<maxsum/n<<endl;
      }    
     
     
void dodajproizvod()
{
     t_proizvod zadodati;
     cout<<"Ime proizvoda:";
cin.getline(zadodati.imeproizvoda,49);//ucitavanje podataka iz tipkovnice
cout<<"Proizvodzac:";
cin.getline(zadodati.proizvodzac,49);
cout<<"Godina proizvodnje:";
cin.getline(zadodati.godinaproizvodnje,5);
cout<<"Kutija 1:";
cin>>zadodati.n1;
cout<<"Kutija 2:";
cin>>zadodati.n2;
cout<<"Kutija 3:";
cin>>zadodati.n3;
cout<<"Kutija 4:";
cin>>zadodati.n4;

nizproizvoda[n]=zadodati;//nto mjesto je zapravo n+1
n++;//dodajemo jos jedan proizvod i to na kraj
spreminizudatoteku();//azuriramo podatke na disku. oni trebaju biti uvijek podudarni
     }        
    
     void brisiproizvod()
     {prikaziproizvode_tablicno();
     int rbr=0;
     cout<<"Zadaj redni broj za brisanje: ";
     cin>>rbr;
     for(int i=0;i<n;i++)
     {if(i>rbr)
     {nizproizvoda[i-1]=nizproizvoda[i];} //na prethodno mjesto stavljamo sljedecg
            
             }//for
             n--;  // umanjimo za 1 jer smo ga izbrisali
             spreminizudatoteku();//azururamo podatke na disku. oni trebaju biti uvijek podudarni
             prikaziproizvode_tablicno();
         
          }

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
17 godina
offline
Pomoc oko seminara-c++

Kako iz toga uspijevaš išta pročitati? Predlažem da to sve lijepo formatiraš. Što se tiče greške, najbolje kopiraj cijelu datoteku u normalnu CPP datoteku, pa rješavaj red po red greške (koje ti kompajler javi).

 

Usput, ovakav "header" baš i nema puno smisla... možeš ga koristiti samo jednom (u jednoj datoteci).

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Pomoc oko seminara-c++
itf4n kaže...

Kako iz toga uspijevaš išta pročitati? Predlažem da to sve lijepo formatiraš. Što se tiče greške, najbolje kopiraj cijelu datoteku u normalnu CPP datoteku, pa rješavaj red po red greške (koje ti kompajler javi).

 

Usput, ovakav "header" baš i nema puno smisla... možeš ga koristiti samo jednom (u jednoj datoteci).

 pa ja i ovaj header trebam samo za jednokratnu upotrebu :D

Da se Facebook server sruši 90% mladih palo bi u tesku depresiju. Ako si u onih 10% koji bi im se smijali stavi ovo u sign
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice