Te estas desviando un poco de lo importante. El swicth-case es solo un estructura similar al if. nada mas. Busca en internet la sintaxis y listo....
Tu problema aca es que vos creaste variables del tipo float y por lo que dice el programa estas tratandolas de usar como si fuesen string.
Código C++:
Ver original#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
string figura;
float lado,base,altura ,radio;
cout<<"digite el nombre de la figura "<<endl;
cin>>figura;
if(figura.compare("cuadrado") == 0) {
cout<<"Digite el valor del lado del cuadrado"<<endl;
cin>>lado;
cout<<"el area del cuadrado es:"<<lado*lado<<endl;
}
else if(figura.compare("triangulo") == 0 ) {
cout<<"digite el valor de la base del triangulo"<<endl;
cin>>base;
cout<<"digite el valor de la altura del triangulo"<<endl;
cin>>altura;
cout<<"el area del triangulo es:"<<base*altura/2<<endl;
} else if(figura.compare("circulo") == 0) {
cout<<"digite el valor del radio del circulo"<<endl;
cin>>radio;
cout<<"el area del circulo es:"<<3.1514*radio*radio<<endl;
}
return EXIT_SUCCESS;
}