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

Przekazywanie wartości funkcji main - wywołanie funkcji

Ostatnio zmodyfikowano 2016-01-09 23:27
Autor Wiadomość
yodaa
Temat założony przez niniejszego użytkownika
Przekazywanie wartości funkcji main - wywołanie funkcji
» 2016-01-09 20:17:29
Hej :)

mam problem z wywołaniem funkcji w funkcji main a dokładnie w switchu. Nie wiem co powinienem napisać w nawiasach. Proszę też o nakierowanie czy używam jakiś złych praktyk programistycznych - jeśli jesteście w stanie to wywnioskować po tym kodzie:

C/C++
#include <iostream>
#include <math.h>

using namespace std;
int dzielenie( int &, int & );
int pierwiastkowanie( int & x );
int potegowanie( int & x, int & y );

int main()
{
    int zmienna = 0;
    cout << "Witaj w programie kalkulator" << endl;
    cout << "Wybierz dzialanie:" << endl;
    cin >> zmienna;
    switch( zmienna )
    {
    case 1:
        cout << "wybrales dzielenie" << endl;
        dzielenie( x, y );
        break;
       
    case 2:
        cout << "Wybrales pierwiastkowanie" << endl;
        pierwiastkowanie();
        break;
    case 3:
        cout << "Wybrales potegowanie" << endl;
        potegowanie();
        break;
       
        default:
        cout << "Zly wybor. Wybierz ponownie: ";
        break;
    }
}
int dostepneFunkcje()
{
    cout << "1. Dzielenie" << endl;
    cout << "2. Pierwiastkowanie" << endl;
    cout << "3. Potegowanie" << endl;
}
int dzielenie( int & x, int & y )
{
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    cout << "Podaj druga liczbe: ";
    cin >> y;
    int wynik = x / y;
    return wynik;
}
int pierwiastkowanie( int & x )
{
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    int wynik = sqrt( x );
}
int potegowanie( int & x, int & y )
{
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    cout << "Podaj druga liczbe: ";
    cin >> y;
    int wynik = pow( x, y );
}
P-143209
mateczek
» 2016-01-09 20:27:32
jak piszesz procedury to tak!!!
C/C++
#include <iostream>
#include <math.h>

using namespace std;
void dzielenie();
void pierwiastkowanie();
void potegowanie();

int main()
{
    int zmienna = 0;
    cout << "Witaj w programie kalkulator" << endl;
    cout << "Wybierz dzialanie:" << endl;
    cin >> zmienna;
    switch( zmienna )
    {
    case 1:
        cout << "wybrales dzielenie" << endl;
        dzielenie();
        break;
       
    case 2:
        cout << "Wybrales pierwiastkowanie" << endl;
        pierwiastkowanie();
        break;
    case 3:
        cout << "Wybrales potegowanie" << endl;
        potegowanie();
        break;
       
        default:
        cout << "Zly wybor. Wybierz ponownie: ";
        break;
    }
}
void dostepneFunkcje()
{
    cout << "1. Dzielenie" << endl;
    cout << "2. Pierwiastkowanie" << endl;
    cout << "3. Potegowanie" << endl;
}
void dzielenie()
{
    double x, y;
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    cout << "Podaj druga liczbe: ";
    cin >> y;
    double wynik = x / y;
    cout << wynik << endl;
}
void pierwiastkowanie()
{
    double x, y;
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    cout << sqrt( x ) << endl;
}
void potegowanie()
{
    double x, y;
    cout << "Podaj pierwsza liczbe: ";
    cin >> x;
    cout << "Podaj druga liczbe: ";
    cin >> y;
    cout << pow( x, y ) << endl;
}
P-143210
yodaa
Temat założony przez niniejszego użytkownika
» 2016-01-09 20:36:59
@mateczek Dzięki. A jeśli chciałbym wszystkie wpisania do zmiennych x i y umieścić w funkcji main to co powinienem zastosować?


edit:

A nie lepiej by było zmienne x i y umieścić w funkcji main właśnie?
P-143213
carlosmay
» 2016-01-09 22:47:30
A nie lepiej by było zmienne x i y umieścić w funkcji main właśnie?
Jeżeli nic więcej nie robisz z tymi zmiennymi to nie ma znaczenia.
Jeżeli będziesz używać gdzieś dalej tych zmiennych i wyniku zwracanego z funkcji to lepiej jest je zadeklarować,
aby łatwo było nimi operować.
P-143231
yodaa
Temat założony przez niniejszego użytkownika
» 2016-01-09 23:08:11
Zadeklarować w main i jak się potem do nich odnieść w funkcjach? Z tym mam właśnie problem, nie wiem gdzie szukać rozwiązania.
P-143235
carlosmay
» 2016-01-09 23:27:46
funkcje podstawy
C/C++
// funkcja
int dodaj( int a, int b ) {
    return a + b;
}

// main

int main()
{
    int n, m, wynik;
    std::cin >> n >> m;
    wynik = dodaj( n, m );
    std::cout << wynik << std::endl;
    std::cout << dodaj( n, m ) << std::endl;
    std::cout << dodaj( 12, 26 ) << std::endl;
}
P-143241
« 1 »
  Strona 1 z 1