Boa noite pessoal, estou com um código que me exibe valores errados, ao meu ver, minha lógica está correta porém quando solicito resultado o que é mostrado não tem nada haver com o objetivo final do código.
Eu tenho uma atividade que solicita o nome do cliente e a quantidade de dvd’s alugados por ele, com base na quantidade inserida pelo usuário o programa deve calcular quantas locações ele teria grátis. A cada 10 Dvd’s alugado por ele, ele teria 1 locação grátis, ou seja, 54 locações pagas, 5 locações grátis. A solução encontrada por mim foi a seguinte:
aux = valor / 10; //54 / 10 = 5,4 aux = aux % 10; //5,4 % 10 = 5
Mas sempre recebo como retorno valores acima ou abaixo do esperado. Eis meu código abaixo.
include
include
include
int main(void) { setlocale(LC_ALL, ""); int i, varaux; int vetorB[10]; char vetorA[50][8]; for(i = 0; i < 5; i++) { printf("Insira o nome completo do cliente, número [%i]: ", i+1); scanf("%s", &vetorA[i]); } printf("\n"); for(i = 0; i < 5; i++) { printf("Insira a total de DVD's locados pelo cliente: %s ", vetorA[i]); scanf("%f", &vetorB[i]); } printf("\n"); for(i = 0; i < 5; i++) { if(vetorB[i] > 10) { varaux = vetorB[i] / 10; varaux = varaux % 10; printf("O cliente %s possui um total de %i locações.\n", vetorA[i], varaux); } else { printf("O cliente não possui locações o suficiente. TOTAL: %i\n", vetorB[i]); } } }