Boas noites
Estou com alguns problemas ao fazer um trabalho em C++.
Neste momento tenho erros de linkagem que não sei como me livro deles.
Depois tenho duvidas em alguns codigos.
void menuClientes()
{
int opcao;
do
{
cout << "1. Inserir Cliente" << endl;
cout << "2. Alterar Cliente" << endl;
cout << "3. Eliminar Cliente" << endl;
cout << "4. Sair" << endl;
cin >> opcao;
}
while (opcao<1 || opcao>4);
switch (opcao)
{
case 1: insereCliente();
break;
case 2: submenu_alteraCliente();
break;
case 3:submenu_eliminaCliente();
break;
case 4:
break;
}
}
void submenu_alteraCliente()
{
string nome;
int i, flag=0;
do
{
cout << "Qual o Cliente que deseja alterar?" << endl;
cin >> nome;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.cl_nome, nome) == 0)
{
alteraCliente();
}
else
break;
}
}
while (flag=0);
}
void submenu_eliminaCliente()
{
int opcao;
do
{
cout << "1. Eliminar por Nome" << endl;
cout << "2. Eliminar por Numero" << endl;
cout << "3. Sair" << endl;
cin >> opcao;
}
while(opcao<1 || opcao>2);
switch (opcao)
{
case 1: eliminaNome();
break;
case 2: eliminaNumero();
break;
case 3:
break;
}
}
void eliminaNome()
{
string nome;
int i, flag=0;
do
{
cout << "Qual o nome do Cliente que deseja apagar?" << endl;
cin >> nome;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.cl_nome, nome) == 0)
{
eliminaCliente();
}
else
break;
}
}
while (flag=0);
}
void eliminaNumero()
{
string numero;
int i, flag=0;
do
{
cout << "Qual o numero do Cliente que deseja apagar?" << endl;
cin >> numero;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.id_cliente, numero) == 0)
eliminaCliente();
else
break;
}
}
while (flag=0);
}
Acham que este código está correcto? Eu acho que os strcmp estão mal uma vez que me dão o seguinte erro: error C2664: 'strcmp' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const c.
Obrigado
Estou com alguns problemas ao fazer um trabalho em C++.
Neste momento tenho erros de linkagem que não sei como me livro deles.
Depois tenho duvidas em alguns codigos.
void menuClientes()
{
int opcao;
do
{
cout << "1. Inserir Cliente" << endl;
cout << "2. Alterar Cliente" << endl;
cout << "3. Eliminar Cliente" << endl;
cout << "4. Sair" << endl;
cin >> opcao;
}
while (opcao<1 || opcao>4);
switch (opcao)
{
case 1: insereCliente();
break;
case 2: submenu_alteraCliente();
break;
case 3:submenu_eliminaCliente();
break;
case 4:
break;
}
}
void submenu_alteraCliente()
{
string nome;
int i, flag=0;
do
{
cout << "Qual o Cliente que deseja alterar?" << endl;
cin >> nome;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.cl_nome, nome) == 0)
{
alteraCliente();
}
else
break;
}
}
while (flag=0);
}
void submenu_eliminaCliente()
{
int opcao;
do
{
cout << "1. Eliminar por Nome" << endl;
cout << "2. Eliminar por Numero" << endl;
cout << "3. Sair" << endl;
cin >> opcao;
}
while(opcao<1 || opcao>2);
switch (opcao)
{
case 1: eliminaNome();
break;
case 2: eliminaNumero();
break;
case 3:
break;
}
}
void eliminaNome()
{
string nome;
int i, flag=0;
do
{
cout << "Qual o nome do Cliente que deseja apagar?" << endl;
cin >> nome;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.cl_nome, nome) == 0)
{
eliminaCliente();
}
else
break;
}
}
while (flag=0);
}
void eliminaNumero()
{
string numero;
int i, flag=0;
do
{
cout << "Qual o numero do Cliente que deseja apagar?" << endl;
cin >> numero;
for (i=0; i<clientes.size(); i++)
{
if (strcmp(clientes.id_cliente, numero) == 0)
eliminaCliente();
else
break;
}
}
while (flag=0);
}
Acham que este código está correcto? Eu acho que os strcmp estão mal uma vez que me dão o seguinte erro: error C2664: 'strcmp' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const c.
Obrigado