Problem z programem obliczającym pole i objętość - void i float

0

Dzień dobry,

Próbuję stworzyć program obliczający objętość i pole prostopadłościanu. Chodzi o to, żeby w dwóch przypadkach użyć funkcji void, oraz dwa razy zmiennych float. Pierwszy problem polega na tym, że przy uruchomieniu debugera podając zmienne a, b oraz h jako wynik pojawia się: 00007FF61EF21451.

Druga pytanie jest następujące: co należy napisać korzystając z float prostopadloscian2(float, float, float); oraz float prostopadloscian3();?

Obecnie program wygląda następująco:

// ConsoleApplication8.cpp : main project file.

#include "stdafx.h"
#include<iostream>

using namespace std;

void prostopadloscian(float, float, float);
void prostopadloscian1();
float prostopadloscian2(float, float, float);
float prostopadloscian3();

int main()
{
	float a, b, h;

	cout << "podaj a" << endl;
	cin >> a;
	cout << "podaj b" << endl;
	cin >> b;
	cout << "podaj h" << endl;
	cin >> h;

	cout << "objetosc prostopadloscianu wynosi: " << prostopadloscian;

	system("PAUSE");
}

void prostopadloscian(float a, float b, float h)
{
	float obj = a * b * h;
	obj = a * b * h;
	cout << "objetosc wynosi" << obj;
}

void prostopadloscian1()

{
	float obj;
	float a = 6;
	float b = 6;
	float c = 6;
	obj = a * b * c;
	cout << "objetosc prostopadloscianu wynosi: " << obj << endl;
}
5

Problem twki tu: cout << "objetosc prostopadloscianu wynosi: " << prostopadloscian;

prosopadloscian to jest nazwa funkcji, a nie jej rezultat. Poza tym, Twoje funkcje zwracają void, czyli nic… co jest, delikatnie mówiąc, dziwnym podejściem.

5
#include "stdafx.h"
#include <iostream>
using namespace std;

double prostopadloscian(double a,double b,double h) { return a*b*h; }

int main()
{
	double a,b,h;

	cout<<"podaj a: "; cin>>a;
	cout<<"podaj b: "; cin>>b;
	cout<<"podaj h: "; cin>>h;
	cout<<"objetosc prostopadloscianu wynosi: "<<prostopadloscian(a,b,h)<<endl;
	//system("PAUSE"); // zmień IDE na jakieś z tego tysiąclecia to nie będziesz tego potrzebować
	return 0;
}

Aczkolwiek wole krótsze zapisy:

#include <iostream>
using namespace std;

double prostopadloscian(double a,double b,double h) { return a*b*h; }
double inpd(const char msg[]) { cout<<msg<<": "; double v; cin>>v; return v; }

int main()
{
	double V=prostopadloscian(inpd("podaj a"),inpd("podaj b"),inpd("podaj h"));
	cout<<"objetosc prostopadloscianu wynosi: "<<V<<endl;
	return 0;
}
2
#include <iostream>

using namespace std;

int main()
{
	for(double i=0x00,s=0x61,x=0x00,v=0x01;((int)i++<0x03)&&(cout<<"\rPodaj"<<(char)0x20<<(char)(s)<<(char)0x20)&&(cin>>x)&&(v*=x)&&(++s);i<3?(cout<<(char)0x20):(cout<<"objetosc prostopadloscianu wynosi "<<v<<(char)0x0A)){}

	return 0;
}

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