błędy w kodzie (switch)

0

Jestem nowicjuszem w programowaniu. Ostatnio napisałem kalkulator w konsoli jednak przy komplikacji wyskakują mi błędy. Nie wiem co zrobiłem źle. Proszę o pomoc.

błędy:

01.cpp:78: error: case label 0' not within a switch statement 01.cpp:85: error: case label 2' not within a switch statement
01.cpp:91: error: case label 3' not within a switch statement 01.cpp:98: error: case label 4' not within a switch statement
01.cpp:106: error: case label 5' not within a switch statement 01.cpp:114: error: case label 6' not within a switch statement
01.cpp:122: error: case label 7' not within a switch statement 01.cpp:130: error: case label 8' not within a switch statement
01.cpp:145: error: case label `9' not within a switch statement
01.cpp:148: error: case label not within a switch statement

kod:

#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>

float bokkw, przekatnakw, bokpr1, bokpr2, podstawatr1, podstawatr2, wysokosctr, d1, d2, o1, o2, m1, m2, dz1, dz2;

float obwod_kwadratu(float x)
{
return x4;
}
float pole_kwadratu(float x)
{
return x
x;
}
float pole_kwadratuprze(float x)
{
return xx/2;
}
float obwod_prostokata(float x,float y)
{
return x
2+y2;
}
float pole_prostokata(float x,float y)
{
return x
y;
}
float pole_trapezu(float h, float a, float b)
{
return a+b/2h;
}
float dodawanie(float a, float b)
{
return a+b;
}
float odejmowanie(float a, float b)
{
return a-b;
}
float mnozenie(float a, float b)
{
return a
b;
}
float dzielenie(float a, float b)
{
return a/b;
}

int main()
{
for(;;)
{
printf("\nMENU GLOWNE \n");

printf("\n-------------------------------------------\n");

printf("1.Pole i obwod kwadrata z uzyciem bokuw\n");
printf("2.Pole kwadrata z uzyciem przekatnej \n");
printf("3.Pole i obwod prostokata z uzyciem bokuw\n");
printf("4.Pole trapezu z uzyciem podstaw i wysokosci\n");
printf("5.Dodawanie 2 liczb\n");
printf("6.Odejmowanie 2 liczb\n");
printf("7.Mnozenie 2 liczb\n");
printf("8.Dzielenie 2 liczb\n");
printf("9.Wyjscie\n");

;printf("\n-------------------------------------------\n");
char opcja;
printf("wybierz opcje ");
scanf("%c", opcja);

switch ( opcja );
{
case 0:
{printf("\nPodaj dlugosc boku kwadratu ");
scanf("%s", bokkw);
float isamu = obwod_kwadratu(bokkw);
float polekw = pole_kwadratu(bokkw);
printf("kwadrat o boku %2.f ma obwod %2.f a pole %2.f\n", bokkw, isamu, polekw);
break;}
case 2:
printf("\npodaj dlugosc przekatnej kwadratu ");
scanf("%2.f\n", przekatnakw);
float pole = pole_kwadratuprze(przekatnakw);
printf("kwadrat o przekatnej %2.f ma pole %2.f\n" ,przekatnakw, pole);
break;
case 3:
printf("\npodaj boki prostokata ");
scanf("%2.f %2.f\n", bokpr1, bokpr2);
float obwodpr = obwod_prostokata(bokpr1,bokpr2);
float polepr = pole_prostokata(bokpr1,bokpr2);
printf("Prostokat o bokach %2.f %2.f ma pole %2.f o obwod %2.f\n", bokpr1, bokpr2, polepr, obwodpr);
break;
case 4:
printf("\nPodaj wysokość trapezu ");
scanf("%2.f" , wysokosctr);
printf("podaj dlugosc podstaw trapezu ");
scanf("%2.f %2.f\n", podstawatr1, podstawatr1);
float poletrapezu = pole_trapezu( wysokosctr, podstawatr1, podstawatr2);
printf("trapez ma pole %2.f\n", poletrapezu);
break;
case 5:
printf("\nPodaj 1 liczbe ");
scanf("%2.f\n", d1);
printf("podaj 2 liczbe ");
scanf("%2.f\n", d2);
float dodawaniee = dodawanie( d1, d2);
printf("wynik %2.f\n", dodawaniee) ;
break;
case 6:
printf("\nPodaj 1 liczbe ");
scanf("%2.f\n", o1);
printf("podaj 2 liczbe ");
scanf("%2.f\n", o2);
float odejmowaniie = odejmowanie( o1, o2);
printf("wynik %2.f\n", odejmowaniie) ;
break;
case 7:
printf("Podaj 1 liczbe ");
scanf("%2.f", m1);
printf("podaj 2 liczbe ");
scanf("%2.f", m2);
float mmnozenie = mnozenie( m1, m2);
printf("wynik %2.f", mmnozenie);
break;
case 8:

  printf("Podaj 1 liczbe ");
  scanf("%2.f", dz1);
  printf("podaj 2 liczbe ");
  scanf("%2.f", dz2);

if ((dz1 != 0) || (dz2 != 0))

  printf("wynik %2.f", dzielenie( dz1, dz2));

else printf("\nNie dzielimy przez 0\n");

break;
case 9:
exit (0);
break;
default:
printf("\nNiema takiej opcj\n");
break;
}
getchar();
system("cls");
}
return 0;
}

2
  1. wrzucaj kod w znaczniki code
  2. formatuj swoj kod tak by dalo sie go czytac
  3. po switchu dales srednik
switch ( opcja ); 

przez co switch skonczyl sie w tej samej linii...
4) nie uzywasz getchar do zatzymania konsoli. IDE samo powinno to robic
5) po co Ci system("cls")?
6) exit nie sluzy do konczenia programu. Tam powinienes miec boola ktorego ustawiasz na true i wtedy wychodzisz z glownej petli.

0
switch (opcja); // przemysl to dobrze

Poza tym weź w {} wszystkie instrukcje w case'ach.
Masz 23 warningi w kodzie, zrób coś z tym. I wiedz, że przy takim formatowaniu w ogóle nie powinienem Ci odpowiadać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1