Odpowiedź :
Odpowiedź
Napisałam prosty program, ale rzeczywiście ma sporo instrukcji warunkowych. Znajduje się on w 1. załączniku. Przetestowałam używając g++ (Linux), cpp .sh, replit oraz onlinegdb.
Obliczone pierwiastki są wypisywane ze stałą dokładnością dwóch cyfr po przecinku. Można to zmieniać manipulując wartością zmiennej format. Na przykład zamiast 2F wpisać 4G.
Program jest prosty. Ani nie dokonuje sprawdzenia poprawności wprowadzanych danych (gdy się wpisze niepoprawne dane wejściowe, to program się wysypie). Ani nie przyjmuje danych według polskiego systemu, czyli z przecinkiem dziesiętnym. Ani nie wypisuje liczb (rozwiązania) z przecinkiem dziesiętnym.
W 2. załączniku pokazałam wyniki z przykładowych uruchomień (używając replit).
Wyjaśnienie
Aby ten program działał z symbolami matematycznymi oraz polskimi literami pod Windows (obojętnie czy przy użyciu CodeBlocks, czy Visual Studio) należy wprowadzić kilka drobnych zmian.
- Dodać na początku następujące trzy wiersze:
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
- Jako pierwszą linijkę w main() wpisać:
int ignorowane_ale_konieczne = _setmode(_fileno(stdout), _O_U16TEXT);
- Wiersz definiujący zmienną format zamienić na:
const wchar_t* format = L"%.2F\n";
- Wszystkie wystąpienia
printf("
zamienić na
wprintf(L"