What is the problems in this code?

#include<iostream>
#include<math.h>
#include<string>
using namespace std;
#define PI 3.14159
char figura;
float h,r,A,V;
int main(){
cout<<"**** Calculando Áreas de Figuras Geométricas **** "<<endl;
cout<<"\n Você deseja calcular a área e o volume de um cone, cilindro ou esfera? "<<endl;
cin>>figura
switch (figura)
{
case "cone":
cout<<"Digite o valor da altura em metros: "<<endl;
cin>>h;
cout<<"Digite o valor do raio em metros: "<<endl;
cin>>r;
A=PI*r*(sqrt(h*h+r*r)+r);
V=(PI*r*r*h)/3;
cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
break;
case "cilindro":
cout<<"Digite o valor da altura em metros: "<<endl;
cin>>h;
cout<<"Digite o valor do raio em metros: "<<endl;
cin>>r;
A=2*PI*r*h;
V=PI*r*r*h;
cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
break;
case "esfera":
cout<<"Digite o valor da altura em metros: "<<endl;
cin>>h;
cout<<"Digite o valor do raio em metros: "<<endl;
cin>>r;
A=4*PI*r*r;
V=4*(PI*r*r)/3;
cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
break;
default:
cout<<"\nOpção inválida. Digite uma das três figuras corretamente (esfera,cone,cilindro): \n"
cin>>figura;
}
cout<<endl;
return 0;


13 1 [Error] expected ';' before 'switch'
48 1 [Error] expected ';' before 'return'
Use [code][/code] tags.

You cannot switch on string literals as you are trying to. Nevermind that figura is a simple single character, and cannot store a whole string anyway.
i changed the code, but the errors are the same
Post the updated code with [code] tags.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<string>
using namespace std;
#define PI 3.14159
int figura;
float h,r,A,V;
int main()
 {
cout<<"**** Calculando Áreas de Figuras Geométricas **** "<<endl;
cout<<"\n Escolha uma das figuras a seguir:\n1-cone\n2-esfera\n3cilindro";
cin>>figura
switch (figura)
{
	case 1:
		cout<<"Digite o valor da altura em metros: "<<endl;
		cin>>h;
		cout<<"Digite o valor do raio em metros: "<<endl;
		cin>>r;
		A=PI*r*(sqrt(h*h+r*r)+r);
		V=(PI*r*r*h)/3;
		cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
		break;
	case 3:
		cout<<"Digite o valor da altura em metros: "<<endl;
		cin>>h;
		cout<<"Digite o valor do raio em metros: "<<endl;
		cin>>r;
		A=2*PI*r*h;
		V=PI*r*r*h;
		cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
		break;
	case 2:
		cout<<"Digite o valor da altura em metros: "<<endl;
		cin>>h;
		cout<<"Digite o valor do raio em metros: "<<endl;
		cin>>r;
		A=4*PI*r*r;
		V=4*(PI*r*r)/3;
		cout<<"A área da figura é "<<A<<" m² e o volume é "<<V<<" m³"<<endl;
		break;
	default:
		cout<<"\nOpção inválida. Digite uma das três figuras corretamente (esfera,cone,cilindro): \n"
		cin>>figura;
	}
cout<<endl<<endl;
cout<<"   Programa criado por Danilo Mendes    "
return 0;		
}
Zhuge i solved the problem
Excellent. What was the issue?
In the line 13 and 48 i forget the ;
Topic archived. No new replies allowed.