
lelreincpp
(usa Ubuntu)
Enviado em 10/05/2017 - 19:47h
Saudações programadores de plantão, estou com uma atividade no qual o usuário insere uma data de locação e ao final o programa exibe: data da locação, data prevista de devolução e caso ocorra multa de atraso.
A minha dúvida maior é como irei lidar com os meses caso os dias excedam o mês, supondo que eu faça o aluguel no dia 30/04/2017 e venha a devolver daqui 5 dias... Pensei em primeira lugar em adicionar um valor de 5 há variável dia, porém eu passaria a ter uma variável inteira com valor de 35, ficaria então, 35/04/2017.
Eu poderia subtrair por exemplo: 30 - 35 = 5, mas em outros casos não adiantaria, eu teria outro problema, supondo que o produto fosse alugado no dia 29 + 5 = 34, então faço igual acima, 29 - 34 = 5, mas se conferirmos no calendário na verdade daria no dia três.
Não estou conseguindo uma lógica matemática para este problema citado por último e o problema do mês.
OBS: Não posso fazer uso da biblioteca
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
int main(){
setlocale(LC_ALL, "portuguese");
char usuario[5], livro[30];
int dia, mes, ano;
printf("Insira o nome do livro: ");
scanf("%s", &livro);
printf("Insira o tipo do usuário: ");
scanf("%s", &usuario);
printf("Insira a data do emprestimo: ");
scanf("%d%*c%d*c%d", &dia, &mes, &ano);
if (ano % 4 == 0 && (ano % 400 == 0 || ano % 100 != 0))
{
if((usuario[0]=='A')&&(usuario[1]=='L')&&(usuario[2]=='U'))
{
}
if((usuario[0]=='P')&&(usuario[0]=='R')&&(usuario[0]=='O'))
{
}
else
if((usuario[0]=='A')&&(usuario[1]=='L')&&(usuario[2]=='U'))
{
}
if((usuario[0]=='P')&&(usuario[0]=='R')&&(usuario[0]=='O'))
{
}
}