Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a C++ kódban?

Mi a hiba ebben a C++ kódban?

Figyelt kérdés

#include <iostream>


using namespace std;


int main()

{


// 1. Feladat:

// A program bekér két változót, "a"-t és "b"-t. Cseréld meg a két változó értékét.


int e;

int f;


cout << "e = ";

cin >> e;


cout << "f = ";

cin >> f;


cout << '\n\n';


e = e + f;

f = e - f;

e = e - f;


cout << "Elso feladat:" << endl;

cout << "e = " << e << endl;

cout << "f = " << f << endl;


return 0;


}


Output:


e = 5

f = 7

2570Elso feladat:

e = 7

f = 5


A 2570 miért van ott? Miért nincs sorkihagyás? Mit rontottam el a kódban?


2020. aug. 7. 16:22
1 2
 1/17 A kérdező kommentje:
Amikor nincs bekérés, hanem alapból meg van adva a változók értéke, simán működik.
2020. aug. 7. 16:25
 2/17 anonim ***** válasza:

cout << '\n\n';


Karakterek kerülnek ' ' közé, stringeknek " " között kell lenniük

2020. aug. 7. 16:35
Hasznos számodra ez a válasz?
 3/17 anonim ***** válasza:
' apsztrófot rakták " helyett a /n-hez.
2020. aug. 7. 16:36
Hasznos számodra ez a válasz?
 4/17 tabaki ***** válasza:

cout << '\n\n';


Kiírja a fordító:

warning: multi-character character constant [-Wmultichar]


String kiírásához dupla idézőjelet használj. Nem értek hozzá, de gondolom, a többi dolog a pufferben maradt karakter folyománya.

2020. aug. 7. 16:36
Hasznos számodra ez a válasz?
 5/17 anonim ***** válasza:

Ha Linux alatt, g++-al fordítod le a kódot, figyelmeztet:

[link]

a szimpla aposztrófok között megadott karaktersorozat egy több karakterből álló szimpla karakterkonstans.


A sortörés az ASCII-táblában hexadecimálisan 0a (decimálisan: 10) értékű. Két darab sortörés hexadecimálisan 0a0a (decimálisan 2570, hiszen 10*256 + 10 = 2570) értékkel bír.


Ha két sortörést akarsz, csináld így:

cout << "\n\n";

vagy így:

cout << endl << endl;

esetleg így:

cout << '\n' << '\n';

2020. aug. 7. 16:46
Hasznos számodra ez a válasz?
 6/17 A kérdező kommentje:
Nagyon szépen köszönöm!
2020. aug. 7. 16:46
 7/17 anonim ***** válasza:
Jól mondják. Én annyit hozzátennék, hogy ne így cseréld fel a váltózókat. :)
2020. aug. 7. 17:46
Hasznos számodra ez a válasz?
 8/17 A kérdező kommentje:
Mit tanácsolsz, érdemes lehet stringé alakítani, megcserélni, és azt kiírni? Ez csak egy tipp, nem értek annyira hozzá.
2020. aug. 7. 18:12
 9/17 anonim ***** válasza:
Hozz létre es segéd változót abba helyezd át az egyiket majd a másikat abba amit áthelyeztél a segedbe a segedet meg az utóbbiba. Így nem hívsz meg feleslegesen kivonást és összeadás. Például ha a két bekért számod nagy, tehát még belefér az intbe de amikor össze adod akkor a kettő már túlcsordul. :).
2020. aug. 7. 19:29
Hasznos számodra ez a válasz?
 10/17 anonim ***** válasza:

Tehat:


seged = a

a = b

b = seged

2020. aug. 7. 19:30
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!