cout << "Wpisz liczbê naturaln±: ";
cin >> n;
// 0 and 1 are not prime numbers
if (n == 0 || n == 1) {
isPrime = false;
}
else {
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime)
cout << n << " to jest liczba pierwsza";
else
cout << n << " to nie jest liczba pierwsza";
return 0;
To wszystko jest bardzo skomplikowaną metodą bronienia się przed zrozumieniem, jak to działa. Zamiast dodawać ciny, breaki itd, należy odpalać program bezpośrednio w CMD, a nie nakazywać mu rysować włąsne okno, które zniknie
I to nie jest kwestia wygody/opinii. To po prostu działa inaczej.
Zgadzam się, to co podałem to jest klasyczna ścieżka nauki - niestety. Podałem ją jako trop i bez problemu znajdzie na ten temat więcej informacji. Jest to nieco lepsze niż typowy “system pause”. Problem polega na tym, że nie mam za bardzo czasu tłumaczyć takich szczegółów. Wychodzę tez z założenia, że jeśli ktoś jest naprawdę zainteresowany to sam we własnym zakresie powinien drążyć takie tematy.
Nie rozumiesz. To ty odpalasz ten program nieprawidłowo. To ty masz zmienić sposób jego uruchamiania. Program w C, żaden!, nie ma zaimplementowanego sposobu wychodzenia z konsoli.
A VB, w wersji szóstej porzucony w 2002, a w obecnej - rok temu, jest ślepą uliczką rozwoju. Podczas gdy jego obsługa MsgBox wynika z tego, że sam implementuje metody rysowania po płótnie, wołania Win32 i GDI. C również to potrafi. Musisz zaincludować Windows SDK i utworzyć winmain().
Zwracam też uwagę na to, że output na konsolę jest zwsze lepszy do debugowania niż output do msgbox. Mniejszy upór pozwoliłby zrozumieć, dlaczego.
Klasyczna niestety na polskich uczelniach dekad ubiegłych, gdzie “mamo mamo jestem hakerem” oraz nieuczenie o Unicode były standardem, a system(“pause”) nie był rozumiany jako wpajanie tragicznych nawyków.
Na szczęście się to zmienia. Moja katedra uczyła inaczej, swoich studentów też uczyłem inaczej ^^
Tego co tutaj napisałeś kompletnie nie rozumiem. Wysyłając te jednobajtowe strumienie danych i chcąc przedstawić jakąś literę musi wybrać jedno z kodowań, aby liczbowo reprezentować owy znak. Następnie ta liczba trafia na terminal windowsa, który ją interpretuje odczytując znaki z jakiejś tablicy kodowania 852 i wychodzi kaszanka
Masz rację, zacznij od Assemblera x86 z rozszerzeniami x64, wołanymi z obiektowego C# Core w wersji webowej. Nie będziesz się musiał uczyć niczego więcej. Wszak najwyraźniej nie uznajesz się za początkującego.
@anon741072 - kodowanie jest wybierane przez terminal, podczas wyświetlania. Jednobajtowe strumienie nie mają żadnego kodowania. Dopiero wielobajtowe mają zawsze jakieś “przymusowe” kodowanie, bez którego się nie wyświetlą ^^
Ja mam swój zawód i wiele czasu codziennie muszę poświęcać na nowinki
w swoim fachu (czytać biuletyny i publikacje naukowe), aby nie wypaść z fachu.
Praca też mi zajmuje część dnia. A życie osobiste?
Nie widzę tego, że będę wtajemniczał zawiłości programowania,
pozostawiam to programistom.
Jeśli coś chcę sam wykonać, to po poradę zwracam się do fachowców.
Chodzi mi o to, że ze stringa jednobajtowych ASCII nie wynika bezpośrednio, w jakiej stronie kodowej ma być wyświetlany. Jest to zewnętrzna informacja. Podczas, czy w przypadku UTF-8, UTF-16, UCS-2 i Unicode BOM LE/BE jest to metadana wynikająca z jego kształtu.
No to się zdecyduj Chcesz się uczyć czy nie chesz. Chcesz być początkujący czy zaawansowany. Chcesz rozumieć, czy nie.
Bo póki co wygląda to tak, że zadajesz tuziny podstawowych pytań możłiwych do samodzielnego zgłębienia, bronisz się, że “to cię nie interesuje”, a potem pytasz o języki dla zaawansowanych.
Tak się nie da. Trzeba trochę włożyć wysiłku. Nie wystarczy wizualizować sukcesu. Ten C wcale nie czeka tylko, żebyś go skompilował pozytywnym myśleniem ^^
Kod jest w porządku, tylko ty nie zaczynasz nauki od podstaw, więc masz problemy ze zrozumieniem.
Weź jakąś książkę z podstawami. Może być nawet Python. Jak zrozumiesz na czym polega programowanie w jednym języku, to inne też nie będą stanowiły dla ciebie takiego problemu.
Książkę polecam dlatego, że kursy internetowe często są różnej jakości i rzadko pisane przez wykładowców, którzy przećwiczyli na uczniach, w jakiej kolejności uczyć, jakiego słownictwa czy metod używać, albo z czym mogą mieć problemy.
Dlaczego ktoś napisał kod (ucząc się od podstaw), który nie działa.
Czy mam się uczyć C++, aby, zrozumieć dlaczego ktoś taki niewypał napisał?
Program ma działać, a nie mam filozofować dlaczego to jest bubel?
Tu są fachowcy i też temu nie zaradzili, oprócz tej porady,
że mam się uczyć. to może będę lepszy od nich i ten kod poprawię , aby zadziałał.
Jeśli kod jest dobry to musi być jakiś powód, że jest tak jak jest.