obliczanie pola prostokąta

0

Co tutaj jest źle należało obliczyć pole prostokąta wyskakuje błąd expected primary-expression before float

#include <iostream>
using namespace std;
float pole_prostokata(float a, float b, float wynik);
float a, b, wynik;
int main()
{
    cout << "podaj pierwszy bok";
    cin >> a;
    cout << "podaj drugi bok";
    cin >> b;
    cout << "wynik mnozenia" << pole_prostokata(float a, float b, float wynik) << endl;
}
float pole_prostokata(float a, float b, float wynik)
{
    wynik = a * b;
    return wynik;
}

2

Wywołując funkcje nie podajesz typów ich argumentów

0

czyli jak to powinno wyglądać?

3

Deklaracja funkcji:
double sinus(double x) - funkcja zwraca double i przyjmuje 1 argument typu double
Wywołanie funkcji:
sinus(0.5) - nie podajesz typu argumentu

Dodatkowo:

  • dlaczego wynik jest parametrem funkcji?
  • dlaczego używasz float zamiast double?
  • dlaczego wypisujesz "wynik mnożenia", gdy operacją logiczną, którą wykonujesz jest obliczanie pola prostokąta?
0

nie rozumiem możesz poprawić mój kod może wtedy będzie mi lepiej to pojąć?

2

Jak pisał @kq: wywal ten parametr wynik i wołaj funkcję od liczb, a, b, bez podawania typów; Masz pod ręką jakikolwiek podręcznik?

1

Zamiast pole_prostokata(float a, float b, float wynik) chcesz mieć pole_protokota(a, b, wynik). A potem przeczytaj jeszcze raz wszystkie uwagi tutaj i się do nich zastosuj, bo to w miarę poważne problemy są.

0

Już działa :)

1
Nikto0 napisał(a):

Argument 'wynik' jest zbędny. Widzę czasem tą manierę u początkujących, ale to zła maniera. To się pisze tak:

float pole_prostokata(float a, float b)
{
    float wynik;
 
     wynik = a * b;
     return wynik;
 }

2

Zmienna 'wynik' jest zbędna. Widzę czasem tą manierę nie tylko u początkujących, ale to zła maniera. To się pisze tak:

float pole_prostokata(float a, float b) { return a * b; }

1 użytkowników online, w tym zalogowanych: 0, gości: 1