MateusFBL / TP_Locadora6

0 stars 0 forks source link

Implemente uma função extra, criada pelo grupo. #8

Open MateusFBL opened 7 months ago

Vikatormfc commented 7 months ago

// Fun�o para aplicar um cupom com 50% de desconto void aplicarDesconto(FILE *arquivoLocacoes) { int codigoLocacao; printf("Digite o codigo da locacao para aplicar o cupom: "); scanf("%d", &codigoLocacao);

    struct Locacao locacao;
    fseek(arquivoLocacoes, (codigoLocacao - 1) * sizeof(struct Locacao), SEEK_SET);
    fread(&locacao, sizeof(struct Locacao), 1, arquivoLocacoes);

    if (locacao.codigo == 0)
    {
        printf("Locacao nao encontrada.\n");
        return;
    }

    // Aplicar desconto de 50%
    locacao.valorTotal *= 0.5;

    // Atualizar o valor no arquivo
    fseek(arquivoLocacoes, (codigoLocacao - 1) * sizeof(struct Locacao), SEEK_SET);
    fwrite(&locacao, sizeof(struct Locacao), 1, arquivoLocacoes);

    printf("Cupom de 50%% de desconto aplicado com sucesso na locacao %d!\n", locacao.codigo);
}

EXPLICAÇÃO DO CÓDIGO: Entrada de Dados:

Solicita ao usuário que digite o código da locação para a qual deseja aplicar o cupom. Leitura da Locação:

Posiciona o ponteiro no arquivo de locações no registro correspondente ao código fornecido. Lê os dados da locação do arquivo. Verificação de Existência da Locação:

Verifica se a locação foi encontrada no arquivo. Se não, exibe uma mensagem informando que a locação não foi encontrada e encerra a função. Aplicação do Desconto:

Multiplica o valor total da locação por 0.5 para aplicar o desconto de 50%. Atualização do Valor no Arquivo:

Posiciona o ponteiro no início do registro da locação no arquivo. Escreve os dados atualizados da locação de volta no arquivo. Mensagem de Sucesso:

Exibe uma mensagem indicando que o cupom de 50% de desconto foi aplicado com sucesso na locação especificada.