Miért nem fut a program? ( C++ )
A forráskódom:
#include <iostream>
// a három alapszám
int y;
std::cin >> y; //ebben a sorban van a hiba
int x;
std::cin >> x; //Meg ebben
int z;
std::cin >> z; //Meg ebben
// függvények az összeadasokhoz és kivonasokhoz és szorzasokhoz :
//összeadás függvények:
int a = x + x;
int b = x + y;
int c = x + z;
int d = y + y;
int e = y + z;
int f = z + z;
int g = x - x;
// kivonás függvények:
int h = x - y;
int i = x - z;
int j = y - y;
int k = y - z;
int pp = y - x;
int l = z - z;
int zz = z - x;
int ll = z - y;
//szorzas függvények:
int m = x * x;
int n = x * y;
int o = x * z;
int p = y * y;
int t = y * z;
int oo = z * z;
int main()
{
// Ezek az összeadások:
;std::cout << "Elso es elso szam osszege: " << a << std::endl ;
;std::cout << "Elso es masodik szam osszege:" << b << std::endl ;
;std::cout << "Elso es harmadik szam osszege:" << c << std::endl;
;std::cout << "Masodik es masodik szam osszege:" << d << std::endl;
;std::cout << "Masodik es harmadik szam osszege:" << e << std::endl;
;std::cout << "Harmadik es harmadik szam osszege:" << f << std::endl;
// Ezek a kivonások:
;std::cout << "Elso es elso szam kulonbsege:" << g << std::endl;
;std::cout << "Elso es masodik szam kulonbsege:" << h << std::endl;
;std::cout << "Elso es harmadik szam kulonbsege:" << i << std::endl;
;std::cout << "Masodik es elso szam kulonbsege" << k << std::endl;
;std::cout << "Masodik es masodik szam kulonbsege:" << j << std::endl;
;std::cout << "Masodik es harmadik szam kulonbsege:" << k << std::endl;
;std::cout << "Harmadik es harmadik szam kulonbsege:" << l << std::endl;
;std::cout << "Harmadik es masodik szam kulonbsege:" << ll << std::endl;
;std::cout << "Harmadik es elso szam kulonbsege:" << zz << std::endl;
// Ezek a szorzasok:
;std::cout << "Elso es elso szam szorzata:" << m << std::endl;
;std::cout << "Elso es masodik szam szorzata:" << n << std::endl;
;std::cout << "Elso es harmadik szam szorzata:" << o << std::endl;
;std::cout << "Masodik es masodik szam szorzata:" << p << std::endl;
;std::cout << "Masodik es harmadik szam szorzata:" << t << std::endl;
;std::cout << "Harmadik es harmadik szam szorzata:" << oo << std::endl;
;std::cout << "Kilepunk..." << std::endl;
return 0;
}
Hibaüzenet: error: expected constructor,destructor or type conversion before '>>' token
Nem tudok rájönni mi a hiba.
Ott van a probléma, hogy már az #include <iostream>-től a main() függvénybe kell írni a kódot. A másik dolog amit nem értek az az, hogy a forráskód második felében miért raksz ki pontosvesszőt a std::cout elé? Oda felesleges!
A compiler pedig azért írja ki a hibát, mert szimpla egyenlőségjelet (=) csak valamilyen funkción belül használhatunk. Én már elég korán el kezdtem a C++-t, már naggyából értek is hozzá, és szívesen segítek ha valami újabb probléma felmerül.
A másik dolog amit mondani szeretnék az az, hogy a kódolás sokkal egyszerűbben fog menni, ha az #include <...> után még odaírod azt, hogy using namespace std;
Így a forráskódban többször nem kell használni az std::cout-ot, elég lesz helyette cout.
És így végül a kód:
#include <iostream>
using namespace std;
int main()
{
int y;
std::cin >> y;
int x;
std::cin >> x;
int z;
std::cin >> z;
int a = x + x;
int b = x + y;
int c = x + z;
int d = y + y;
int e = y + z;
int f = z + z;
int g = x - x;
int h = x - y;
int i = x - z;
int j = y - y;
int k = y - z;
int pp = y - x;
int l = z - z;
int zz = z - x;
int ll = z - y;
int m = x * x;
int n = x * y;
int o = x * z;
int p = y * y;
int t = y * z;
int oo = z * z;
;std::cout << "Elso es elso szam osszege: " << a << std::endl ;
;std::cout << "Elso es masodik szam osszege:" << b << std::endl ;
;std::cout << "Elso es harmadik szam osszege:" << c << std::endl;
;std::cout << "Masodik es masodik szam osszege:" << d << std::endl;
;std::cout << "Masodik es harmadik szam osszege:" << e << std::endl;
;std::cout << "Harmadik es harmadik szam osszege:" << f << std::endl;
;std::cout << "Elso es elso szam kulonbsege:" << g << std::endl;
;std::cout << "Elso es masodik szam kulonbsege:" << h << std::endl;
;std::cout << "Elso es harmadik szam kulonbsege:" << i << std::endl;
;std::cout << "Masodik es elso szam kulonbsege" << k << std::endl;
;std::cout << "Masodik es masodik szam kulonbsege:" << j << std::endl;
;std::cout << "Masodik es harmadik szam kulonbsege:" << k << std::endl;
;std::cout << "Harmadik es harmadik szam kulonbsege:" << l << std::endl;
;std::cout << "Harmadik es masodik szam kulonbsege:" << ll << std::endl;
;std::cout << "Harmadik es elso szam kulonbsege:" << zz << std::endl;
;std::cout << "Elso es elso szam szorzata:" << m << std::endl;
;std::cout << "Elso es masodik szam szorzata:" << n << std::endl;
;std::cout << "Elso es harmadik szam szorzata:" << o << std::endl;
;std::cout << "Masodik es masodik szam szorzata:" << p << std::endl;
;std::cout << "Masodik es harmadik szam szorzata:" << t << std::endl;
;std::cout << "Harmadik es harmadik szam szorzata:" << oo << std::endl;
;std::cout << "Kilepunk..." << std::endl;
return 0;
}
Igen, a másik pedig az, hogy a konzol ablakban sokkal szebben néz ki, hogyha a kettősponont után raksz egy szóközt is, így:
"alma: "
minthogy így:
"alma:"
És ez mind azért van mert az előbbi esetben különírja, utóbbi esetben egybeírja a számot a szöveggel
+1, az std-k ELŐTT miért van ";"???
Teljesen fölösleges.
Azért mert Sz@r a fordítóm!
Tudsz valami normális fordítót ajánlani (pl.:amit te használsz programozáshoz C++ ban.)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!