• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ funkcje problem z returnem.

VPS Starter Arubacloud
0 głosów
278 wizyt
pytanie zadane 2 kwietnia 2020 w C i C++ przez Quba Użytkownik (870 p.)

Sprawa wygląda tak, że napisałem osobną własną bibliotekę matma.hpp i utworzyłem też plik źródłowy mający za zadanie obliczać różne operacje matematyczne korzystając właśnie z funkcji tej biblioteki.

Problem tkwi w tym, że zawsze jak korzystam z funkcji z bliblioteki matma.hpp z returnami na końcu to nie działają po prostu nic się nie wyświetla po podaniu danych, natomiat te bez returna czyli 5 i 6 funkcja działają poprawnie.

W tej funkcji szóstej umieściłem po coutach return c ale też się nie wyświetla.

Biblioteka:

#include <iostream>
#ifndef matma_hpp
#define matma_hpp
using namespace std;

double suma(double a, double b)
{
	return (a+b)*(a+b);
}

//------------------------------------------------------------

double roz_2(double a, double b)
{
	return a*a-b*b;
}

//------------------------------------------------------------

double obw_p(double a, double b)
{
	return 2*a+2*b;
}

//------------------------------------------------------------

double rzdz(int a, int b)
{
	return a%b;
}

//------------------------------------------------------------

double parz(int a,int b)
{
	int x=0, y=0;
	
	if(a%2==0&&b%2==0)
    {
	cout<<"Obie liczby sa parzyste.";
    }
	else if(b%2!=0&&a%2!=0)
    {
		cout<<"Obie liczby sa nieparzyste.";
	}
	else if(a%2!=0)
	{
		cout<<"Liczba "<<a<<" jest nieparzysta.";
	}
	else if(b%2!=0)
	{
		cout<<"Liczba "<<b<<" jest nieparzysta.";
	}
}

//------------------------------------------------------------

double ulamek(int a,int b)
{
    double c=double(a/b);
    
	if(a%b==0)
	{
        cout<<"Jest to ulamek rowny: ";
		return c;   	
	}
	else if(a<b)
	{
        cout<<"Jest to ulamek wlasciwy: ";
		return c;   	
	} 
	else if(a>b)
	{
        cout<<"Jest to ulamek niewlasciwy: ";
		return c;   	
	}  
}

#endif

A tutaj plik źródłowy:

#include <iostream>
#include "matma.hpp"
using namespace std;

int main()
{
    int b=0;
	double a, a1;
	
	cout<<"------------Witaj co chcesz obliczyc?------------";
	cout<<endl<<endl;	
	cout<<"Wpisz odpowiedni numerek operacji matematycznej, ktora cie interesuje";
	cout<<endl<<endl;
	cout<<"[Kwadrat sumy]     [Roznica kwadratow]     [Obwod prostokata]"<<endl;	
	cout<<"[Reszta z dzielenia]   [Parzystosc]   [Okreslenie ulamka]"<<endl<<endl;
	cout<<"                       Dostepne 1-6"<<endl<<endl;
    cout<<"                            ";cin>>b;
    
	cout<<endl;
	system("cls");
	cout<<"Wpisz liczby a i b: "<<endl;
	cin>>a>>a1;
	if(b=1)
	{
    suma(a,a1);
    }
	else if(b=2)
    {
	roz_2(a,a1);
    }
	else if(b=3)
    {
	obw_p(a,a1);
    }
	else if(b=4)
    {
	rzdz(a,a1);
    } 
	else if(b=5)
    {
	system("cls");
	cout<<"Podaj liczby a i b"<<endl;
	cin>>a>>a1;
	parz(a,a1);
    }
	else if(b=6)
    {
	system("cls");
	cout<<"Podaj liczby a i b"<<endl;
	cin>>a>>a1;
	ulamek(a,a1); 
    }
}

 

2 odpowiedzi

+1 głos
odpowiedź 2 kwietnia 2020 przez tkz Nałogowiec (42,000 p.)
wybrane 2 kwietnia 2020 przez Quba
 
Najlepsza
Funkcja ZWRACA, nie ma obsługuje funkcji wyświetlania, musisz użyć obiektu cout, albo czegoś analogicznego.

cout<<suma(1,4);
komentarz 2 kwietnia 2020 przez Quba Użytkownik (870 p.)

Dziękuje za odpowiedź smiley

0 głosów
odpowiedź 2 kwietnia 2020 przez DragonCoder Nałogowiec (36,500 p.)
double ulamek(int a,int b)
{
    double c=double(a/b);
     
    if(a%b==0)
    {
        cout<<"Jest to ulamek rowny: ";   
    }
    else if(a<b)
    {
        cout<<"Jest to ulamek wlasciwy: ";    
    } 
    else if(a>b)
    {
        cout<<"Jest to ulamek niewlasciwy: ";
    }  
   return c;
}
 
double parz(int a,int b)
{
    int x=0, y=0;
     
    if(a%2==0&&b%2==0)
    {
    cout<<"Obie liczby sa parzyste.";
    }
    else if(b%2!=0&&a%2!=0)
    {
        cout<<"Obie liczby sa nieparzyste.";
    }
    else if(a%2!=0)
    {
        cout<<"Liczba "<<a<<" jest nieparzysta.";
    }
    else if(b%2!=0)
    {
        cout<<"Liczba "<<b<<" jest nieparzysta.";
    }
}
 

skoro jest double, to powinno cos zwrocic,, a jak nie  to zmien to na void

double suma(double a, double b)
{
    return (a+b)*(a+b);
}

4 do pot 2 to 16

3 to pot 2 to 9, lacznei daje nam to 25. teraz 4+3 = 7, chyba nie musze dokanczac dalej

 

Czemu nei stworzyles matma.cpp, nie zainnkludowales matma .hpp i tam nei zrobiles definicji tych funkcji?

Dodaj cout w main albo w funckjach

komentarz 2 kwietnia 2020 przez Quba Użytkownik (870 p.)

Ok bardzo dziękuje za odpowiedź smiley

Podobne pytania

0 głosów
1 odpowiedź 772 wizyt
pytanie zadane 26 marca 2016 w C i C++ przez TheFeniks Gaduła (4,710 p.)
0 głosów
1 odpowiedź 377 wizyt
pytanie zadane 8 grudnia 2019 w C i C++ przez czowiek Początkujący (390 p.)
0 głosów
1 odpowiedź 1,978 wizyt
pytanie zadane 11 kwietnia 2018 w C i C++ przez antek782 Początkujący (490 p.)

92,452 zapytań

141,262 odpowiedzi

319,074 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...