Ir ao conteúdo
  • Cadastre-se

PRoblema case 5; e na entrada e saida TXT;


Posts recomendados

Exercício 5:
Você foi convidado a desenvolver o programa chamado “SISCAD: Sistema de Cadastro
Simples” para cadastro de produtos. O sistema deverá manter para um produto: código
(numérico inteiro e é campo chave), descrição e preço. E poderá ser cadastrado até 50
produtos. Além disso você deverá dar opção para o usuário executar as seguintes operações:

 

Carregar produtos do arquivo entrada.txt

1. Cadastrar um produto
2. Pesquisar um produto pelo codigo;
3. Pesquisar o produto mais barato

4. Pesquisar o produto mais caro
5. Calcular o preco medio de todos os produtos cadastrados
6. Imprimir todos produtos ordenados pelo codigo ou descricao;");
7. Imprimir a quantidade de produtos cadastrados;");
8. Excluir um produto pelo código;");
9. Fim do programa ;\n");

Salvar produtos no arquivo saida.txt


 

 

Estou com um problema no case 5, não está funcionando no código, o código é esse aqui: 

E também não sei como salvar o arquivo na saida... Pf me ajudem, trabalho é apara quarta-feira 26/06/2017

 

 


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
struct Cadastro
{
    int codigo;
    char descricao[50];
    double preco;
};


int main()
{
    int select, contp=0, pesquisa_codigo,i, j, temp;
    double maior=0;
    double menor=0;
    double media;
    double soma = 0;
    FILE *arq= fopen("arquivo.bin", "wb");
    setlocale(LC_ALL, "Portuguese");
    struct Cadastro produto[50];

    do
    {


        printf("Tecle a opcao desejada para o SISCAD:\n");

      printf("\n1. Cadastrar um produto;");
        printf("\n2. Pesquisar um produto pelo codigo;");
        printf("\n3. Pesquisar o produto mais barato ;");
        printf("\n4. Pesquisar o produto mais caro;");
        printf("\n5. Calcular o preco medio de todos os produtos cadastrados;");
        printf("\n6. Imprimir todos produtos ordenados pelo codigo ou descricao;");
        printf("\n7. Imprimir a quantidade de produtos cadastrados;");
        printf("\n8. Excluir um produto pelo código;");
        printf("\n9. Fim do programa ;\n");

        scanf("%d", &select);
        system("cls");
        switch(select)
        {
            case 1:{
                    printf("\n Cadastrar um produto:\n codigo: ");
            scanf("%d", &produto[contp].codigo);
            printf("\nDescrição:");
            scanf("%s", produto[contp].descricao);
            printf("\n Preco:");
            scanf("%lf",&produto[contp].preco);
            printf("\nProduto Cadastrado!");
            system ("pause");
            contp++;
            system("cls");
                
                
                break;
            }
            
            case 2:{
                      printf("\n Pesquisar um produto pelo codigo: \nDigite um codigo:");
            scanf("%d", &pesquisa_codigo);
            for(i=0; i<contp; i++)
            {
                if (pesquisa_codigo==produto.codigo)
                {
                    printf("\n Prduto: %s  Preço :%lf", produto .descricao, produto.preco);
                    system("pause");
                    system("cls");


                }
            }
            printf("Codigo nao cadastrado");
                
                
                break;
            }
            
            case 3:{
                
                    menor=produto[0].preco;
            for(i=0; i<contp; i++)
            {
                if (produto.preco<menor){
                    menor = produto.preco;

                }
            }
            printf("O menor preco e %lf\n",menor);


            system("pause");
                
                
                break;
            }
            
            
            case 4:{
                
                
                maior=produto[0].preco;
            for(i=0; i<contp; i++)
             {

                if (produto.preco>maior){
                    maior = produto.preco;

                }
             }
            printf("O maior preco e %lf\n",maior);
                
                break;
            }
            
         case 5 :{
    
         

            for(i=0; i<contp; i++)
            soma = produto[contp].preco+soma;
            media = soma/contp;
            printf("A media é %lf", media);
            system("pause");
            system("cls");


            break;
            }
            
            case 6:{
                
                  for(i=0; i<contp; i++){
                for(j=i+1; j<contp; j++)
                {
                    if (produto.codigo>produto[j].codigo)
                    {
                        temp=produto.codigo;
                        produto.codigo=produto[j].codigo;
                        produto[j].codigo=temp;
                    }
                }
                printf("%d %s %lf\n", produto.codigo, produto.descricao, produto.preco);
            }
                
                
                
                break;
            }
            
            case 7:{
                
                 printf("%d\n\n",contp);
                
                break;
            }
            
            case 8:{
                
                    printf("\n Excluir um produto pelo codigo: \nDigite um codigo:");
            scanf("%d", &pesquisa_codigo);
            for(i=0; i<contp; i++)
            {
                if (pesquisa_codigo==produto.codigo)
                {
                    for(j=i; j<contp-1; j++)
                    {
                        produto[j].codigo=produto[j+1].codigo;
                        produto[j].preco=produto[j+1].preco;
                        strcpy(produto[j].descricao,produto[j+1].descricao);

                    }
                    contp--;


                }

            }
                break;
            }
    }
}
        while (select != 9);
    return 0;
}
 

Link para o comentário
Compartilhar em outros sites

https://www.clubedohardware.com.br/forums/topic/1136701-botão-code-como-e-para-que-usar/

adicionado 2 minutos depois

Colar o código novamente. Faça desde do seu arquivo e não desde esse que você postou, pois ao não usar o botão <> o fórum "come" algumas letras. Fazendo isso você aumenta as chances de obter ajuda.

Link para o comentário
Compartilhar em outros sites

 Obrigado Vango!!

 
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
struct Cadastro
{
    int codigo;
    char descricao[50];
    double preco;
};


int main()
{
    int select, contp=0, pesquisa_codigo,i, j, temp;
    double maior=0;
    double menor=0;
    double media;
    double soma = 0;
    FILE *arq= fopen("arquivo.bin", "wb");
    setlocale(LC_ALL, "Portuguese");
    struct Cadastro produto[50];

    do
    {


        printf("Tecle a opcao desejada para o SISCAD:\n");

      printf("\n1. Cadastrar um produto;");
        printf("\n2. Pesquisar um produto pelo codigo;");
        printf("\n3. Pesquisar o produto mais barato ;");
        printf("\n4. Pesquisar o produto mais caro;");
        printf("\n5. Calcular o preco medio de todos os produtos cadastrados;");
        printf("\n6. Imprimir todos produtos ordenados pelo codigo ou descricao;");
        printf("\n7. Imprimir a quantidade de produtos cadastrados;");
        printf("\n8. Excluir um produto pelo código;");
        printf("\n9. Fim do programa ;\n");

        scanf("%d", &select);
        system("cls");
        switch(select)
        {
        	case 1:{
        		    printf("\n Cadastrar um produto:\n codigo: ");
            scanf("%d", &produto[contp].codigo);
            printf("\nDescrição:");
            scanf("%s", produto[contp].descricao);
            printf("\n Preco:");
            scanf("%lf",&produto[contp].preco);
            printf("\nProduto Cadastrado!");
            system ("pause");
            contp++;
            system("cls");
        		
        		
				break;
			}
			
			case 2:{
				      printf("\n Pesquisar um produto pelo codigo: \nDigite um codigo:");
            scanf("%d", &pesquisa_codigo);
            for(i=0; i<contp; i++)
            {
                if (pesquisa_codigo==produto[i].codigo)
                {
                    printf("\n Prduto: %s  Preço :%lf", produto [i].descricao, produto[i].preco);
                    system("pause");
                    system("cls");


                }
            }
            printf("Codigo nao cadastrado");
        		
        		
				break;
			}
			
			case 3:{
				
				    menor=produto[0].preco;
            for(i=0; i<contp; i++)
            {
                if (produto[i].preco<menor){
                    menor = produto[i].preco;

                }
            }
            printf("O menor preco e %lf\n",menor);


            system("pause");
        		
        		
				break;
			}
			
			
			case 4:{
        		
        		
        		maior=produto[0].preco;
            for(i=0; i<contp; i++)
             {

                if (produto[i].preco>maior){
                    maior = produto[i].preco;

                }
             }
            printf("O maior preco e %lf\n",maior);
        		
				break;
			}
			
		 case 5 :{
	
		 

            for(i=0; i<contp; i++)
            soma = produto[contp].preco+soma;
            media = soma/contp;
            printf("A media é %lf", media);
            printf("%lf soma", soma);

            system("pause");
            system("cls");


            break;
			}
			
			case 6:{
				
				  for(i=0; i<contp; i++){
                for(j=i+1; j<contp; j++)
                {
                    if (produto[i].codigo>produto[j].codigo)
                    {
                        temp=produto[i].codigo;
                        produto[i].codigo=produto[j].codigo;
                        produto[j].codigo=temp;
                    }
                }
                printf("%d %s %lf\n", produto[i].codigo, produto[i].descricao, produto[i].preco);
            }
				
        		
        		
				break;
			}
			
			case 7:{
        		
        		 printf("%d\n\n",contp);
        		
				break;
			}
			
			case 8:{
        		
        		    printf("\n Excluir um produto pelo codigo: \nDigite um codigo:\n\n");
            scanf("%d", &pesquisa_codigo);
            for(i=0; i<contp; i++)
            {
                if (pesquisa_codigo==produto[i].codigo)
                {
                    for(j=i; j<contp-1; j++)
                    {
                        produto[j].codigo=produto[j+1].codigo;
                        produto[j].preco=produto[j+1].preco;
                        strcpy(produto[j].descricao,produto[j+1].descricao);

                    }
                    contp--;


                }

            }
				break;
			}
	}
}
	    while (select != 9);
	    
	    
	    printf("Fim do programa Humberto SISCAD, tecle algo para finalizar\n\n\n");
	    system ("pause");
    return 0;
}

 

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