Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc oko modularizacije programa

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc oko modularizacije programa

[ Pregleda: 2642 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon pomoc oko modularizacije programa08.11.2009. u 12:59 - pre 175 meseci
Hitno mi je potrebna pomoc. Radim jedan program koji kada razdvojim ne radi, tj. kada kompajliram u main dijelu ne pronalazi .h dio i ne prevodi program.

projekat.cpp
#include<iostream>
#include <stdlib.h>
#include <pravougaonik.h>
using namespace std;


main(){
Pravougaonik P;
....


pravougaonik.cpp
#include<iostream>
#include <pravougaonik.h>
using namespace std;

funkcije
...

pravougaonik.h
#ifndef PRAVOUGAONIK_H
#define PRAVOUGAONIK_H

class Pravougaonik{
....


kada pokusam kompajlirati javlja:
pravougaonik.h: No such file or directory.
`Pravougaonik' undeclared (first use this function)
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 13:35 - pre 175 meseci
Da li je projekat.cpp u istom folderu u kome je i pravougaonik.h? Da li je pravougaonik.cpp u istom folderu u kome je i pravougaonik.h? Šta se desi ako ukineš #ifndef i #define u pravougaonik.h? Da li se pravougaonik.h zaista zove tako (možda imaš štamparsku grešku)?
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 14:04 - pre 175 meseci
Svi file-ovi su istom folderu. Provjerio sam nazive i dobro su napisani. Kada obrisem #ifndef i #define nista se ne mijenja.
Kada su svi dijelovi u istom file-u program radi bez problema.
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 14:21 - pre 175 meseci
Sada sam napisao #include "pravougaonik.h" i vise ne javlja problem od ranije.
Sada za svaku f-ju koju pozivam iz #include "pravougaonik.cpp" u glavnom programu javlja
[Linker error] undefined reference to `Pravougaonik::setDuzina()'
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 15:29 - pre 175 meseci
Pa nedostaje funkcija...

Code:

pravougaoink.cpp
----------------
void Pravougaonik::setDuzina()
{
  ...
}
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 17:42 - pre 175 meseci
Sve funkcije sam napisao i one se nalaze u tom file-u. Problem je sto kompajler nikako ne povezuje sve file-ove. Ista poruka se javlja za sve f-je a ja sam kopirao samo za jednu.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 17:58 - pre 175 meseci
Postavi ovde sadržaj fajla pravougaonik.cpp.
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 18:40 - pre 175 meseci
pravougaonik.cpp
#include<iostream>
#include "pravougaonik.h"
using namespace std;

void Pravougaonik::setDuzina(){
float d;
do{
cout<<"Unesi duzinu: ";
cin>>d;
}
while(d<0);
duzina=(d<=20)?d:20;
}


void Pravougaonik::setSirina(){
float s;
do{
cout<<"Unesi sirinu: ";
cin>>s;
}
while(s<0);
sirina=(s<=20)?s:20;
}


float Pravougaonik::getDuzina(){
return duzina;
}

float Pravougaonik::getSirina(){
return sirina;
}
______________________________________
projekat.cpp
#include<iostream>
#include <stdlib.h>
#include "pravougaonik.h"
using namespace std;


main(){
Pravougaonik P;
P.setDuzina();
P.setSirina();
cout<<"a= "<<P.getSirina()<<endl;
cout<<"b= "<<P.getDuzina()<<endl;

system("Pause");
}
____________________________________
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 20:02 - pre 175 meseci
Daj i sadržaj fajla pravougaonik.h. Možda si stavio klasu u namespace. U stvari, attachuj ovde čitav projekat u paketu.
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 20:30 - pre 175 meseci
pravougaonik.h
#ifndef PRAVOUGAONIK_H
#define PRAVOUGAONIK_H

class Pravougaonik{
public:
Pravougaonik(){duzina=0.0;sirina=0.0;}
void obim();
void povrsina();
void setDuzina();
void setSirina();
float getDuzina();
float getSirina();
private:
float duzina,sirina;
};
#endif

[Ovu poruku je menjao ID411 dana 08.11.2009. u 23:18 GMT+1]
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 21:50 - pre 175 meseci
U kom C++ okruženju ti ovo praviš? Nedostaje neki fajl. Recimo u Microsoft Visual C++, morao bi da imaš i jedan .sln i jedan .vcproj fajl. Ja sam napravio prazan projekat u VC++ i ubacio ova tri fajla, i lepo se napravilo. Morao sam doduše da dodam int kod main, jer main funkcija mora da vraća int, ali posle se lepo izbildovalo, i izvršilo.
 
Odgovor na temu

ID411

Član broj: 233558
Poruke: 20
*.broadband.blic.net.



Profil

icon Re: pomoc oko modularizacije programa08.11.2009. u 22:17 - pre 175 meseci
Radio sam u dev-c++. Sad sam ponovo pokusao da uradim, i uspjelo je. Nisam stavio file-ove u projekat. Hvala na pomoci
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.dynamic.sbb.rs.



+9 Profil

icon Re: pomoc oko modularizacije programa13.11.2009. u 16:13 - pre 175 meseci
Nije toliko bitno, ali:

Code:

#include <iostream>  // ispravno, neispravno bi po Standardu bilo iostream.h
#include <stdlib.h>   // neispravno! odgovarajući C++ header je <cstdlib>


Code:

int main() // povratna vrednost je tipa int
{
  // ...
  return(0);
}
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc oko modularizacije programa

[ Pregleda: 2642 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.