Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Flavio Hexa

C++ Como alterar uma array?

Recommended Posts

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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);
    }

     

     

    Editado por Flavio Hexa

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×