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

Powtarzanie się treści

Ostatnio zmodyfikowano 2017-03-02 15:31
Autor Wiadomość
kd224
Temat założony przez niniejszego użytkownika
Powtarzanie się treści
» 2017-03-01 18:53:59
Jak zrobić tak aby menu powtarzało się kiedy już mi jakieś działanie obliczyło w case 1 napisałem o co mi chodzi. Za pomocą funkcji.

C/C++
#include <iostream>
#include <windows.h> //sleep
#include <cstdlib> //"cls"

using namespace std;

int liczba_DA, liczba_DB, liczba_OA, liczba_OB; //dodawanie/odejmowanie
int liczba_MA, liczba_MB, liczba_DZA, liczba_DZB; //mnozenie/dzielenie

float dodawanie( float A );
float odejmowanie( float B );
float mnozenie( float C );
float dzielenie( float D );


int main()
{
    int kalk;
    cout << "[1]- Dodawanie" << endl; //to jest menu
    cout << "[2]- Odejmowanie" << endl;
    cout << "[3]- Mnozenie" << endl;
    cout << "[4]- Dzielenie" << endl;
    cout << "[5]- Wyjscie" << endl;
    cout << "Wybierz opcje: ";
    cin >> kalk;
   
    switch( kalk )
    {
    case 1:
        cout << "Wybierz 1 liczbe: ";
        cin >> liczba_DA;
        cout << "Wybierz 2 liczbe: ";
        cin >> liczba_DB;
        cout << dodawanie(( liczba_DA, liczba_DB ) );
        //cout czy chcesz powtorzyc:                             <---------------
        //cout 1. tak 2. nie
        break;
       
    case 2:
        cout << "Wybierz 1 liczbe: ";
        cin >> liczba_OA;
        cout << "Wybierz 2 liczbe: ";
        cin >> liczba_OB;
        cout << odejmowanie(( liczba_OA, liczba_OB ) );
        break;
       
    case 3:
        cout << "Wybierz 1 liczbe: ";
        cin >> liczba_MA;
        cout << "Wybierz 2 liczbe: ";
        cin >> liczba_MB;
        cout << mnozenie(( liczba_MA, liczba_MB ) );
        break;
       
    case 4:
        cout << "Wybierz 1 liczbe: ";
        cin >> liczba_DZA;
        cout << "Wybierz 2 liczbe: ";
        cin >> liczba_DZB;
        cout << dzielenie(( liczba_DZA, liczba_DZB ) );
        break;
       
    case 5:
        exit( 0 );
        break;
       
        default: cout << "Nie ma takiej opcji w menu";
    }
   
    return 0;
}
float dodawanie( float A )
{ return A = liczba_DA + liczba_DB; }
float odejmowanie( float B )
{ return B = liczba_OA - liczba_OB; }
float mnozenie( float C )
{ return C = liczba_MA * liczba_MB; }
float dzielenie( float D )
{ return D = liczba_DZA / liczba_DZB; }
P-158418
maly7
» 2017-03-01 19:39:59
Wstaw tam pętlę:
C/C++
case 1:
int repeat;
do {
    cout << "Wybierz 1 liczbe: ";
    cin >> liczba_DA;
    cout << "Wybierz 2 liczbe: ";
    cin >> liczba_DB;
    cout << dodawanie(( liczba_DA, liczba_DB ) ) << endl;
    cout << "czy chcesz powtorzyc:";
    cout << "1. tak 2. nie";
    cin >> repeat;
} while( repeat == 1 );

break;

Kompiluje ci się to w ogóle? Funkcje np. dodawanie przyjmuje jeden argument a ty przy wywołaniu wsadzasz tam dwa.
P-158419
pekfos
» 2017-03-01 21:22:14
Funkcje np. dodawanie przyjmuje jeden argument a ty przy wywołaniu wsadzasz tam dwa.
Przekazuje do funkcji jeden argument. Ten kod jest do niczego, ale nie wygląda żeby miał jakieś błędy kompilacji.
P-158424
carlosmay
» 2017-03-01 21:33:12
C/C++
case 1:
int repeat;
do {
    cout << "Wybierz 1 liczbe: ";
    cin >> liczba_DA;
    cout << "Wybierz 2 liczbe: ";
    cin >> liczba_DB;
    cout << dodawanie(( liczba_DA, liczba_DB ) ) << endl;
    cout << "czy chcesz powtorzyc:";
    cout << "1. tak 2. nie";
    cin >> repeat;
} while( repeat == 1 );

break;
Natomiast ten jest błędny.

edit: Jednak jest poprawny. Zmyłka: deklaracja jest poprawna, definicja już nie.
Dla definicji należy wziąć cały blok
case
 w nawias klamrowy.
P-158426
maly7
» 2017-03-01 21:34:29
A faktycznie jeden argument, nie widziałem nawiasu :D Faktycznie może się kompilować, u mnie były warningi z przyzwyczajenia kompilowałem z
- pedantic - Wall
, co w sumie polecam :D
P-158427
kd224
Temat założony przez niniejszego użytkownika
Teraz lepiej?
» 2017-03-02 15:31:00
teraz lepiej? edit: Dałem powtórzenie tylko do dodawanie, bo zapomniałem do reszty.
C/C++
#include <iostream>
#include <conio.h>
#include <cstdlib>

using namespace std;

int wybor;
int x, y;
int powtorzenie;



float dodawanie();
float odejmowanie();
float mnozenie();
float dzielenie();

int main()
{
    do {
        cout << "Podaj 1 liczba: ";
        cin >> x;
        cout << "Podaj 2 liczba: ";
        cin >> y;
       
        cout << endl;
        cout << "Wybierz opcje: " << endl;
        cout << "[1]- Dodawanie " << endl;
        cout << "[2]- Odejmowanie" << endl;
        cout << "[3]- Mnozenie" << endl;
        cout << "[4]- Dzielenie" << endl;
        cout << "[5]- Wyjscie" << endl;
       
       
        cout << endl;
        wybor = getch();
       
        switch( wybor )
        {
        case '1':
            cout << "Wynik= " << dodawanie() << endl;
            cout << "Czy chcesz powtorzyc: " << endl;
            cout << "1.Tak | 2.Nie" << endl;
            cin >> powtorzenie;
           
            break;
           
        case 2:
            cout << "Wynik= " << odejmowanie();
           
            break;
           
        case 3:
            cout << "Wynik= " << mnozenie();
            break;
           
        case 4:
            cout << "Wynik= " << dzielenie();
            break;
           
            default: cout << "Wybrales zla opcja";
        }
    } while( powtorzenie == 1 );
   
    return 0;
}




float dodawanie()
{
    return x + y;
}

float odejmowanie()
{
    return x - y;
}

float mnozenie()
{
    return x * y;
}

float dzielenie()
{
    return x / y;
}
P-158455
« 1 »
  Strona 1 z 1