hlmod.hu
https://hlmod.hu/

C++ Alapok (3.) - Feltételek(if)
https://hlmod.hu/viewtopic.php?f=123&t=26178
Oldal: 1 / 1

Szerző:  Maxi [2016.09.11. 18:30 ]
Hozzászólás témája:  C++ Alapok (3.) - Feltételek(if)

C++ Alapok (3.) - Feltételek(if)

Elsősorban nem is nevezném el szivem szerint annak, aminek elneveztem, hisz a programnyelvek 97.1%-ában (google), ugyan igy működik.
Azonban ez kezdőknek szól, igyhát vágjunk bele, lesz akinek unalmas lesz, s lesz akinek igenis hasznos. (Ismétlés a tudás...)

IFEK MŰKÖDÉSE
Minden feltétel az alábbi módon épül fel.

  1. if(kifejezés) {
  2.     //TODO
  3.         return 1;
  4. }


Ez most lehet hülyeségnek látszik, de igazából nem az.

Ahhoz hogy magát a feltételt megértsük, meg kell ismerkednünk az operátorokkal is.
► Spoiler mutatása


Ezeket úgy kell tudni használni, hogy biztosan eltudjuk dönteni a feltétel kifejezéséről, hogy igaz vagy hamis (0 vagy 1, mert az alapján dolgozik az egész c++)

Igy már érthetőbb lesz szerintem:

  1. if(11 != 12)
  2. {
  3.        return 0;
  4. }


Ez egy eldönthető feltétel, hisz nincs az az ország, vallás, hit, földrész, bolygó ahol 11 egyenlő lenne 12-vel.

Egy konkrét példa:

  1. int main() {
  2.     int a=3,b=3;
  3.     if(a == b)
  4.     {
  5.         cout<<"a = b"; //végre is hajtódik, hisz 'a' értéke 3 csakúgy mint a 'b'-nek.
  6.     }
  7. }


ELSE ÁG

Minden feltételnek létezik egy else ága ami akkor hivódik meg, ha a feltétel nem igaz.
Ezt a program nem szigoritja ránk, hogy kötelező legyen megadni, igy kihagyható, de csak abban az esetben ha te nem akarsz csinálni semmit ha a feltétel nem igaz.

Konkrét példa:

  1. int main() {
  2.     int a=3,b=4;
  3.     if(a > b) {
  4.         cout<<"a > b";
  5.     }
  6.     else {
  7.         cout<<"a < b";
  8.     }
  9. }


Ez eddig működőképes, de még van egy olyan eshetőség, ha a mi példánkat vesszük, hogy az 'a' és a 'b' egyenlő.
Ezt az alábbiak kombinálásával meg lehet valósitani.

Konkrét kód:

  1. int main() {
  2.     int a=3,b=3;
  3.     if(a > b) {
  4.         cout<<"a > b"; /* HA 'a' NAGYOBB MINT 'b' -> Nem fog lefutni. */
  5.     }
  6.     else if(a < b) {
  7.         cout<<"a < b"; /* HA 'a' KISEBB MINT 'b' -> Nem fog lefutni esetünkben. */
  8.     }
  9.     else {
  10.         cout<<"a = b"; /* EGY VARIÁCIÓ MARADT. -> HA 'a' EGYENLŐ 'b' -VEL  => LE FOG FUTNI! */
  11.     }
  12. }


Maxi

Szerző:  PikHácsúú# [2016.09.14. 21:40 ]
Hozzászólás témája:  Re: C++ Alapok (3.) - Feltételek(if)

Lehet nem ehez a részhez tartozik, viszont lenne egy kérdésem.
Van tegyük fel egy számológépes részem.
Beírom a 2 számot, stb.... és miután kiszámolta azt szeretném, hogy ne zárodjon be hanem térjen vissza, és írhassak még 2 számot.


Kód:
Kód:
#include <stdio.h>
#include <conio.h>
main()
{
int a,b
printf("Irj be 2 szamot:");
scanf("%d",&a");
scanf("%d",&b");
printf("%d + %d = %d", a,b,a+b);
getch();

És itt térjen vissza az elejére, vagyis ne zárja be, hanem kérjen új számot.

Szerző:  Maxi [2016.09.14. 22:11 ]
Hozzászólás témája:  Re: C++ Alapok (3.) - Feltételek(if)

  1. int a[2];
  2. for(int i=0; i<2; i++) {
  3.     /*
  4.         0-1
  5.         1-2
  6.     */
  7.     cout<<"Irj be egy szamot."<<endl;
  8.     cin>>a[i];
  9. }
  10. for(int k=0; k<2; k++) {
  11.     cout<<a[k]<<endl;
  12. }

Szerző:  demon [2016.09.16. 20:07 ]
Hozzászólás témája:  Re: C++ Alapok (3.) - Feltételek(if)

  1. int main() {
  2.     int a=3,b=3;
  3.     if(a == b)
  4.     {
  5.         cout<<"a = b"; //végre is hajtódik, hisz 'a' értéke 3 csakúgy mint a 'b'-nek.
  6.     }
  7. }

Ez nem helyes. Itt csak értéket adsz és nem összehasonlítod.

Szerző:  LyleChriss [2016.09.17. 09:14 ]
Hozzászólás témája:  Re: C++ Alapok (3.) - Feltételek(if)

Kicsit vicces, hogy a SmallC [GYK:Pawn] fórumon a CPP-t az alapok alapjától kell tanítani. :D

Szerző:  Maxi [2016.09.17. 11:42 ]
Hozzászólás témája:  Re: C++ Alapok (3.) - Feltételek(if)

Látod, hogy azt kell. Kedves előtted lévő sem jól mutat rá dolgokra.
LyleChriss írta:
Kicsit vicces, hogy a SmallC [GYK:Pawn] fórumon a CPP-t az alapok alapjától kell tanítani. :D

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/