Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Struktura jako argument funkcji

Ostatnio zmodyfikowano 2014-12-01 22:27
Autor Wiadomość
omgwtflol
Temat założony przez niniejszego użytkownika
[C++] Struktura jako argument funkcji
» 2014-12-01 17:30:14
Mam takie zadanie:

Zdefiniuj strukturę trójkąt przechowującą długości boków trójkąta.
- Napisz funkcję, która otrzymuje jako argument zmienną typu struct trójkąt, i
zwraca jako wartość obwód trójkąta przekazanego w argumencie.
- Napisz funkcję, która otrzymuję jago argument wskaźnik typu struct trójkąt i
zwraca jako wartość pole trójkąta.

Wiem jak napisać strukturę i funkcję, jednak nie mam pojęcia jak wysłać strukturę jako argument do funkcji. Byłbym wdzięczny za jakiś prosty przykład.
P-121844
kubawal
» 2014-12-01 17:33:46
float poleTrojkata( trojkat tr )
albo lepiej
float poleTrojkata( const trojkat & tr )
???

To nie C, tutaj struktury można przekazywać argumentami :D

PS Se tak myśle, jak by wyglądał C++ bez przekazywania klas i struktur ()_()
P-121845
omgwtflol
Temat założony przez niniejszego użytkownika
» 2014-12-01 17:55:07
mam coś takiego, jednak nie wiem jak napisać deklarację i wywołanie funkcji

C/C++
#include <iostream>
#include <cstdlib>
#include <math.h>
using namespace std;

struct trojkat
{
    int a, b, c;
};

float pole() //tutaj przydalaby mi sie deklaracja

int main()
{
    float a, b, c;
   
    cin >> a >> b >> c;
   
    trojkat tr = { a, b, c };
    pole(); //nie wiem jak wywolac funkcje
   
    system( "pause" );
    return 0;
}

float pole( trojkat tr )
{
    float pole = tr.a * tr.b * tr.c; //zly wzor ale to tylko na probe
    cout << pole;
};
P-121849
kubawal
» 2014-12-01 18:14:39
WTF? Chyba czytałeś ksiażkę o C bo masz wybitnie C like styl (nasz kochany polski język nie ma takiej konstrukcji jak "C'owy" :D )

Umieść definicję funkcji pole() przed main().
P-121852
Tomek_z_W11
» 2014-12-01 22:27:45
Albo to co napisał kolega wyżej, albo, jeżeli koniecznie chcesz deklaracji, to:

C/C++
float pole( trojkat ); //to jest deklaracja

Dodam, że jeśli się nie mylę, to ta deklaracja musi być pod strukturą trojkat.
P-121895
« 1 »
  Strona 1 z 1