polo195pl Temat założony przez niniejszego użytkownika |
Kalkulator na 'n-tą' liczbę zmiennych i inne » 2015-04-12 15:01:41 Witam serdecznie, Mam problem, gdyż chcę zrobić kalkulator, który potrafił będzie wczytać z "ręki" dowolną ilość liczb. I prawdę mówiąc nie wiem jak za to się zabrać, gdyż tablic nie mogę użyć bo to daje ograniczenie w zależności od wielkości tablicy, chyba że to była by tablica dynamiczna ale z kolei tego sobie nie potrafię wyobrazić. Druga sprawa, Czy jest możliwość użycia zmiennej switch w ten sposób co poniżej, a jeżeli nie, to jak można by zrobić to w inny sposób. NIE OCZEKUJĘ GOTOWEGO KODU ! SZUKAM PODPOWIEDZI switch { case 1: switch { case 1.1: case 1.2: } case 2: }
|
|
pekfos |
» 2015-04-12 15:12:49 std::vector<>. Nie możesz używać switch() dla typów zmiennoprzecinkowych. |
|
Brunon3 |
» 2015-04-12 16:42:21 Witaj na forum! :) switch nie jest zmienną. Czy jest możliwość użycia zmiennej switch w ten sposób co poniżej, a jeżeli nie, to jak można by zrobić to w inny sposób. |
Nie, ale możesz zrobić dwie/n zmiennych ( int), dla każdego ze switch'ów. Mam problem, gdyż chcę zrobić kalkulator, który potrafił będzie wczytać z "ręki" dowolną ilość liczb. I prawdę mówiąc nie wiem jak za to się zabrać, gdyż tablic nie mogę użyć bo to daje ograniczenie w zależności od wielkości tablicy, chyba że to była by tablica dynamiczna ale z kolei tego sobie nie potrafię wyobrazić. |
1. Tablice dynamiczne. int zmienna; std::cin >> zmienna; int * tablica = new int tablica[ zmienna ];
2. std::vector. std::vector < int > zmienna;
-BD. |
|
polo195pl Temat założony przez niniejszego użytkownika |
» 2015-04-12 19:17:25 Okej, dzięki wielkie za pomoc. W poniedziałek jak będę w domu to pobawię się tym, ale coś czuję że będę musiał pisać aplikację po kawałku :) Efektem końcowym podzielę się jak skończę :) // Zapomniałbym ;) Witam również wszystkich :) |
|
michal11 |
» 2015-04-12 19:21:49 Najlepszym wyjściem będzie zastosowanie RPN. |
|
polo195pl Temat założony przez niniejszego użytkownika |
» 2015-04-14 01:41:40 Problem napotkałem po drodzę, gdyż zauważyłem, że przy tablicach mozemy ustalić z góry jej rozmiar w kodzie, lub poprzez zapytanie do użytkownika, a co z możliwością automatycznego wyboru przez program rozmiaru tablicy w zależności od potrzeb na daną chwilę. Myślałem nad powiększeniem tablicy w trakcie pracy, ale nie wiem, czy nie stracę przez to z niej danych wyglądało by to mniej więcej Ile liczb-> Wstawianie Liczb-> Czy wszystkie-> Wstawianie Liczb-> Działanie Ale to z kolei nie pozwoliło by mi robić działań łączonych przynajmniej tak podejrzewam :/ Mogłem czegoś nie zrozumieć, gdyż uczę się od niedawna więc proszę o wyrozumiałość i ew. poprawki merytoryczne :) W każdym bądź razie stworzyłem coś takiego, starałem się zrobić to logicznie ale widać jeszcze sporo pracy :) #include <iostream> #include <math.h> #include<cstdlib>
using namespace std;
int main() { int rozmiar; cout << "Podaj ilosc liczb: "; cin >> rozmiar; cin.ignore(); int tablica[ rozmiar ]; int dzialanie = 0; for( unsigned int i = 0; i < rozmiar; ++i ) { cout << "Podaj liczbe nr " <<( i + 1 ) << " : "; cin >> tablica[ i ]; switch( rozmiar ) { case 1: cout << "Wybierz dzialanie" << endl; break; case 2: cout << "Dodawanie" << endl; cin >> "Dzialanie" >> i + || - || * || / >> endl; break; } cin.ignore(); == tablica[ i ]; }
|
|
Brunon3 |
» 2015-04-14 07:09:22 To nie ma prawa działać. Daj int * tablica = new int[ rozmiar ];
delete[] tablica; |
|
JMII89 |
» 2015-04-14 08:50:14 "To nie ma prawa działać " Może chociaż byś mu napisał dlaczego ? Do Autora@ Nie można tak robić ponieważ nie można ustalić rozmiaru tablicy podczas działania programu . Jedynie można zaalokować nową pamięć dla tablicy o danej ilości indeksów czyli : int * pp = new int[ rozmiar ]; delete[] pp;
|
|
« 1 » 2 |