Mudando o programa em C para C++ segue abaixo o programa conseguir só trocar o printf e scanf e colocar o cout e cin, depois disso não conseguir sair do lugar se alguém puder me ajudar.
Obs: Ele até compila e executa, mas, para e volta pro início.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float metro, precototal, metrototal, basematerial, basemao, baseadmin, baseequip, basetotal;
int qualidade, estado, andares, tipo;
cout<<(" ====PROGRAMA DE ORCAMENTO====\n\
base sinduscon-BA abril/2014\n\n\n");
//pedindo ao usuario os valores
while(1==1){
cout<<("Insira o metro quadrado da construcao:\n");
cin>> metro;
cout<<("Insira o numero de andares da construcao:\n");
cin>> andares;
tipo=0;
while (tipo>3 | tipo<1){
cout<<("Insira o tipo de construcao:\n(1-Residencial casa)\n(2-Residencial predial)\n(3-Edificio comercial)\n");
cin>> tipo;}
qualidade=0;
while (qualidade>3 | qualidade<1){
cout<<("Insira a qualidade da construcao:\n(1-padrão baixo)\n(2-padrão Medio)\n(3-padrão alto)\n");
cin>> qualidade;}
//calculando os valores
metrototal=0;
metrototal= metro*andares;
switch(tipo){
case 1:
switch(qualidade){
case 1:
basematerial=510.91;
basemao=538.30;
baseadmin=172.49;
baseequip=5.50;
basetotal=1227.19;
break;
case 2:
basematerial=539.42;
basemao=730.66;
baseadmin=161.95;
baseequip=0.39;
basetotal=1432.42;
break;
case 3:
basematerial=762.59;
basemao=792.70;
baseadmin=153.11;
baseequip=0.48;
basetotal=1708.87;
break;
}
case 2:
switch(qualidade){
case 1:
basematerial=529.99;
basemao=424.27;
baseadmin=41.27;
baseequip=5.57;
basetotal=1001.11;
break;
case 2:
basematerial=470.67;
basemao=580.04;
baseadmin=89.60;
baseequip=7.47;
basetotal=1147.78;
break;
case 3:
basematerial=650.99;
basemao=690.11;
baseadmin=91.64;
baseequip=10.69;
basetotal=1443.43;
break;
}
case 3:
switch(qualidade){
case 1:
basematerial=456.56;
basemao=583.92;
baseadmin=94.77;
baseequip=8.00;
basetotal=1143.25;
break;
case 2:
basematerial=615.58;
basemao=777.83;
baseadmin=106.30;
baseequip=12.40;
basetotal=1512.11;
break;
case 3:
basematerial=713.39;
basemao=800.45;
baseadmin=106.30;
baseequip=12.31;
basetotal=1632.44;
break;
}}
//entregando os valores
cout<<("O custo estimado da construcao sera:\nMaterial - R$""%.2f""\nMao de obra -R$""%.2f""\
\nDesp. Admin.-R$""%.2f""\nEquipamento- R$""%.2f""\nTotal - R$""%.2f""\n\n\n\n", basematerial*metrototal, basemao*metrototal,\
baseadmin*metrototal,baseequip*metrototal,basetotal*metrototal);
}}
//valores obtidos do Sinduscon-Ba abril-2014
//http://cub.org.br/p_reports.php?sid=6&id=6