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

Kalkulator na 'n-tą' liczbę zmiennych i inne

Ostatnio zmodyfikowano 2015-04-14 19:36
Autor Wiadomość
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

C/C++
switch
{
case 1:
    switch
    {
    case 1.1:
    case 1.2:
    }
case 2:
}
P-130648
pekfos
» 2015-04-12 15:12:49
std::vector<>. Nie możesz używać switch() dla typów zmiennoprzecinkowych.
P-130649
Brunon3
» 2015-04-12 16:42:21
Witaj na forum! :)

zmiennej switch

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.

C/C++
int zmienna;
std::cin >> zmienna; // ilosc liczb
int * tablica = new int tablica[ zmienna ];
// Przykład

2. std::vector.

C/C++
std::vector < int > zmienna; // liczby
// Wczytujesz liczby, to już jak chcesz.

-BD.
P-130656
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 :)
P-130667
michal11
» 2015-04-12 19:21:49
Najlepszym wyjściem będzie zastosowanie RPN.
P-130668
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 :)

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


using namespace std;

int main()
{
    int rozmiar;
    cout << "Podaj ilosc liczb: "; // tablica na okreslony rozmiar //    
    cin >> rozmiar;
    cin.ignore();
   
    int tablica[ rozmiar ];
    int dzialanie = 0;
    for( unsigned int i = 0; i < rozmiar; ++i )
    {
        cout << "Podaj liczbe nr " <<( i + 1 ) << " : "; //problem wyboru automatycznego ostatniej wpisanej liczby//
        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 ]; //Wynik
    }
P-130864
Brunon3
» 2015-04-14 07:09:22
int tablica[ rozmiar ];

To nie ma prawa działać. Daj

C/C++
int * tablica = new int[ rozmiar ];

// i na końcu:

delete[] tablica;
P-130865
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 :
C/C++
int * pp = new int[ rozmiar ];
delete[] pp;
P-130869
« 1 » 2
  Strona 1 z 2 Następna strona