Informática, perguntado por VitorHHBR, 1 ano atrás

Podem me ajudar com programação C?
Esta questão em si eu não entendi o que deve ser feito, o código eu sei, uso um for para laço, mas não entendi se devo criar printf para nome, printf para número de diárias e etc, pois, não ficou claro o que deve ser feito pra mim para gerar o resultado final, se preciso mesmo criar 200 laços de for

Um hotel cobra R$ 300,00 por diária e mais uma taxa adicional de serviços. Se o número de diárias for menor que 15, a taxa é de R$ 20,00. Se o número de diárias for igual a 15, a taxa é de R$ 14,00 e se o número for maior que 15, a taxa é de R$ 12,00.

Considere que há 200 pessoas e para cada uma se tenha um registro contendo seu nome e número de diárias.

Faça um programa que imprima o nome e o total a pagar de cada pessoa e imprima também o total ganho pelo hotel e o número total de diárias.

Soluções para a tarefa

Respondido por lucasolasz
1

Olá, meu amigo, boa tarde!

Pelo que entendi, temos um hotel que cobra R$300 por dia e mais a TAXA.

Você teria que criar um (Struct) com nome (pessoa) contendo {nome, diarias}.

Ai seria mais ou menos assim:  

valorDiaria=300;

Se a pessoa ficar menos que 15 dias, ou seja (dias<15), seria (valorDiaria*pessoa.diaria+20);

e também se ficar 15 dias, ou seja, (dias>15), seria (valorDiaria*pessoa.diaria+14);

e também se ficar mais que 15, ou seja, (dias>=15), seria (valorDiaria*pessoa.diaria+12);

.E sim, teria que criar um for de 200 laços deste Struct pessoa.

.Imprimir as 200 pessoas.

.Precisa de uma variável auxiliar para contabilizar a soma dos valores ganhos totais.

.Variável auxiliar para armazenar numero de diárias totais.  

Uma dica, comece rodando o seu programa com apenas 5 pessoas(ou menos), só para teste.


Eu também estou na dúvida se as taxas são para serem cobradas por dia ou apenas o valor fixo após um determinado prazo de tempo estipulado pela questão.



VitorHHBR: #include
#include

int main()

{

int i, d, n, d1, d2, d3;

for(i=1;i<=200;i++)

{

printf("Informe a diária: ");
scanf("%d", &d);

printf("Informe seu nome: ");
scanf("%s", &n);

if (d < 15)
{
d1 = 300*d
aux1 = d1+20
printf("Olá %s, você gastará R$ %d\n", n, d1);
}
else
if (d = 15)
{
d2 = 300*d+14;
printf("Olá %s, você gastará R$ %d\n", n, d2);
}
else
if (d > 15)
{
d3 = 300*d+12;
printf("Olá %s, você gastará R$ %d\n", n, d3);
}
}


system("pause");

return 0;

}
VitorHHBR: Agora ele exibe isso e eu não sei oq é Segmentation fault (core dumped)
VitorHHBR: eu sei q o aux 1 n é ali, eu fiz um d1 ali com o +20 junto
Perguntas interessantes