Ir ao conteúdo
  • Cadastre-se

Linguagem c com vetores


Posts recomendados

então galera, sou novo no Clube do Hardware.

estou com uma dificuldade cruel em linguagem C , queria uma ajudar de como mostra um determinado valor de um vetor, tipo, um vetor de 4 (0,1,2,3), eu armazeno valor em cada espaço do vetor, e depois queria digitar a posiçao do vetor e mostrar o valor contindo nele, eu so sei armazenar o valor e mostra todos em seguida. Eu queria como se a posiçao do vetor fosse tipo um 'buscar' da quele valor armazenado, se poderem me ajudar agradeço. segue meu cod. :)

main (){
    setlocale(LC_ALL, "Portuguese");
    struct empresa {
        char nome_empresa[100];
        char lugar_empresa[100];
        int  cod_empresa=1001;
        };
    struct empresa empresa1[4];
    
    int i,j;
    
    for(i=;i<4;i++){
        printf("Digite Nome da Empresa: \n");
        gets(empresa1.nome_empresa);        
        printf("Digite Local da Empresa: \n");
        gets(empresa1.lugar_empresa);
          printf("Codigo da Empresa %i\n\n",i+empresa1.cod_empresa);  //soma valor de j+ o cod_empresa 1001+1 ..
}   system("cls");
      printf("|******* Empresas que foram cadastradas *******| \n\n");
      for(i=;i<4;i++){
          printf("Nome da Empresa: %s\n",empresa1.nome_empresa);
          printf("Local da Empresa: %s\n",empresa1.lugar_empresa);
          printf("Codigo da Empresa %i\n\n",i+empresa1.cod_empresa);
      }
    
    return ;
}

 

Link para o comentário
Compartilhar em outros sites

@Emanuel Angelo  Você não tem somente um vetor, você tem um vetor de struct.

Veja essa parte do seu código:

 gets(empresa1.nome_empresa);  

Ela está incorreta, pois sua variável empresa1 é um vetor de struct. O correto seria isso:

gets(empresa1[ pos ].nome_empresa); 

onde "pos" é a posição do seu vetor.


Recomendo que entenda direito o que é um vetor: https://programacaodescomplicada.wordpress.com/2012/07/25/aula-25-array-vetor/

 

Depois entenda o que é um vetor de struct: https://programacaodescomplicada.wordpress.com/2012/08/31/aula-37-arrays-de-structs/

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Muito obrigado, eu fiz o certo agora, no entanto ele mostra todos os dados armazenado no vetor, agora queria criar uma opção de buscar a posição do vetor e depois mostra o que tem armazenado nessa determinada posição. Se poder me ajudar agradeço muito. 

segue o cod.

main (){
    setlocale(LC_ALL, "Portuguese");
    struct empresa {
        char nome_empresa[100];
        char lugar_empresa[100];
        int  cod_empresa=1001;
        };
    struct empresa empresa1[4];
    
    int i,j;
    
 for(i=;i<4;i++){
        printf("Digite Nome da Empresa: \n");
        fflush(stdin);
        gets(empresa1[ i ].nome_empresa);  //armazena em cada posição do vetor       
        printf("Digite Local da Empresa: \n");
        fflush(stdin);
        gets(empresa1[ i ].lugar_empresa);  //armazena em cada posição do vetor
          printf("Codigo da Empresa %i\n\n",i+empresa1.cod_empresa);  //soma valor de j+ o cod_empresa 1001+1 ..
          system("cls");
}   
    
      system("cls");
      printf("|******* Empresas que foram cadastradas *******| \n\n");  //mostra tudo armazenado no vetor
      for(i=;i<4;i++){
          printf("Nome da Empresa: %s\n",empresa1.nome_empresa);
          printf("Local da Empresa: %s\n",empresa1.lugar_empresa);
          printf("Codigo da Empresa %i\n\n",i+empresa1.cod_empresa);
      }
    
    return ;
//nao sei porque quando salvo o post ele tira la no empresa[*i ].. ele tira o colchetes i
 

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, CiroboyBR disse:

@Emanuel Angelo Tem certeza que postou o código correto?

erro 21-04-2016.png

 

 

 

 

Eu não sei, por que quando coloco o cod. aqui no post ele retira o '[ i ]' la no cod. por isso ta dando esse erro ai quando o Srº passou para o seu Dev.

cod:

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
main (){
    setlocale(LC_ALL, "Portuguese");
    struct empresa {
        char nome_empresa[100];
        char lugar_empresa[100];
        int  cod_empresa=1001;
        };
    struct empresa empresa1[4];
    
    int i,j;
    
 for(i=;i<4;i++){
        printf("Digite Nome da Empresa: \n");
        fflush(stdin);
        gets(empresa1[ i ].nome_empresa);        //armazena em cada posição do vetor
        printf("Digite Local da Empresa: \n");
        fflush(stdin);
        gets(empresa1[ i ].lugar_empresa);     //armazena em cada posição do vetor
          printf("Codigo da Empresa %i\n\n",i+empresa1.cod_empresa);  //soma valor de j+ o cod_empresa 1001+1 ..
          system("cls");
}   
    
      system("cls");
      printf("|******* Empresas que foram cadastradas *******| \n\n");
      for(i=;i<4;i++){
          printf("Nome da Empresa: %s\n",empresa1[ i ].nome_empresa);
          printf("Local da Empresa: %s\n",empresa1[ i ].lugar_empresa);
          printf("Codigo da Empresa %i\n\n",i+empresa1[ i ].cod_empresa);
      }
    
    return ;
}

 

C_struct_vetor.png

Link para o comentário
Compartilhar em outros sites

@dif Se o cara posta nas tags some os zeros. Se não posta nas tags some os índices dos vetores... tá tenso isso daqui. Seria bom alguém consertar isso...

@Emanuel Angelo Desculpas pelo inconveniente, eu não sabia desse bug do fórum.

Para buscar uma determinada posição no vetor você deve fazer assim:

 

//-----------buscr uma posição do vetor---------------//
      printf("\nDigite a posicao do vetor a ser buscada: ");
      scanf("%d", &i);
      printf("Nome da Empresa: %s\n",empresa1[ i ].nome_empresa);
      printf("Local da Empresa: %s\n",empresa1[ i ].lugar_empresa);

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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!