Hol van ebben a kódban a hiba a hiba?
Egy NAGYON egyszerű és primitív számológépet akartam írni C++-ban, de a fordító mindig hibát jelez...
(Code::Blocks-ot használok) 16/F
A kód:
#include <iostream>
void osztas(); //Prototípusok
void szorzas();
void osszeadas();
void kivonas();
int main() //Program kezdete.
{
unsigned short int valasz;
std::cout<<"Milyen mûveletet akarsz végezni?\n";
std::cout<<"Szorzás(1),összeadás(2),kivonás(3),osztás(4)\n";
std::cin>>valasz; //válasz kérés
switch(valasz) //switch-case-break
case 1:
szorzas();
break;
case 2:
osszeadas();
break;
case 3:
kivonas();
break;
case 4:
osztas();
break;
return 0;
}
void szorzas() //Fügvények definiálása.
{
float szam1;
float szam2;
float szam3;
std::cout<<"Adja meg a két összeszorozni kívánt számot!\n";
std::cin>>szam1;
std::cin>>szam2;
szam3 = szam1*szam2;
std::cout<<"A két szám szorzata:"<<szam3;
}
void osszeadas()
{
float szam1;
float szam2;
float szam3;
std::cout<<"Adja meg az összeadni kívánt két számot!\n";
std::cin>>szam1;
std::cin>>szam2;
szam3 = szam1+szam2;
std::cout<<"A két szám összege:"<<szam3;
}
void kivonas()
{
float szam1;
float szam2;
float szam3;
std::cout<<"Adja meg az egymásból kivonni kívánt 2 számot!\n";
std::cin>>szam1;
std::cin>>szam2;
szam3 = szam1-szam2;
std::cout<<"A két szám különbsége:"<<szam3;
}
void osztas()
{
int szam1;
int szam2;
float szam3;
std::cout<<"Adja meg a két számot, amelyet elosztana egymással.\n";
std::cin>>szam1;
std::cin>>szam2;
szam3 = szam1 % szam2;
std::cout<<"Az osztás eredménye:"<<szam3;
}
Itt vannak a fordító üzenetei, megpróbáltam kijavítani, de úgy se jó.
r ...\Asztal\Calculator\main.cpp||In function 'int main()':|
r ...\Asztal\Calculator\main.cpp|17|error: break statement not within loop or switch|
r ...\Asztal\Calculator\main.cpp|19|error: case label '2' not within a switch statement|
r ...\Asztal\Calculator\main.cpp|21|error: break statement not within loop or switch|
r ...\Asztal\Calculator\main.cpp|23|error: case label '3' not within a switch statement|
r ...\Asztal\Calculator\main.cpp|25|error: break statement not within loop or switch|
r ...\Asztal\Calculator\main.cpp|27|error: case label '4' not within a switch statement|
r ...\Asztal\Calculator\main.cpp|29|error: break statement not within loop or switch|
||=== Build finished: 7 errors, 0 warnings ===|
Lemaradt egy { a switch utánról meg a zárója is a végéről!
vagyis:
switch(valasz){
...
osztas();
break;
}
return 0;
Kéne.
"std::cout<<"Szorzás(1),összeadás(2),kivonás(3),osztás(
4)\n";" Ennek 1 sorba kell lennie
switch szintaxisa: [link]
Vagyis a { és } hiányzik
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!