Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Programowanie windy (problem) w C++

#1
Programowanie windy (problem) w C++
Witam. Mam za zadanie napisać program do windy. 3 dni nie śpię bo jestem początkująca i muszę go oddać na studia (stresik) i wiadomo, że nie chce zawalić Lol2 . Dlatego proszę was o pomoc. Program niby działa, ale zauważyłam, że co jakiś czas łapie mi błąd np. piszę że jestem na 4 piętrze, przyjeżdża winda nr 2 (mimo że winda nr 1 jest bliżej) i jak daję, że jadę na piętro nr 2 to pisze mi komunikat UP Boję się . Proszę pomóżcie mi wychwycić błąd w kodzie bo ja już na oczy nie widzę :D ewentualnie nie pogardzę paroma radami jak usprawnić (mój w sumie pierwszy prawdziwy, napisany własnymi ręcoma kod) lub poprawić jak wyłapiecie jakieś błędy.

Link do kodu:
https://pastebin.com/mbiyRGg8
 System operacyjny: windows_ten Przeglądarka: chrome
#2
RE: Programowanie windy (problem) w C++
Cześć, czy masz dokładną treść zadania? Zwróć uwagę na warunek
Kod:
if (b.twoje_pietro > w1.aktualne_pietro)
Podając piętro niższe zawsze przyjedzie winda nr 2. Powinnaś raczej badać różnicę piętra użytkownika i piętra, na której znajduje się winda, np.
Kod:
#include <iostream>
#include <cstdlib>
using namespace std;
enum kierunek
{
   DOWN, UP
};

struct winda
{
   int pietro;
   int przebieg;
   kierunek kierunek_jazdy;
   winda(int pietro=0, int przebieg=0, kierunek kierunek_jazdy=DOWN)
       : pietro(pietro), przebieg(przebieg), kierunek_jazdy(kierunek_jazdy)
   {
   }
};

struct budynek
{
   const int liczba_pieter;
   winda w1, w2;
   budynek() : liczba_pieter(5), w1(1, 14), w2(1, 17)
   {
   }
};

int main()
{
    return 0;
    budynek b;
    int twoje_pietro, nowe_pietro;
    while (true)
    {
        cout << "Podaj, na ktorym pietrze jestes: ";
        cin >> twoje_pietro;
        // faworyzowana winda z mniejszym przebiegiem
        const int w1_roznica = abs(b.w1.pietro-twoje_pietro) + b.w1.przebieg,
            w2_roznica = abs(b.w2.pietro-twoje_pietro) + b.w2.przebieg;
        if (w1_roznica <= w2_roznica)
        {
            // winda pierwsza pojedzie
            cin >> nowe_pietro;
            b.w1.przebieg += abs(nowe_pietro-b.w1.pietro);
            b.w1.pietro = nowe_pietro;
        }
        else
        {
            // winda druga pojedzie
            cin >> nowe_pietro;
            b.w2.przebieg += abs(nowe_pietro-b.w2.pietro);
            b.w2.pietro = nowe_pietro;
        }
    }
    return 0;
}
Co do reszty kodu: czy obiektowość jest dozwolona (bo dodałem konstruktor)?

 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: Programowanie windy (problem) w C++
Wydaje mi się, że nie. Jestem dopiero na I roku studiów i tego jeszcze nie przerabialiśmy. Mieliśmy się raczej opierać na pętlach, warunkach
 System operacyjny: windows_ten Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki (Programowanie windy (problem) w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Scared Ipad Pro programowanie? NissmoOne 4 8733 06.10.2018, 12:22
Ostatni post: NissmoOne
  Czy programowanie jest dla mnie? Co powinienem robić? Kumiku 2 9486 05.01.2018, 20:14
Ostatni post: broda99
  Programowanie, od czego zacząć ? Reyo1994 6 9295 22.05.2017, 09:09
Ostatni post: joannakulersa

Skocz do:


Wybrane wątki (Programowanie windy (problem) w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Potwierdzenie na maila po wysłaniu pliku coci 0 9135 13.06.2018 20:37
Ostatni post: coci
  Pieczętowanie Archiwum Jar - Po co? wanhelsing 3 9731 19.05.2018 20:55
Ostatni post: koneton
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 9538 16.05.2018 12:04
Ostatni post: kazik666
  BASH symulator silnika dawswi1 3 10031 13.05.2018 10:43
Ostatni post: Szachista
  Autohotkey automatyczny zapis TheProgson 0 9651 07.05.2018 21:27
Ostatni post: TheProgson
  VBA Pobieranie wybranych plików z danymi julietta03 1 9911 04.05.2018 08:25
Ostatni post: broda99
  [VBA] Przenoszenie danych między formularzami Pioro 4 10335 23.04.2018 11:48
Ostatni post: broda99
  Skrypt, który szuka i zamienia armen10 2 10023 23.04.2018 10:04
Ostatni post: armen10
  Liniowa regresja w Pythonie a budowanie modelu Trojan3000 2 10179 16.04.2018 13:26
Ostatni post: Trojan3000
  Początki z bashem - jak napisać skrypty: wysłanie maila i kalkulator? Kristov81 4 13984 21.03.2018 18:32
Ostatni post: Szachista
Ściana Zadanie cmd.... Yanke$ 2 11044 16.03.2018 17:20
Ostatni post: FireBytes
  Poszukuj kogoś do pomocy FireBytes 0 9546 16.03.2018 16:58
Ostatni post: FireBytes
  Program liczący liczby pierwsze Mersenne'a raistin 2 9863 12.03.2018 12:51
Ostatni post: Szachista
  Wykres Funkcji w Javie wanhelsing 4 10437 17.02.2018 22:27
Ostatni post: wanhelsing
  [SQL]procedura zliczania czasu CTRL85 0 9515 17.02.2018 12:58
Ostatni post: CTRL85