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

Kalkulator - nie dzialajace funckja dodawania i odejmowania

Ostatnio zmodyfikowano 2012-11-12 12:45
Autor Wiadomość
bartuz
Temat założony przez niniejszego użytkownika
Kalkulator - nie dzialajace funckja dodawania i odejmowania
» 2012-11-12 12:45:38
Cześć! Napisałem kalkulator i nie dzialaja mi fukncje dodawnia i odejmowania np na liczbach 231 432 5432 643 (wpisywane w takiej kolejnosci)
prosilbym o wskazanie bledu i o korekte
z gory dziekuje za pomoc
pozdrawiam, Filip

C/C++
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <windows.h>
using namespace std;
double l1, m1, l2, m2;
char wyjscie;
double nwd( double a, double b )
{
    while( a != b )
    {
        if( a > b ) a = a - b;
        else b = b - a;
       
    }
    return a;
}
void wynik( double c, double d )
{
    double l, k;
    l = c / nwd( c, d );
    k = d / nwd( c, d );
    cout << "wynik to :\n" << l << "\n-\n" << k << endl;
}
double nww( double a, double b )
{
    double x;
    x = a * b / nwd( a, b );
    return x;
}
void menu()
{
    SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_GREEN | FOREGROUND_INTENSITY );
    cout
    << "witaj w programie \"dzialania na ulamkach!\"\n";
    SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_RED | FOREGROUND_INTENSITY );
    cout
    << "Wybierz ktore rodzaj dzialan chcesz wykonac\n"
    << "Dodawanie ? Wpisz [1]\nOdejmowanie? Wpisz [2]\nMnozenie? Wpisz [3]\nDzielenie? Wpisz [4]\n_\b";
    SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY );
}

double skracanie( double x, double y )
{
    double l, k;
    l = x / nwd( x, y );
    k = y / nwd( x, y );
}
double dodawanie( double a, double b, double x, double y )
{
    double c, d;
    c =( a * b /( nwd( b, y ) ) + x * y /( nwd( b, y ) ) );
    d = nww( b, y );
    wynik( c, d );
}
double odejmowanie( double a, double b, double x, double y )
{
    double c, d;
    c =( a * b /( nwd( b, y ) ) - x * y /( nwd( b, y ) ) );
    d = nww( b, y );
    wynik( c, d );
}
double mnozenie( double a, double b, double x, double y )
{
    double c, d;
    c = a * x / nwd( x, y );
    d = b * y / nwd( x, y );
    wynik( c, d );
}
double dzielenie( double a, double b, double x, double y )
{
    double c, d;
    c = a * y / nwd( x, y );
    d = b * x / nwd( x, y );
    wynik( c, d );
}
void dane()
{
   
    cout << "podaj licznik pierwszego _\b";
    cin >> l1;
    cout << "podaj mianownik pierwszego _\b";
    cin >> m1;
    cout << "podaj licznik drugiego _\b";
    cin >> l2;
    cout << "podaj mianownik drugiego _\b";
    cin >> m2;
}
void wybor( int q )
{
    switch( q )
    {
    case 1:
        {
            dane();
            dodawanie( l1, m1, l2, m2 );
            break;
        }
    case 2:
        {
            dane();
            odejmowanie( l1, m1, l2, m2 );
            break;
        }
    case 3:
        {
            dane();
            mnozenie( l1, m1, l2, m2 );
            break;
        }
    case 4:
        {
            dane();
            dzielenie( l1, m1, l2, m2 );
            break;
        }
        default:
        {
            system( "cls" );
            cout << "nie wybrales prawidlowej opcji. za kare wylaczam ten program";
            exit( 0 );
            break;
        }
    }
}
char powtorzenie()
{
    SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
    cout << "chcesz jeszcze raz? Wpisz [Y]\nWychodzisz? Wpisz [N]\n";
    cin >> wyjscie;
}

main()
{
    int q;
    do
    {
        system( "cls" );
        menu();
        cin >> q;
        wybor( q );
        powtorzenie();
    }
    while(( wyjscie == 'Y' ) ||( wyjscie == 'y' ) );
   
    getch();
}
P-69034
« 1 »
  Strona 1 z 1