witam;-) Zostałem parę razy wykasowany na innym forum, ale mam nadzieję,że na tym nie zostanę. Postaram się w miarę sensownie przedstawić mój problem. Od razu piszę, że nie jestem spamerem. Po prostu chce studiować programowanie i będę miał z pewnością wiele pytań.
Moje pierwsze pytanie dotyczy tego, co zostało w tym serwisie omówione. Chodzi o wynik zwracany przez funkcję i jej argumenty. Przeczytałem opis autora tego serwisu, ale mimo wszystko nadal paru rzeczy nie rozumiem.
Pracuję w systemie win 7, dev c++ ver. 5
Mam np program liczący pole prostokąta. W ciele funkcji mam trzy zmienne a,b,pole typu float. Oto kod programu:
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <stdio.h>
float oblicz(void); /
using namespace std;
int main() //dlaczego przed nazwa funkcji main() jest typ int, skoro w ciele funkcji oblicz() zmienna pole jest typu float??
{
oblicz();
system("pause"); // dlaczego nie działa mi getchar()?
return 0;
}
float oblicz(void) //co znaczy "float"? co znaczy "void"? i jak się one mają do typu float zmiennych, które się znajdują w ciele tej funkcji
{
float a,b,pole;
cout << "Ten program oblicza pole prostokata;-))" << endl;
cout << "a= " ;
cin >> a;
cout << "b= " ;
cin >> b ;
pole =a*b;
cout << fixed;
cout <<setprecision(10);
cout << "Pole tego prostokata wynosi: " << pole << endl;
}
Ten program już właściwie działa, ale właściwie działa fartem. Ciało funkcji rozumiem bez problemu. Nie rozumiem jednak jak się ma deklarowany typ funkcji do zmiennych,które się znajdują w jej ciele oraz dlaczego ten program zadziałał dopiero wtedy, gdy napisałem "oblicz(void)" <-chodzi o to void właśnie. Gdy pisałem zamiast void np float, to wyskakiwały błędy.
Będę wdzięczny za pomoc.Finito