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: #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++; 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. |
|
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. |
|
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 ? |
|
Rafals |
» 2013-06-20 09:15:34 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++; 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ą. |
|
dallahpl Temat założony przez niniejszego użytkownika |
» 2013-06-20 09:51:23 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;) |
|
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 ;) |
|
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! #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;) |
|
« 1 » |