Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 5.795 pregleda

Najnovija ↓

Modularno programiranje 06.01.2009. u 16:39 · pre 216 meseci #1
Pozdrav svima!
Hteo bih da napravim nesto ovako:
1.main.c fajl u kome je naravno glavni program
2.funkcije.c u kome ce se nalaziti funkcije koje cu da pozivam iz glavnog programa
3.funkcije.h fajl koji treba samo da sadrzi metode iz funkcije.c fajla.

U projektu treba da bude samo main.c a u okviru njega treba da postoji
#include “funkcije.h”
Kako to da sve povezem?
Bilo bi dobro da taj fajl funkcije.h mogu da koristim i iz nekog drugog projekta da bude dostupna kao recimo <stdio.h>

To je modularno programiranje valjda, ja sam za to samo cuo nesto povrsno pa kad sam napravio projekat izgledalo je ovako:

Code:

/*main.c*/
#include <stdio.h>
#include "funkcije.h"

int main()
{
    int x;
    printf("Unesi broj");
    scanf("%d",&x);
    printf("Kvadrat broja %d je %d",x,kvadrat(x));
    return 0;
}




Code:

/*funkcije.h*/
#include <funkcije.c>



Code:

/*funkcije.c*/
int kvadrat(int x)
{
    return x*x;
}


E sad razumem ja da ovo nema veze s mozgom al jedino ovako radi.

U funkcije.h treba nesto #ifndef il tako nesto a nemam pojma kako se to koristi, i treba prototip funkcija koje su u funkcije.c.

Zanemarite debilnu funkciju kvadrat i nazive datoteka, napravljene su da bi ja nekako lakse skontao sve ovo.

Dakle treba mi pomoc kako se ovo radi zaista?
Svaka pomoc dobrodosla...
Re: Modularno programiranje 09.01.2009. u 19:30 · pre 216 meseci #3
Skoro da si dobro uradio ...
<> u include se koristi kad su .h fajlovi u default include folderima.
Kad su .h fajlovi u istom folderu sa source fajlovima koristi se "".
Snimi ove fajlove ispod u isti folder i kompajluj & linkuj main.c i funkcije.c
poz
Code:

/*main.c*/
#include <stdio.h>
#include "funkcije.h" // ukljucujemo funkcije.h fajl da bi kompajler procitao deklaraciju funkcije kvadrat i znao sta je

int main()
{
    int x;
    printf("Unesi broj ");
    scanf("%d",&x);
    printf("Kvadrat broja %d je %d",x,kvadrat(x));
    return 0;
}

Code:

/*funkcije.h*/
int kvadrat(int); // deklaracija funkcije kvadrat

Code:

/*funkcije.c*/
#include "funkcije.h"

int kvadrat(int x) // definicija funkcije kvadrat
{
    return x * x;
}
Potpis
HomePage http://www.eurora3d.com
Re: Modularno programiranje 16.04.2009. u 17:12 · pre 213 meseci #4
Izvinjavam se sto me nije bilo dugo na forumu i sto tek sad odgovaram na temu!

Kad odradim sve kao u prethodnom postu, kompajler mi prijavi sledece:

obj\Debug\main.o In function `main':
C:\Program Files\CodeBlocks\Projekti\H fajl\main.c undefined reference to `_kvadrat'
=== Build finished: 1 errors, 0 warnings ===

Code::Blocks...
Re: Modularno programiranje 16.04.2009. u 20:53 · pre 213 meseci #5
Postoji neki fazon kod Code::Blocks-a /pricam napamet/

Code::Blocks > Project > Add Files > [Izabrati modul: funkcije.cpp] > pa tu negde cekirati Debug i/ili Release (najbolje cekiraj oba)

(ovo isto bi trebalo da je moglo i za vreme pravljenja modula iz okruzenja, a ne ovako naknadno)


Probaj, mozda uspe.
Re: Modularno programiranje 29.06.2009. u 03:30 · pre 211 meseci #6
A sto od tih funkcija ne kreiras funkcije.lib - pa onda koristis staticku biblioteku gde god ti je to potrebno? Barem sam ja tako radio kad mi je za ispit trebalo da imam sve funkcije za jednostruko i dvostruko ulancane liste .... Doduse ne mozes da menjas kod tih funkcija bez source-a al ti pravis paket koji ces koristiti ko zna koliko puta, i treba ti takav kakav jeste zar ne?
Potpis
Bad programmers worry about the code. Good programmers worry about data
structures and their relationships.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme