Nie radzę sobie z funkcjami.
Ostatnio zmodyfikowano 2012-01-22 17:37
daniel.d Temat założony przez niniejszego użytkownika |
Nie radzę sobie z funkcjami. » 2012-01-20 22:41:47 Chciałbym napisać prosty kalkulator, który będzie zawierał w sobie działania takie jak dzielenie, mnożenie itd. Chcę wywołać funkcje w switch...case czyli, że użytkownik wpisuje numer działania po czym program uruchamia np. funkcję dzielenie (jeśli takową wybrał user). Na razie mam taki kawałek kodu, ale to nie działa: #include <iostream>
using namespace std;
int dzielenie( int ile ); { cout << "Podaj a: " << endl; cin >> a; cout << "Podaj b: " << endl; cin >> b; cout << "Wynik to: " << a / b << endl; }
int main() { int wybor; cout << "Wybierz dzialanie: "; cin >> wybor; cout << "[1] Dzielenie"; switch( wybor ) { case 1: int dzielenie() break; } } Z góry dzięki za odpowiedzi i chcę podkreślić, że w C++ jestem początkujący i dopiero się uczę. |
|
Savail |
» 2012-01-20 22:45:02 przed wywolaniem funkcji dzielenie nie nalezy wstawiac jej typu tylko po prostu dzielenie(); , aha i stworzyles funkcje dzielenie, ktora ma zwracac wartosc typu int ale twoja funkcja nic nie zwraca. Zmien typ funkcji z int na void |
|
CodeMeister |
» 2012-01-20 22:55:04 Poza tym funkcja przyjmuje argument int a gdy ja wywolujesz nic nie podajesz |
|
daniel.d Temat założony przez niniejszego użytkownika |
» 2012-01-21 00:07:29
#include <iostream>
using namespace std;
void dzielenie(); { cout << "Podaj a: " << endl; cin >> a; cout << "Podaj b: " << endl; cin >> b; cout << "Wynik to: " << a/b << endl; }
int main() { int wybor; cout << "Wybierz dzialanie: "; cin >> wybor; cout<< "[1] Dzielenie";
switch(wybor) { case 1: void dzielenie() break; } }
Zmieniłem na to i wywaliło takie błędy: Line: 6 error: expected unqualified-id before '{' token In function 'int main()': Line: 25 error: expected initializer before 'break'
|
|
jsc |
» 2012-01-21 00:24:51 W 6 linijce skasuj ; i zamiast i w linijce 25 void dzielenie() zrób dzielenie (); |
|
MJJay |
» 2012-01-21 00:26:22 Pisane na szybko, nie sprawdzałem poprawności: #include <iostream> using namespace std;
void mnozenie();
int main() { int dzialanie; cout << "Wybierz dzialanie [1]: "; cin >> dzialanie; switch( dzialanie ) { case 1: mnozenie(); break; default: cout << "zla wartosc!" << endl; } }
void mnozenie() { cout << "Podaj liczbe a: "; int a; cin >> a; cout << "Podaj liczbe b: "; int b; cin >> b; cout << "Iloczyn to: " << a * b << endl; }
|
|
jsc |
» 2012-01-21 00:29:47 Powinno działać, jeśli tak jest to po prostu zamknij temat. |
|
daniel.d Temat założony przez niniejszego użytkownika |
» 2012-01-21 12:44:26 Działa, ale mam jeszcze jedną sprawę. Napisałem oto kod ze średnią: #include <iostream> using namespace std;
void mnozenie(); // deklaracja funkcji void srednia();
int main() { int dzialanie; cout << "Wybierz dzialanie [2]: "; cin >> dzialanie;
switch( dzialanie ) { case 1: mnozenie(); //wywolujemy funkcje kompilator w czasie wywolania //musi miec deklaracje break;
case 2: srednia(); break;
default: cout << "zla wartosc!" << endl; } } //definicja tutaj celem zwiekrzenia czytelnosci programu powinno byc w osobnym pliku void mnozenie() { cout << "Podaj liczbe a: "; int a; cin >> a; cout << "Podaj liczbe b: "; int b; cin >> b; cout << "Iloczyn to: " << a * b << endl; }
void dzielenie() { cout << "Podaj liczbe a: "; int a; cin >> a; cout << "Podaj liczbe b: "; int b; cin >> b; cout << "Iloraz to: " << a / b << endl; }
void dodawanie() { cout << "Podaj liczbe a: "; int a; cin >> a; cout << "Podaj liczbe b: "; int b; cin >> b; cout << "Suma to: " << a + b << endl; }
void odejmowanie() { cout << "Podaj liczbe a: "; int a; cin >> a; cout << "Podaj liczbe b: "; int b; cin >> b; cout << "Iloraz to: " << a - b << endl; }
void srednia() { cout << "Podaj ilosc liczb: "; int ilosc; cin >> ilosc; int tablica[ilosc]; int licznik = 0; do { cout << "Podaj liczbe: "; std::cin >> tablica[ilosc]; licznik++; } while (licznik < ilosc); cout <<"Wynik dzielenia to: " << }
Ale w tym miejscu nie wiem co dalej. Chcę aby program wczytywał te liczby z tablicy, dodał je wszystkie a potem podzielił przez ich ilość (chyba każdy wie jak się liczy średnią) no i nie wiem jak to zrobić. Btw: Jak przenieść funkcję do osobnego pliku i użyć go w głównym programie? |
|
« 1 » 2 |