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

Problem z troche bardziej skomplikowanym kalkulatorem

Ostatnio zmodyfikowano 2013-06-20 11:40
Autor Wiadomość
dallahpl
Temat założony przez niniejszego użytkownika
Problem z troche bardziej skomplikowanym kalkulatorem
» 2013-06-19 18:53:17
Witam wszystkich bardzo serdecznie. To moj pierwszy post tutaj, wiec chcialbym sie przedstawic;) Jestem Grzesiek, lat 25, programuje od tygodnia - choc pisac gry chcialem od zawsze.

Z C++ mialem juz kontakt, kiedys troszke poczytalem itp, itd, ale to wszystko - Teraz chce sie temu na prawde poswiecic.

Moj kalkulator ma byc ciut bardziej skomplikowany, niz mozna znalesc w wiekszosci poradnikow.

Problem pojawia sie juz na samym poczatku w opcji "Dodawanie". Otoz chce, aby uzytkownik powiedzial programowi ILE wyrazen chce do siebie dodac, program nastepnie pytac ma sie o wartosc kazdej nastepnej liczby (i jak dotąd to robi), a nastepnie zsumowac to wszystko w jeden wynik - i wlasnie tej sumy wykonac nie potrafie. Wklejam kod:

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

using namespace std;

int Funkcja_Ile( int Ile )
{
    cout << "Chcesz obliczyc sume " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
   
    for( Ile = 1; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin >> WpisanaLiczba;
    }
    Ile++;
   
    // COS TUTAJ POWINIENEM WPISAC!:d
   
    return 0;
}

void main()
{
    int nWybor;
   
    cout << "Jest to prosty kalkulator. Masz kilka opcji do wyboru:" << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Obliczanie pola kola" << endl;
    cout << "6. Obliczanie obwodu kola" << endl;
    cout << "7. Obliczanie pola kwadratu" << endl;
    cout << "8. Obliczanie obwodu kwadratu" << endl;
    cin >> nWybor;
   
   
    switch( nWybor )
    {
    case 1:
        int ile;
        cout << "Podaj ilosc liczb, ktore chcesz do siebie dodac: ";
        cin >> ile;
        Funkcja_Ile( ile );
       
    }
   
    getch();
}

Znacznie bardziej wolalbym wskazowki niz czyste rozwiazanie problemu, naprowadzenie mnie z czego skorzystac itp;)

Pozdrawiam Dallahpl.
P-85824
bnk120
» 2013-06-19 19:06:49
Mógłbyś dodać jeszcze jedną zmienną w swojej funkcji "Funkcja_Ile" i tylko ją aktualizować w każdym przebiegu pętli o tę wpisaną liczbę z konsoli.
P-85826
dallahpl
Temat założony przez niniejszego użytkownika
» 2013-06-19 20:25:25
Masz na mysli zeby dodac te zmienna po:    switch(nWybor) { case 1: int NowaZmienna ?
P-85832
Rafals
» 2013-06-20 09:15:34
C/C++
int Funkcja_Ile( int Ile )
{
    cout << "Chcesz obliczyc sume " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
   
    for( Ile = 1; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin >> WpisanaLiczba;
    }
    Ile++;
   
    // COS TUTAJ POWINIENEM WPISAC!:d
   
    return 0;
}
W tej funkcji dodaj nowa zmienna do której będziesz przypisywał wynik sumowania kolejnych liczb. Sumujesz po każdym wpisaniu liczby przez użytkownika. No i czyść strumień wejścia po każdym wpisaniu, bo czasem możesz głupoty uzyskać.

"// COS TUTAJ POWINIENEM WPISAC!:d" tutaj możesz wpisać kod odpowiadający za wyświetlenie wyniku sumowanych liczb. Wtedy możesz dać voida funkcji. Jeżeli chcesz zostawić inta no to wtedy zwracaj sobie sumę, a wynik wyświetl w mainie. To Ile++ za pętlą nie potrzebne, bo już inkrementujesz w pętli tą zmienną.
P-85849
dallahpl
Temat założony przez niniejszego użytkownika
» 2013-06-20 09:51:23
C/C++
int Funkcja_Dodawanie( int Ile )
{
    cout << "Chcesz obliczyc sume " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
    int KolejnaLiczba = 0;
   
    for( Ile = 1; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin.clear();
        cin.sync();
        cin >> WpisanaLiczba;
        KolejnaLiczba += WpisanaLiczba;
    }
   
    cout << "= " << KolejnaLiczba << endl;
   
    return KolejnaLiczba;
}

Dziala!!:D

Alez jestem zadowolony:D

Dzieki za pomoc!


PS: W jaki sposób zrobiliście cytat mojego kodu, że tak ładnie wygląda?
PS2: hmm widze ze albo ktos robil to za mnie, albo automatycznie;)
P-85852
SeaMonster131
» 2013-06-20 11:05:36
PS: W jaki sposób zrobiliście cytat mojego kodu, że tak ładnie wygląda?
[cpp] kod [/cpp]

PS2: hmm widze ze albo ktos robil to za mnie, albo automatycznie;)
Automatycznie się to nie robi ;)
P-85854
dallahpl
Temat założony przez niniejszego użytkownika
» 2013-06-20 11:40:57
Chce się pochwalić, bo jak na 1 tydzień nauki, nie jest źle:D

Kalkulator działa!

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

using namespace std;

const float Pi = 3.14159265359;

int Funkcja_Dodawanie( int Ile )
{
    cout << "Chcesz obliczyc sume " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
    int KolejnaLiczba = 0;
   
    for( Ile = 1; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin.clear();
        cin.sync();
        cin >> WpisanaLiczba;
        KolejnaLiczba += WpisanaLiczba;
    }
   
    cout << "= " << KolejnaLiczba << endl;
   
    return KolejnaLiczba;
}

int Funkcja_Odejmowanie( int Ile )
{
    cout << "Chcesz obliczyc roznice " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
    int KolejnaLiczba = 0;
    int Pierwsza_Liczba;
   
    cout << "Podaj pierwsza liczbe: ";
    cin >> Pierwsza_Liczba;
   
    for( Ile = 2; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin.clear();
        cin.sync();
        cin >> WpisanaLiczba;
        Pierwsza_Liczba -= WpisanaLiczba;
    }
   
    cout << "= " << Pierwsza_Liczba << endl;
   
    return Pierwsza_Liczba;
}

int Funkcja_Mnozenie( int Ile )
{
    cout << "Chcesz pomnozyc " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
    int KolejnaLiczba = 0;
    int Pierwsza_Liczba;
   
    cout << "Podaj pierwsza liczbe: ";
    cin >> Pierwsza_Liczba;
   
    for( Ile = 2; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin.clear();
        cin.sync();
        cin >> WpisanaLiczba;
        Pierwsza_Liczba *= WpisanaLiczba;
    }
   
    cout << "= " << Pierwsza_Liczba << endl;
   
    return Pierwsza_Liczba;
}

float Funkcja_Dzielenie( int Ile )
{
    cout << "Chcesz podzielic " << Ile << " liczb" << endl;
   
    int MaxLiczb = Ile;
    int WpisanaLiczba;
    int KolejnaLiczba = 0;
    int Pierwsza_Liczba;
   
    cout << "Podaj pierwsza liczbe: ";
    cin >> Pierwsza_Liczba;
   
    for( Ile = 2; Ile <= MaxLiczb; Ile++ )
    {
        cout << "Podaj liczbe nr." << Ile << ": ";
        cin.clear();
        cin.sync();
        cin >> WpisanaLiczba;
        if( WpisanaLiczba == 0.0 )
        {
            cout << "Dzielenie sie nie powiedzie!! Dzielnik nie moze byc zerem!" << endl;
            return 0;
        }
        Pierwsza_Liczba /= WpisanaLiczba;
    }
   
    cout << "= " << Pierwsza_Liczba << endl;
    return Pierwsza_Liczba;
   
}

float Funkcja_Obliczenie_Pola_Kola( float Promien )
{
    float Pole = Pi * Promien * Promien;
    cout << " Pole kola = " << Pole;
    return Pole;
}

float Funkcja_Obliczenie_Obwodu_Kola( float Promien )
{
    float Obwod = 2 * Pi * Promien;
    cout << " Obwod kola = " << Obwod;
    return Obwod;
}


float Funkcja_Obliczenie_Pola_Kwadratu( float Bok1 )
{
    float Pole = Bok1 * Bok1;
    cout << " Pole kwadratu = " << Pole;
    return Pole;
}

float Funkcja_Obliczenie_Obwodu_Kwadratu( float Bok2 )
{
    float Obwod = Bok2 * 4;
    cout << "Obwod kwadratu = " << Obwod;
    return Obwod;
}


void main()
{
    int nWybor;
   
    cout << "Jest to prosty kalkulator. Masz kilka opcji do wyboru:" << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Obliczanie pola kola" << endl;
    cout << "6. Obliczanie obwodu kola" << endl;
    cout << "7. Obliczanie pola kwadratu" << endl;
    cout << "8. Obliczanie obwodu kwadratu" << endl;
    cout << "0. Aby przerwac" << endl;
    cout << " " << endl;
    cout << "Podaj swoj wybor: ";
    cin >> nWybor;
   
   
    switch( nWybor )
    {
    case 0:
        break;
    case 1:
        int ile1;
        cout << "Podaj ilosc liczb, ktore chcesz do siebie dodac: ";
        cin >> ile1;
        Funkcja_Dodawanie( ile1 );
        break;
       
    case 2:
        int ile2;
        cout << "Podaj ilosc liczb, ktore chcesz do siebie odjac: ";
        cin >> ile2;
        Funkcja_Odejmowanie( ile2 );
        break;
    case 3:
        int ile3;
        cout << "Podaj ilosc liczb, ktore chcesz do siebie odjac: ";
        cin >> ile3;
        Funkcja_Mnozenie( ile3 );
        break;
       
    case 4:
        int ile4;
        cout << "Podaj ilosc liczb, ktore chcesz do siebie odjac: ";
        cin >> ile4;
        Funkcja_Dzielenie( ile4 );
        break;
       
    case 5:
        float Promien1;
        cout << "Podaj promien kola: ";
        cin >> Promien1;
        Funkcja_Obliczenie_Pola_Kola( Promien1 );
        break;
       
    case 6:
        float Promien2;
        cout << "Podaj promien kola: ";
        cin >> Promien2;
        Funkcja_Obliczenie_Obwodu_Kola( Promien2 );
        break;
       
    case 7:
        float Bok1;
        cout << "Podaj bok kwadratu: ";
        cin >> Bok1;
        Funkcja_Obliczenie_Pola_Kwadratu( Bok1 );
        break;
       
    case 8:
        float Bok2;
        cout << "Podaj bok kwadratu: ";
        cin >> Bok2;
        Funkcja_Obliczenie_Obwodu_Kwadratu( Bok2 );
        break;
    }
    getch();
}

Pozdrawiam :)

PS: Ewentualne uwagi, co by można poprawić, by zoptymalizować bardziej program, będą bardzo mile widziane;)
P-85859
« 1 »
  Strona 1 z 1