Ir para conteúdo
Fórum Script Brasil

satbr

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por satbr

  1. Eu tenho um programa de gerenciamento de vendas de produtos em que eu tenho uma estrutura para o armazenamento de dados do produto, outra para armazenar os dados dos clientes e outro para armazenar dados de vendas. Quando eu inseriro uma nova venda tem de ser associado a um número de série do produto existente e o id de um cliente existente. Como faço para garantir que quando os produtos de dados e clientes struct são alteradas a estrutura de vendas é atualizada?
    Aqui está o que eu tenho:
    typedef struct{
     
    char serialnumber[10]
    char description[100]
    float price
    }stproducts;
     
    typedef struct{
    int id;
    char name[50]
    char adress[100]
    int phonenumber
    }stcustomers;
     
    typedef struct{
    int idcustomersale;
    char serialnumberproductsale[10]
    float endprice;
    }stsales;
    
    
    int main()
    {
       stproducts pr[1000];
       int countproducts =0;
       stcustomers cust[500];
       int countcustomers=0; 
       stsales sal[1000];
       int countsales=0;
    
    }
    

    Parte da função inserir vendas:

    void insertsale(stsales sal[], int *countsales, stproduct pr[], int countproduct,stcustomers cust[], int countcustomers)
    {
    char psale[10];
    int number;
    
     consultproducts(pr, countproducts);
     consultcustomers(cust,countcustomers);
     printf("insert the product serial number of the sale:");
     fgets(psale, sizeof psale, stdin);
     strcpy(sal[*countsales].serialnumberproductsale,psale);
     printf("insert the customer id of the sale:");
     scanf ("%d", &number);
     sal[*countsales].idcustomersale=number;
    
    //....................
    
    
    }
    
    Por exemplo, vamos imaginar que o campo id for alterado no struct cliente, automaticamente o ID de cliente relacionado com a venda (idcustomersale) também deve ser atualizado.
    Obrigado,
  2. Estou aqui com uma dúvida que não estou a conseguir ultrapassar e já tentei de várias maneiras. Estou a fazer um programa que entre outras coisas o utilizador tem que inserir dados sobre um produto em que o número de série tem que ser único e do tipo char. Ou seja é introduzida uma string e tenho que verificar se essa string já existe na estrutura de vetores. O que está a acontecer é que quando introduzo o número de série do 1º produto o programadiz que já existe um produto com esse numero de série apesar de ser o 1º que estou a registar.



    Eis o código que tenho:

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct
    {
        char numeroserie;
        char descricao;
        float preço;
    } stProduto;
    /********************** Funcoes dos produtos *************************/
    void inserirProduto(stProduto produtos[], int *contadorProdutos);
    int procurarNumeroserie(stProduto produtos[], int contadorProdutos, char produtoAProcurar);
    
    int main()
    {
        stProduto produtos[500];
        int contadorProdutos=0;
        inserirProduto(produtos,&contadorProdutos);
        return 0;
    }
    void inserirProduto(stProduto produtos[], int *contadorProdutos)
    {
        char string1;
        char posicao;
        do
        {
            printf("Introduza o numero de serie do produto:");
            scanf("%s",&string1);
            posicao =  procurarNumeroserie(produtos,*contadorProdutos, string1);
            if (posicao == 0)
            {
                printf("já existe um produto com esse numero de serie!!!\n");
            }
        }
        while(posicao == 0);
        strcpy(produtos[*contadorProdutos].numeroserie,string1);
        (*contadorProdutos)++;
    }
    int procurarNumeroserie(stProduto produtos[], int contadorProdutos, char produtoAProcurar)
    {
       int i;
        char posicao;
        posicao = 0;
        for(i = 0 ; i < contadorProdutos ; i++)
        {
            if (strcmp(produtos[i].numeroserie, produtoAProcurar) == 0)
            {
                posicao=i;
                i=contadorProdutos;
            }
        }
        return posicao;
    }
    
    

    Alguém me pode ajudar por favor!! É que já estou a ficar desesperado.

    Desde já o meu obrigado.

×
×
  • Criar Novo...