kalkulator z dwoch procesow

0

Witam, mam problem z okreslonym zadaniem, czy ktos moglby chociaz naprowadzic mnie na jakiś trop? Dwa procesy jeden semafor?
oto tresc zadania i jego warunki:

Napisz system Kalkulator wykonujący jedną z wybranych operacji arytmetycznych (dodawanie, dzielenie,
mnożenie, odejmowanie) na dwóch liczbach niecałkowitych. System ma składać z dwóch procesów:
• Proces interfejsu użytkownika - pobiera od użytkownika liczbę A, B oraz operację op. Następnie
uruchamia on proces obliczeniowy (jeśli ten jeszcze nie działa), przesyła do niego dane wejściowe
i czeka na wynik. Po otrzymaniu wyniku wyświetla go.
• Proces obliczeniowy - po uruchomieniu czeka na sygnał od procesu interfejsu a następnie wykonuje operację A op B po czym zwraca wynik. Proces ten może wyświetlać dowolne dane statusowe
(logi) jednak użytkownik może korzystać wyłącznie z procesu interfejsu.
Warunki poprawności:
• Proces obliczeniowy może nie istnieć; jeśli tak, to należy go utworzyć.
• Proces obliczeniowy może wyświetlać dowolne informacje (np. uruchomieniowe), jednak tylko
dane w oknie procesu interfejsu mają znaczenie dla użytkownika.
• Proces obliczeniowy powinien poprawnie obsługiwać błędy (np. dzielenie przez zero). Wyświetlanie informacji o błędach należy zrealizować z punktu widzenia użytkownika.
• Proces interfejsu nie ma prawa podejmować decyzji o tym, czy wprowadzone dane liczbowe/operator są poprawne czy nie.

1

Jeżeli w zadaniu nie jest z góry narzucona metoda rozwiązania ( np. semafory ) to rozważ użycie mechanizmu promise/future
https://www.modernescpp.com/index.php/promise-and-future
Dodatkowo znajduje się tam przykład dodawania i mnożenia realizowanego w osobnych wątkach, więc wystarczy to odpowiednio zmodyfikować/rozszerzyć, aby nadawało się do zadania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1