• 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
95 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,630 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,630 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 721 wizyt
pytanie zadane 14 kwietnia 2015 w C i C++ przez timati Bywalec (2,060 p.)
0 głosów
0 odpowiedzi 309 wizyt
0 głosów
2 odpowiedzi 181 wizyt
pytanie zadane 11 grudnia 2017 w C# i .NET przez garris Użytkownik (630 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

62,318 zapytań

108,452 odpowiedzi

226,402 komentarzy

35,113 pasjonatów

Przeglądających: 241
Pasjonatów: 7 Gości: 234

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.

...