Ir ao conteúdo
  • Cadastre-se

Rodney Junior

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

2
  1. @devair1010 Eu estou com problema na leitura da descrição e do fornecedor, se eu coloco os números usando virgula para separar o preço ele não lê corretamente a parte de descrição e fornecedor nem o preço de venda, ai vira uma bagunça e sai errado, porém se eu coloco com ponto ele lê corretamente. Queria saber como corrigir isso pra ele executar normalmente tanto com um quanto com o outro #include <stdio.h> #include <string.h> #include <locale.h> #define MAX 80 int main(){ int escolha,lin,col, total_prod=0,num_cadastro=0,zerar_col; int a = 0; float produtos[3][3], codigo; char descricao[50][50], fornecedor[50][50]; char linha[MAX]; FILE *pba; char *nome = "tarefa_Rodney.txt"; while(escolha!=5){ printf("Escolha uma das opções abaixo \n"); printf("1-Cadastar produto \n"); printf("2-listar todos os produtos \n"); printf("3-Remover produto \n"); printf("4-salvar produtos em arquivo texto \n"); printf("5-Sair\n"); scanf("%d", &escolha); switch(escolha){ case 1: printf("Quantos produtos vai cadastrar? \n"); scanf("%d",&num_cadastro); for (lin=0; lin<num_cadastro; lin++) { total_prod++; for(col=0; col<4;) { do{ printf("[%d]-[%d]Qual o codigo do produto? O codigo tem que ser diferente de 0 \n",lin, col); scanf("%f",&produtos[lin][col]); }while(produtos[lin][col] == 0); col++; do{ printf("[%d]-[%d]Qual a quantidade? a quantidade tem que ser diferente de 0 \n", lin, col); scanf("%f",&produtos[lin][col]); }while(produtos[lin][col]== 0); col++; printf("[%d]-[%d]Qual o preco de venda? \n", lin, col); scanf("%f", &produtos[lin][col]); col++; printf("[%d]-[%d]Qual o preco de compra? \n", lin, col); scanf("%f", &produtos[lin][col]); col++; } printf("Qual a descricao?\n"); scanf("%s",&descricao[lin]); printf("Qual o fornecedor? \n"); scanf("%s", &fornecedor[lin]); } break; case 2: if(total_prod==0){ printf("Não ha nenhum produto cadastrado\n"); break; } for (lin=0; lin<num_cadastro; lin++){ for (col=0; col<4;){ printf("Codigo do produto m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; printf("Quantidade m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; printf("Preco de venda m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; printf("Preco de compra m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; } printf("Forncedor: %s\n",fornecedor[lin]); printf("Descricao: %s\n", descricao[lin]); } break; case 3: printf("Qual o codigo do produto?\n"); scanf("%f", &codigo); for(lin=0; lin<num_cadastro; lin++){ zerar_col=lin; for(col=0; col<4; col++){ if(codigo==produtos[lin][col]){ for(col=0; col<4; col++){ produtos[zerar_col][col] = 0; } strcpy(fornecedor[zerar_col], " "); strcpy(descricao[zerar_col], " "); total_prod= total_prod - 1; break; }else{ printf("produto nao encontrado\n"); break; } } } break; case 4: if((pba=fopen(nome,"w+")) == NULL){ printf ("\n\nNao foi possivel abrir o arquivo.\n\n"); return 1; } for(lin=0; lin<num_cadastro; lin++){ for(col=0; col<4; col++){ fprintf(pba,"Codigo do produto m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; fprintf(pba,"Quantidade m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; fprintf(pba,"Preco de venda m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; fprintf(pba,"Preco de compra m[%d][%d] = %.2f \n", lin, col, produtos[lin][col]); col++; } fprintf(pba,"Descricao produto: %s\n", descricao[lin]); fprintf(pba, "Fornecedor: %s\n", fornecedor[lin]); } fclose(pba); // fecha arquivo printf("\nArquivo %s gravado com sucesso!\n", nome); return 0; case 5://teste printf("Obrigado por usar este programa"); break; } } }
  2. Linguagem C Uma estrutura para representar Produtos com os seguintes dados: Código, Descrição, Fornecedor, Quantidade, Preço de Venda e Preço de Compra. Crie um vetor para armazenar os dados de no máximo N produtos, sendo N informado previamente pelo usuário. Implemente as seguintes funções: a. Procedimento para imprimir na tela um menu de opções, conforme abaixo, o qual lê do usuário a opção informada e a retorna: b. Se o usuário informou a opção 1 invoque uma função para ler as informações e cadastrar o produto; c. Se o usuário informou a opção 2 invoque uma função para listar todos os produtos cadastrados; d. Se o usuário informou a opção 3 implemente uma função que solicita o código do produto e o remove (lógica ou fisicamente, você escolhe) do vetor de produtos; e. Se o usuário informou a opção 4 implemente uma função que receba os produtos cadastrados e salve-os em um arquivo texto chamado “produtos.txt”; f. Se o usuário informou a opção 5 o programa deve ser encerrado. Todas as funções acima devem ser invocadas a partir do programa (função)

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