• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kalkulator oparty na stosie

0 głosów
83 wizyt
pytanie zadane 12 października 2018 w C i C++ przez Ichilnia Początkujący (260 p.)
https://pastebin.com/NNuc2Uin

Wybaczcie nazwy funkcji i lekkie pomieszanie w nazwach zmiennych.

Program działa. Zastosowałam stos aby przyswoić sobie w praktyce wiedzę o strukturach danych.

Zależy mi na ocenie przejrzystości oraz wydajności kodu. Kod jest napisany w podejściu proceduralnym.

Pozdrawiam!

1 odpowiedź

0 głosów
odpowiedź 12 października 2018 przez PanRik Gaduła (4,510 p.)

Korzystasz z STL`a , metode:
 

void wyczysc() ...

Możesz zamienić na to, aby Twój globalny stos , zamieniał elementy z jakimś pustym lokalnym stosem np.
 

void wyczysc()
{
    std::stack<double> emptyStack;
    emptyStack.push(0);
    wyniki.swap( emptyStack );
}

Taka luźna propozycja :). emptyStack przestaje istnieć po wyjściu z funkcji.

Edit: W Twoim programie można dzielić przez zero. W funkcji podziel nie masz sprawdzenia.

komentarz 12 października 2018 przez Ichilnia Początkujący (260 p.)
Dziękuje ;) tak poza tym wszystko ok z kodem ?
komentarz 12 października 2018 przez PanRik Gaduła (4,510 p.)
Zawsze może być lepiej :D,

np. możesz się pokusić o zrobienie z tych funkcji jednej klasy, zamiana zwykłych funkcji na szablony, zrobić aby funkcje przyjmowały stałe referencje, a nie jak masz teraz przyjmowania zmiennej przez wartość. Można by wymieniać, a jak już pisałem "zawsze może być lepiej" :)

Podobne pytania

+3 głosów
4 odpowiedzi 697 wizyt
pytanie zadane 14 kwietnia 2015 w C i C++ przez timati Obywatel (1,980 p.)
0 głosów
0 odpowiedzi 287 wizyt
0 głosów
2 odpowiedzi 151 wizyt
pytanie zadane 11 grudnia 2017 w C# i .NET przez garris Użytkownik (610 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

59,025 zapytań

104,411 odpowiedzi

215,972 komentarzy

31,417 pasjonatów

Przeglądających: 318
Pasjonatów: 18 Gości: 300

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...