Da erro no ciclo "for" e tenho a certeza k esta bem feito.
E diz k tenho variaveis k n estao declarads e k estao.
Precisava k me ajudassem sff.
- Código: Seleccionar todos
using namespace System;
void menu();
int funcao_validar_peso(float peso);
float ler_peso();
int funcao_validar_racao(float racao);
float ler_racao();
float funcao_processo(float peso);
void main()
{
char opcao;
int x, i;
String ^tamanho;
float erro, rcorrecta;
array<int> ^racas = gcnew array<int> (4);
do
{
menu();
opcao=char::Parse(Console::ReadLine());
if (opcao=='1')
{
Console::WriteLine("Quantos animais deseja inserir?");
x = int::Parse(Console::ReadLine());
array<float> ^peso = gcnew array<float> (x);
array<float> ^racao = gcnew array<float> (x);
Console::WriteLine("Qual a raca do animal?");
tamanho = Console::ReadLine();
String^ ToLower(tamanho);
do{
if (tamanho=="pequena")
{
racas[0]=racas[0]+1;
}
else if (tamanho=="media")
{
racas[1]=racas[1]+1;
}
else if (tamanho=="grande")
{
racas[2]=racas[2]+1;
}
else if (tamanho=="gigante")
{
racas[3]=racas[3]+1;
}
else
Console::WriteLine("Por favor escolha uma raca valida (pequena,media,grande ou gigante");
while (tamanho!="pequena" && tamanho!="media" && tamanho!="grande" && tamanho!="gigante");
}
for(int i=0;i<x;i++)
{
peso[i] = ler_peso();
racao[i]= ler_racao();
}
}
else if(opcao=='2')
{
for(int i=0;i<x;i++)
{
Console::WriteLine("{0} o. animal\n",(i+1));
rcorrecta = funcao_processo(peso[i]);
Console::WriteLine ("A racao correcta e: {0} gramas \n", rcorrecta);
if (racao[i] > rcorrecta)
{
erro = (racao[i] - rcorrecta);
Console::WriteLine ("Racao dada excede em {0} gramas \n", erro);
}
else if (racao[i] < rcorrecta)
{
erro = (rcorrecta - racao[i]);
Console::WriteLine ("Racao insuficiente em {0} gramas \n", erro);
}
else
{
Console::WriteLine ("Racao dada correctamente! \n");
}
}
}
else if(opcao!='3')
Console::WriteLine("Digite uma opcao valida!\n");
}
while(opcao!='3');
}
/////////////funcoes utilizadas pelo programa principal//////////////////
void menu(){
//System("cls");
Console::WriteLine ("*************CANIL**************\n");
Console::WriteLine ("** 1 - inserir dados **\n");
Console::WriteLine ("** 2 - calcular **\n");
Console::WriteLine ("** 3 - sair **\n");
Console::WriteLine ("********************************\n\n");
Console::WriteLine ("Digite a sua opcao: ");
}
int funcao_validar_peso(float peso)
{
if (peso>0)
{
return 1;
}
else
{
return 0;
}
}
float ler_peso()
{
float peso;
do{
Console::WriteLine("Digite o peso: ");
peso = float::Parse(Console::ReadLine());
}
while (funcao_validar_peso(peso) == 0);
return peso;
}
int funcao_validar_racao(float racao)
{
if (racao>0)
{
return 1;
}
else
{
return 0;
}
}
float ler_racao()
{
float racao;
do{
Console::WriteLine("Digite a racao: ");
racao = float::Parse(Console::ReadLine());
}
while (funcao_validar_peso(racao) == 0);
return racao;
}
float funcao_processo(float peso, String ^tamanho)
{
float racao_correcta,pmedio;
int rmedia;
if (peso <= 10)
{
rmedia = 100;
pmedio=5;
}
else if (peso >10 && peso <=25)
{
rmedia = 250;
pmedio=7;
}
else if (peso >25 && peso <=45)
{
rmedia = 400;
pmedio=9.5;
}
else if (peso >45)
{
rmedia = 500;
}
if (tamanho=="pequena" && pmedio<5)
{
racao_correcta=(rmedia-(0.005*peso*1000));
}
else if (tamanho=="pequena" && pmedio>5)
{
racao_correcta=(rmedia+(0.005*peso*1000));
}
else if (tamanho=="media" && pmedio<7)
{
racao_correcta=(rmedia-(0.005*peso*1000));
}
else if (tamanho=="media" && pmedio>7)
{
racao_correcta=(rmedia+(0.005*peso*1000));
}
else if (tamanho=="grande" && pmedio<9.5)
{
racao_correcta=(rmedia-(0.005*peso*1000));
}
else if (tamanho=="grande" && pmedio>9.5)
{
racao_correcta=(rmedia+(0.005*peso*1000));
}
else if (tamanho=="gigante")
{
racao_correcta=(rmedia+(0.005*peso*1000));
}
return (racao_correcta);
}
Erros:
- Código: Seleccionar todos
Error 1 error C2059: syntax error : 'for' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 57
Error 2 error C2065: 'i' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 57
Error 3 error C2065: 'i' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 57
Error 4 error C2143: syntax error : missing ';' before ')' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 57
Error 5 error C2143: syntax error : missing ';' before ')' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 57
Error 6 error C2143: syntax error : missing ';' before '{' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 58
Error 7 error C2065: 'i' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 59
Error 8 error C3262: invalid array indexing: -1 dimension(s) specified for 1-dimensional 'cli::array<Type> ^' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 59
Error 9 error C2065: 'i' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 60
Error 10 error C3262: invalid array indexing: -1 dimension(s) specified for 1-dimensional 'cli::array<Type> ^' c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 60
Error 11 error C2065: 'peso' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 71
Error 12 error C2065: 'racao' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 74
Error 13 error C2065: 'racao' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 76
Error 14 error C2065: 'racao' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 79
Error 15 error C2065: 'racao' : undeclared identifier c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 81
Error 16 error C2181: illegal else without matching if c:\Users\Bruno\Documents\Visual Studio 2008\Projects\loja\loja\loja.cpp 90
Quem poder corre isto num compilador para verificar se qual e o problema disto era porreiro.
Abraço


