Ir ao conteúdo

Posts recomendados

Postado

Gente, boa noite!

Preciso de uma ajuda. Estou no primeiro período e preciso fazer um programa que: 

1) Inserir Produto (Deverá ter uma array para guardar o nome, e uma array para guardar o valor)

2) Alterar Produto (É possível alterar o nome, ou o preço, ou os dois)

3) Consultar produto (A consulta é pelo nome do produto)

 

Consegui fazer o 1 e o 3 mas não faço ideia de como fazer pra alterar o produto e/ou preço.

Alguém pode me dar uma ajuda?

 

Agradeço muito!

 

Segue o código:

 

#include <iostream>
#include <string>
using namespace std;

string produtos[100];
float precos[100];
int indexProduto = 1;
int indexPreco = 1;
int posicao = 1;

void  Incluir ()
{
	#include <locale.h>
    setlocale(LC_ALL, "Portuguese");
     
	cout << "Digite o produto: ";
	string produto;
	cin >> produto;
	produtos[indexProduto] = produto;
	
	cout << "Digite o preço: ";
	float preco;
	cin >> preco;
	precos[indexPreco] = preco;
	
	cout << "Produto incluido na posicao: " << indexProduto << "\n";
	indexProduto++;
	indexPreco++;
	
}

/*void  Alterar ()
{
	string busca;
	cout << "Digite o produto que deseja alterar"
	cin >> busca;
		for (int i = 0; i < indexProduto; i++)
	{
		if (busca == produtos[i])
		{
			cout << "Achei!" << produtos [i] << " : " << precos[i] << "\n";
		}
		
	}
}*/

void  Consultar ()
{
		for (int i = 0; i < indexProduto; i++)
	{

			cout << posicao << produtos [i] << ": " << precos[i] << "\n";
	
	}
}

int main()
{
     #include <locale.h>
     setlocale(LC_ALL, "Portuguese");
     
	int opcao;
	do
	{
	cout << "\nEscolha uma opcao: \n";
	cout << "1. Incluir\n";
	cout << "2. Alterar\n";
	cout << "3. Consultar\n";
	cin >> opcao;
	switch (opcao)
	{
		case 1:
			Incluir ();
			break;
		case 2:
		//	Alterar ();
			break;
		case 3:
			Consultar ();
			break;
		default: 
			cout << "Opcao invalida\n";
	}
	
} while (opcao != 0);
	
}

 

  • Curtir 1
Postado

@Flavio Hexa Na sua função de Alterar,  dentro do if(buscar == ...), adicione cout e cin para inserir novos valores no indice i, nas variaveis produtos e preco.

 

if (busca == produtos[i]){
	cout << "Achei!" << produtos [i] << " : " << precos[i] << "\n";
  	cout << "Novo nome de produto: ";
  	cin >> produtos[i];
  	...
}

 

  • Curtir 1
Postado

@Flavio Hexa    como o @TYSQUARE89  ajeitou a função alterar, seu código está bom , precisa apenas de organizar melhor, então ele ficaria assim :

#include <iostream>
#include <conio.h>
#include <string>
#include <locale.h>
using namespace std;
string produtos[100];
float precos[100];
int indexProduto;
int indexPreco;
int posicao = 1;
void  Incluir ()
{
    int x;
    char y;
	do{
        x=0;
	    cout << "Digite o produto: ";
	    cin >> produtos[indexProduto];
	    cout << "Digite o preço: ";
	    cin>>precos[indexPreco];
	    cout << "Produto incluido na posicao: " << indexProduto << "\n";
	    indexProduto++;
	    indexPreco++;
	    cout << "Quer Incluir Outro Produto S/N ";
	    cin>>y;
	    if(y=='s')x=1;
	}while(x!=0);
}
void  Alterar ()
{
	string busca;
	cout << "Digite o produto que deseja alterar ";
	cin >> busca;
    for (int i = 0; i < indexProduto; i++)
	{
		if (busca == produtos[i])
		{
			cout << "Achei!" << produtos [i] << " : " << precos[i] << "\n";
			cout<<"informe o novo nome do produto";
			cin>>produtos[i];
			cout<<"produto alterado com sucesso\n\n      Tecle\n";
			getch();
			break;
		}
	}
}
void  Consultar ()
{
    for (int i = 0; i < indexProduto; i++)
	{
        cout<<posicao<<"  produto --> "<<produtos[i]<<" ---- valor --> " <<precos[i]<<"\n";
	}
	cout<<"\n       Tecle\n\n";
	getch();
}
int main()
{
    setlocale(LC_ALL, "");
	int opcao;
	do
	{
        cout << "\nEscolha uma opcao: \n";
        cout << "0. sair\n";
        cout << "1. Incluir\n";
        cout << "2. Alterar\n";
        cout << "3. Consultar\n";
        cin >> opcao;
        switch (opcao)
	    {
            case 0:
                cout<<"saindo...!\n";
                break;
		    case 1:
			    Incluir ();
			    break;
		    case 2:
			    Alterar ();
			    break;
		    case 3:
			    Consultar ();
			    break;
		    default:
			    cout << "Opcao invalida\n";
	    }
    } while (opcao != 0);
}

 

Postado
12 horas atrás, devair1010 disse:

 @TYSQUARE89  @devair1010 Gente muito obrigado! Era até mais simples que eu imaginava...:tw_expressionless: Valeu mesmo!!! Resolvido e obrigado por me mostrar como otimizar o código!


#include <iostream>
#include <conio.h>
#include <string>
#include <locale.h>
using namespace std;
string produtos[100];
float precos[100];
int indexProduto;
int indexPreco;
int posicao = 1;
void  Incluir ()
{
    int x;
    char y;
	do{
        x=0;
	    cout << "Digite o produto: ";
	    cin >> produtos[indexProduto];
	    cout << "Digite o preço: ";
	    cin>>precos[indexPreco];
	    cout << "Produto incluido na posicao: " << indexProduto << "\n";
	    indexProduto++;
	    indexPreco++;
	    cout << "Quer Incluir Outro Produto S/N ";
	    cin>>y;
	    if(y=='s')x=1;
	}while(x!=0);
}
void  Alterar ()
{
	string busca;
	cout << "Digite o produto que deseja alterar ";
	cin >> busca;
    for (int i = 0; i < indexProduto; i++)
	{
		if (busca == produtos[i])
		{
			cout << "Achei!" << produtos [i] << " : " << precos[i] << "\n";
			cout<<"informe o novo nome do produto";
			cin>>produtos[i];
			cout<<"produto alterado com sucesso\n\n      Tecle\n";
			getch();
			break;
		}
	}
}
void  Consultar ()
{
    for (int i = 0; i < indexProduto; i++)
	{
        cout<<posicao<<"  produto --> "<<produtos[i]<<" ---- valor --> " <<precos[i]<<"\n";
	}
	cout<<"\n       Tecle\n\n";
	getch();
}
int main()
{
    setlocale(LC_ALL, "");
	int opcao;
	do
	{
        cout << "\nEscolha uma opcao: \n";
        cout << "0. sair\n";
        cout << "1. Incluir\n";
        cout << "2. Alterar\n";
        cout << "3. Consultar\n";
        cin >> opcao;
        switch (opcao)
	    {
            case 0:
                cout<<"saindo...!\n";
                break;
		    case 1:
			    Incluir ();
			    break;
		    case 2:
			    Alterar ();
			    break;
		    case 3:
			    Consultar ();
			    break;
		    default:
			    cout << "Opcao invalida\n";
	    }
    } while (opcao != 0);
}

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!