Ir ao conteúdo
  • Cadastre-se

C algoritmo de loja, controle de estoque e definição


Ir à solução Resolvido por Ansi C,

Posts recomendados

 eu recebi um trabalho da faculdade para fazer em que o professor pediu para elaborar um algoritmo em que armazene os produtos (roupas) no sistema e elabore um relatório de que os produtos estão em promoção ou lançamento, porém to tento muita dificuldade com registros...



#include <stdio.h>
#include <stdlib.h>
struct <marketing>{
    int codigo_m;
    char tipo[10];
    int codigo_prod[10];
} mar[2];
    struct <produto>{
    int codigo_prod;
    char descricao;
    } produto[10];
    void lerdados(){
    int i=0,j=0;
    for(i=0; i<2; i++){
        //cadastro do marketing
    printf("codigo marketing: ");
        scanf("%d",&mar.codigo_m);
    printf("tipo, lancamento ou promocao: ");
        scanf("%s",&mar.tipo);
    printf(">>preenchendo o produto:\n");
    //preenchendo produto
    for(j=0; j<10; j++){
        printf("codigo produto");
            scanf("%d",&produto[j].codigo_prod);
        printf(" descricao:\n");
            scanf("%s",&produto[j].descricao);

            }
        }
     }
    void gravar (){
    int i,j;
    FILE *arq;
    arq=fopen("produtos.txt","w");
    for(i=0;i<2;i++){
        fprintf(arq,"tipo:%s||codigo_m:%d\n",mar.tipo,mar.codigo_m);
        fprintf(arq,"marketing\n");
            for(j=0;j<10;j++){
        fprintf(arq,"descricao:%s||codigo_prod:%d\n",produto[j].descricao,mar.codigo_prod);
        }
        fprintf(arq,"=========");
    }
        fclose(arq);
    }
    int main(){
    int op;
    do{
        printf(">>Menu:\n");
        printf("1.Ler dados\n");
        printf("2.Gravar dados\n");
        printf("3.Sair\n");
        scanf("%d",&op);
        switch(op){
            case 1: lerdados();
                break;
            case 2: Gravar();
                break;
            default: break;
    }
    }while(op!=3);

    return 0;
}


 

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, AnsiC disse:

O que queres precisamente ou que parte do problema não ficou claro e você precisa de ajuda primeiro? 

se puder ajudar eu quero saber qual parte do meu algoritmo está errada, pois ele não roda. com base em que minha dificuldade são os registros, acredito que o erro está nele mas ainda não sei definir onde.

Link para o comentário
Compartilhar em outros sites

  • Solução
#include <stdio.h>
#include <stdlib.h>

struct marketing{
    int codigo_m;
    char tipo[10];
    char codigo_prod[10];
} mar[2];

struct produto{
    int codigo_prod;
    char descricao[10];
    } produto[10];

void lerdados(){
    int i=0,j=0;
    for(i=0; i<2; i++){
    //cadastro do marketing
    printf("codigo marketing: ");
        scanf("%d",&mar[i].codigo_m);
    printf("tipo, lancamento ou promocao: ");
        scanf("%s",mar[i].tipo);
    printf(">>preenchendo o produto:\n");
    //preenchendo produto
    for(j=0; j<10; j++){
        printf("codigo produto");
            scanf("%d",&produto[j].codigo_prod);
        printf(" descricao:\n");
            scanf("%s",produto[j].descricao);

            }
        }
     }
void gravar (){
    int i,j;
    FILE *arq;
    arq=fopen("produtos.txt","w");
    for(i=0;i<2;i++){
        fprintf(arq,"tipo:%s||codigo_m:%d\n",mar[i].tipo,mar[i].codigo_m);
        fprintf(arq,"marketing\n");
            for(j=0;j<10;j++){
        fprintf(arq,"descricao: %s||codigo_prod: %s\n", produto[j].descricao, mar[j].codigo_prod);
        }
        fprintf(arq,"=========");
    }
        fclose(arq);
    }
int main(){
    int op;
    do{
        printf(">>Menu:\n");
        printf("1.Ler dados\n");
        printf("2.Gravar dados\n");
        printf("3.Sair\n");
        scanf("%d",&op);
        switch(op){
            case 1: lerdados();
                break;
            case 2: //Gravar();
                break;
            default: break;
    }
    }while(op!=3);
    return 0;
}

Compilou, mas ainda não sei ao certo porque ele faz o que faz da maneira que faz.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, AnsiC disse:

#include <stdio.h>
#include <stdlib.h>

struct marketing{
    int codigo_m;
    char tipo[10];
    char codigo_prod[10];
} mar[2];

struct produto{
    int codigo_prod;
    char descricao[10];
    } produto[10];

void lerdados(){
    int i=0,j=0;
    for(i=0; i<2; i++){
    //cadastro do marketing
    printf("codigo marketing: ");
        scanf("%d",&mar[i].codigo_m);
    printf("tipo, lancamento ou promocao: ");
        scanf("%s",mar[i].tipo);
    printf(">>preenchendo o produto:\n");
    //preenchendo produto
    for(j=0; j<10; j++){
        printf("codigo produto");
            scanf("%d",&produto[j].codigo_prod);
        printf(" descricao:\n");
            scanf("%s",produto[j].descricao);

            }
        }
     }
void gravar (){
    int i,j;
    FILE *arq;
    arq=fopen("produtos.txt","w");
    for(i=0;i<2;i++){
        fprintf(arq,"tipo:%s||codigo_m:%d\n",mar[i].tipo,mar[i].codigo_m);
        fprintf(arq,"marketing\n");
            for(j=0;j<10;j++){
        fprintf(arq,"descricao: %s||codigo_prod: %s\n", produto[j].descricao, mar[j].codigo_prod);
        }
        fprintf(arq,"=========");
    }
        fclose(arq);
    }
int main(){
    int op;
    do{
        printf(">>Menu:\n");
        printf("1.Ler dados\n");
        printf("2.Gravar dados\n");
        printf("3.Sair\n");
        scanf("%d",&op);
        switch(op){
            case 1: lerdados();
                break;
            case 2: //Gravar();
                break;
            default: break;
    }
    }while(op!=3);
    return 0;
}

Compilou, mas ainda não sei ao certo porque ele faz o que faz da maneira que faz.

ao ver o que está armazenado no arquivo, ele tem que elaborar um relatório de qual produto esta em promoção e qual produto é lançamento.

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