Kezdőoldal » Számítástechnika » Programozás » (C++) ezzel mi a baj?

(C++) ezzel mi a baj?

Figyelt kérdés

#include "stdafx.h"

#include <iostream>

#include <fstream>

#include <string>


using namespace std;


int main()

{

string dist, plus, mult;

plus = 15;


cout << "The Voyager-1's distance from the Earth is more than:" << endl;

0 + plus = dist;

coutdist:

dist + plus = dist;

cout << dist;

goto coutdist;



system("pause");

}


Szóval, lényegében semennyit sem értek a nyelvhez, csak próbáltam írni egy számolós programot. Tudom, hogy maga az ötlet is hülyeség, de most nem ez a lényeg. Milyen hibák vannak benne? Például van egy olyan, hogy " 0 + plus " - ezzel mi a baj? Amikor a 0-t átírom mondjuk 1-re, akkor jó. Szóval miért nem lehet nullához hozzáadni?

Egyébként azt hogy oldhatnám meg, hogy várjon, mielőtt újrakezdi az rész? (Az ismétlőset (coutdist - goto coutdist))

Köszönöm a válaszokat!



2014. aug. 18. 15:47
1 2 3
 1/23 anonim ***** válasza:
100%

dist + plus = dist;

Ez szerintem le sem fordul.


Értékadás (=): a bal oldalon lévő VÁLTOZÓNAK értéket ad

Tehát a bal oldalon egyetlen változónak kéne lennie. Ehelyett meg van egy összeadás...


Tehát így kéne kinéznie:

dist = dist + plus;

2014. aug. 18. 16:08
Hasznos számodra ez a válasz?
 2/23 anonim ***** válasza:
55%

Na akkor nézzük sorjában:


"string dist, plus, mult;

plus = 15;"

Deklarálsz 3 stringet, majd az egyiknek rögtön értékül adsz egy intet. Hát hogyismondjam.


"0 + plus = dist;"

Ez nem tudom mi akar lenni, de biztos nem az amit te szeretnél.


"coutdist:

dist + plus = dist;

cout << dist;

goto coutdist;"

A goto az örgöd műve, ne használd, ide meg különösen felesleges.

Valamint szintén van egy teljesen hibás fordított értékadás.


Tehát hogy mi a baj: tragikusan szar az egész.

Ha érdekel a dolog az oké, de ugorj vissza az első leckére, mert ez itt szar, nem kód.

2014. aug. 18. 16:10
Hasznos számodra ez a válasz?
 3/23 anonim ***** válasza:
100%

GOTO helyett meg ciklust használnék. Átláhatóbb lesz a kód.

Várakozásra meg attól függ, mit szeretnél. Billentyűleütésre váráshoz jó az a system("pause"); is.

2014. aug. 18. 16:10
Hasznos számodra ez a válasz?
 4/23 anonim ***** válasza:
100%

Ugyanez a kód igényesen (amennyiben Windowst használsz):

[link]

2014. aug. 18. 16:22
Hasznos számodra ez a válasz?
 5/23 A kérdező kommentje:

Köszönöm a válaszokat! :) Szóval ma fordított napot tartok, csak nem tudtam róla.

Úgy gondoltam, hogy ha úgy írom a matematikai dolgokat, mint ahogy egy papírra írnám, akkor az úgy jó lesz. Tévedtem. Azt egyáltalán nem tudtam, hogy is néz ki egy ciklus. A sleep(1000) az 1 másodperc?

ne mondjatok rám semmi idenemillő szót, nem értek a programozáshoz, csak kipróbáltam, hogy hogyan is néz ki a dolog.

2014. aug. 18. 16:45
 6/23 A kérdező kommentje:

Egyébként ennek az oldalnak a számlálóját akartam átültetni egy konzolos "programba":

[link]

2014. aug. 18. 17:06
 7/23 anonim ***** válasza:
100%
Igen, a sleep(1000) 1000 ms-ig vár, ami 1 másodperc.
2014. aug. 19. 08:39
Hasznos számodra ez a válasz?
 8/23 A kérdező kommentje:

Na, ez megoldás sok problémámra! :)

De nekem csak a ' _sleep '-et fogadja el. Az ugyanez?

2014. aug. 19. 09:28
 9/23 A kérdező kommentje:

Ja, és azt hogy lehet megcsinálni, hogy a program felajánl választási lehetőséget, mondjuk 2 parancs között. Valahogy így:

std::cin >> ez -vagy- az;

Vagyis az biztos, hogy nem ennyi lenne, csak érdekel, ezt hogyan lehet kivitelezni.

2014. aug. 19. 09:38
 10/23 anonim ***** válasza:
100%

Például így:


string parancs;


do {

cin >> parancs;


if (parancs == "ez") {

// ...

}


if (parancs == "az") {

// ...

}

// ...

} while (parancs != "ez" && parancs != "az");

2014. aug. 19. 10:47
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!