Ir ao conteúdo
  • Cadastre-se

C++ Como alterar uma array?


Flavio Hexa

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

@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);
}

 

Link para o comentário
Compartilhar em outros sites

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);
}

 

 

Link para o comentário
Compartilhar em outros sites

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...