• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja warunkowa if

Object Storage Arubacloud
0 głosów
317 wizyt
pytanie zadane 25 listopada 2018 w C i C++ przez Dani3l Bywalec (2,160 p.)

Program pokazuje błąd w tej linijce kodu: if (rok>0)

#include <iostream>

using namespace std;

int rok;

int main()
{
    cout << "Podaj obecny rok" ;
    cin>>rok;
}
if (rok>0)
{
    cout<<"Podany rok jest poprawny"<<endl;
    if ((rok%100)==0 || (rok%4)==0)
     cout<<"Rok jest przestepny";

else

cout<<"Rok jest nie jest przestepny";

else

    cout<<"Podany rok jest niepoprawny"<<endl;


}
    return 0;
}

 

5 odpowiedzi

0 głosów
odpowiedź 25 listopada 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Nie jestem dobry z C/C++ ale wydaje mi się, że chyba zamotałeś się w klamerkach w IF - prześledź dokładnie klamerki i stosuj raczej klamerki dla każdego if i else, to ułatwia analizę kodu.
0 głosów
odpowiedź 25 listopada 2018 przez RafalS VIP (122,820 p.)

W czym Ty to piszesz, że takich głupich błędów z klamerkami Ci edytor / IDE nie podpowiada? 

#include <iostream>

using namespace std;

int rok;

int main()
{
	cout << "Podaj obecny rok";
	cin >> rok;
	if (rok > 0)
	{
		cout << "Podany rok jest poprawny" << endl;
		if ((rok % 100) == 0 || (rok % 4) == 0)
			cout << "Rok jest przestepny";
		else
			cout << "Rok jest nie jest przestepny";
	}
	else
		cout << "Podany rok jest niepoprawny" << endl;
	return 0;
}

 

komentarz 25 listopada 2018 przez Dani3l Bywalec (2,160 p.)
CodeBlocks
komentarz 25 listopada 2018 przez RafalS VIP (122,820 p.)
Nie wierze, że nie podpowiada :P. Głupi notepad++ podświetla Ci odpowiadające sobie klamerki gdy jedna z nich zaznaczysz :P
komentarz 25 listopada 2018 przez Dani3l Bywalec (2,160 p.)
Rzeczywiście podświetlają się :d

Dopiero zaczynam i nie zwróciłem uwagi, dzięki za podpowiedź :)
0 głosów
odpowiedź 25 listopada 2018 przez jeremus Maniak (59,720 p.)
instukcja poza funkcją main - zwóć uwage na nawiasy }
0 głosów
odpowiedź 25 listopada 2018 przez Poczprogramista123 Bywalec (2,900 p.)
TO NIE JEST FUNKCJA WARUNKOWA TYLKO INSTRUKCJA WARUNKOWA
komentarz 25 listopada 2018 przez X3h Dyskutant (9,540 p.)
Nie masz racji. Jest to funkcja warunkowa, ponieważ istnieje jako specjalny zapis, zostaniesz przeniesiony do konkretnego bloku na podstawie warunku. Instrukcja warunkowa jest na poziomie asemblera. W ogóle to instrukcje są procesora.
komentarz 25 listopada 2018 przez j23 Mędrzec (194,920 p.)

Na if zwykło się mówić instrukcja, a nie funkcja. Funkcja w C/C++ ma inne konkretne znaczenie.

komentarz 25 listopada 2018 przez X3h Dyskutant (9,540 p.)
No i? Nie mówię o tym jak się mówi tylko jak to technicznie wygląda, nie?
komentarz 25 listopada 2018 przez j23 Mędrzec (194,920 p.)

A co rozumiesz przez "techniczny wygląd"?

komentarz 25 listopada 2018 przez Poczprogramista123 Bywalec (2,900 p.)
przywrócone 25 listopada 2018 przez Poczprogramista123

@X3h, To mnie zaskoczyles. Wsumie racja chyba cos w tym jest

komentarz 25 listopada 2018 przez mokrowski Mędrzec (155,460 p.)

@X3h, Proszę ... doczytaj. Spekulujesz nie trafiając i jeszcze się przy tym upierasz.

komentarz 25 listopada 2018 przez X3h Dyskutant (9,540 p.)

@X3h, Proszę ... doczytaj. Spekulujesz nie trafiając i jeszcze się przy tym upierasz.

Nie wiem co mam doczytać. Sam mi powiedz. I w ogóle po co piszesz jakbyś był zażenowany? Emocje na bok panie kolego @mokrowski To, że na coś się mówi to nie znaczy, że pod spodem wygląda to tak samo. Przyjęło się mówić instrukcja warunkowa i tak to funkcjonuje. Blok się wykona lub nie. Mówienie, że TO NIE JEST FUNKCJA WARUNKOWA panie @Poczprogramista123 jest nieprawdą, ponieważ funkcja wykonuje pewny blok i wywołuje się ją za pomocą nazwy i parametrów w nawiasach i tak samo instrukcja warunkowa jest funkcją bo ma unikalną nazwę i parametr. Sam zapis jest inny niż dla zwykłej funkcji. Tak to ktoś kiedyś wymyślił, że if będzie unikatem.

komentarz 25 listopada 2018 przez mokrowski Mędrzec (155,460 p.)

@X3h, zamiast spekulować, zerknij do standardu albo dowolnej książki.

Instrukcja if, strona 258: Stephen Prata, Szkoła Programowania Język C wydanie V

Instrukcja if strona 41: Język ANSI C Brian Kernigham , Dennis M. Ritchie wydanie II 

Definicje wyrażeń:

https://en.cppreference.com/w/cpp/language/statements

W przeciwieństwie do funkcji:

https://en.cppreference.com/w/cpp/language/functions

Standard C11 sekcja 6.8.4 Selection statements

Dla C++ online: http://eel.is/c++draft/stmt.if

Jednoznacznie.. Choćbyś się "napiął" to statement nie przetłumaczysz jako funkcja. 

Tu masz online definicję funkcji bez "dyskutowania co widać a jak jest pod spodem": http://eel.is/c++draft/dcl.fct.def

Dalej nie chce mi się już szukać... 

komentarz 26 listopada 2018 przez X3h Dyskutant (9,540 p.)

@mokrowski dzięki wielkie

0 głosów
odpowiedź 25 listopada 2018 przez X3h Dyskutant (9,540 p.)
#include <iostream>

using namespace std;

int main(){
	int rok;
	cout << "Podaj obecny rok" << endl;
	cin >> rok;
	if(rok > 0){
		cout << "Podany rok jest poprawny" << endl;
		if((rok%100) == 0 || (rok%4) == 0){
			cout << "Rok jest przestepny" << endl;
		}
		else{
			cout << "Rok jest nie jest przestepny" << endl;
		}
	}
	else{
		cout << "Podany rok jest niepoprawny" << endl;
	}
	return 0;
}

 

Podobne pytania

0 głosów
3 odpowiedzi 502 wizyt
0 głosów
2 odpowiedzi 274 wizyt
pytanie zadane 25 czerwca 2022 w C i C++ przez polandonion Mądrala (7,040 p.)
+1 głos
1 odpowiedź 325 wizyt
pytanie zadane 30 września 2021 w JavaScript przez Doge Gaduła (3,370 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...