Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Junior Milzation

C++ Aprendendo - exercício em - C++/C#/C

Recommended Posts

#include <iostream>
  
using namespace std;
int main(int argc, char** argv) {
	float Quant_filme_retirada, numero_C;
	int i;
	int TAM_MAX=500;
	

	cout<<"Informe a quantidade de filme retirada no ano"<<endl;
	cin>>Quant_filme_retirada;

	
	cout<<"Informe a quantidade de clientes"<<endl;
	cin>>numero_C;
			
	for(int i=0;i<numero_C;i++){
		float retirado_cliente;
		cout<<"Informe o numero retirado pelo cliente"<<i+1<<endl;
		cin>>retirado_cliente;
	
	if(retirado_cliente>=10){
		cout<<"O cliente "<<i<<" tem direito a uma locacao gratuita"<<endl;
	}
	}


	return 0;
}

Uma locadora de vídeos tem guardada, em um vetor de 500 posições, a quantidade de filmes retirados por seus clientes durante o ano de 1993. Agora, esta locadora está fazendo uma promoção e, para cada 10 filmes retirados, o cliente tem direito a uma locação grátis. Faça um algoritmo que crie um outro vetor contendo a quantidade de locações gratuitas a que cada cliente tem direito.

___________________________________________________________________________________________________________

Alguém poderia me ajudar nesse exercício?

Eu teria que fazer diversos "IFs" ou usar algo como && no "IF"?

Editado por Junior Milzation
Moderador mando
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Junior Milzation       verifique o valor de cada posição do vetor onde está guardado a quantidade ,  pegue esse valor e use em um loop e dentro do loop verifique se esse valor é maior ou igual a 10 e se for incrementa o contador de filmes grátis , e subtrai 10 desse valor e repete o loop até que seja menor , e depois desse loop coloca o valor desse contador no outro vetor , e isso tudo dentro de um loop que se repete 500 vezes .  não podemos fazer o código para você pois é contra as regras do fórum , então faça seu código e poste aqui para podermos ver como está e em que podemos ajudar  .

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Junior Milzation Não programo em C/C++ mas  é de praxe de todas as linguagens ter uma estrutura de Switch case para evitar os zilhões de IF

 

http://linguagemc.com.br/o-comando-switch-case-em-c/

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Junior Milzation      no enunciado diz que no vetor tem 500 filmes , então não precisa perguntar ao usuário a quantidade de filmes retirados , então esse vetor será preenchido aleatoriamente  e o que precisa é preencher o outro vetor de acordo com esse , e precisa ver a quantidade em cada posição do vetor , e a cada 10 coloca um filme grátis ,  então esse código poderia ser assim  :

#include <iostream>
#include <cstdlib>  
#include <ctime>
using namespace std;
int main(){
    int Quant_filme_retirados[500],filmes_gratis[500],cont;
    int i,j;
    srand(time(NULL));
    for(j=0;j<500;j++)
        Quant_filme_retirados[j]=rand()%100;
    for(j=0;j<500;j++){
        i=Quant_filme_retirados[j];
        cont=0;
        do{
            if(i>=10){
                cont++;
                i -= 10;
            }
        }while(i>=10);
        filmes_gratis[j]=cont;
    }
    for(j=0;j<500;j++)
        cout<<"O cliente "<<i<<" fez "<<quant_filme_retirados[i]<<" locacoes. Tem direito a "<<filmes_gratis[i]<<" filmes gratis"<<endl;      
    return 0;
}

 

Editado por devair1010

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Junior Milzation    essa função serve para que os números gerados por rand  não sejam  sempre os mesmos ,  o que aconteceria se não tivesse essa função  .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

time(NULL) retorna o tempo que passou dês do início da Era Unix até o momento atual em segundos.

A função srand() gera uma semente para o gerador de números aleatórios.

Nesse caso está usando a data e hora atual do computador ( time(NULL) ) como parâmetro do srand() para definir a semente, assim toda vez que rodar o programa novamente muda a semente pois já vai ter passado um tempo, fazendo com que os valores retornados por rand() não se repitam.

 

Editado por isrnick
  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Junior Milzation, segue algumas sugestões gerais:

 

1#
Desabilite a tabulação do seu editor de texto. No Dev-C++, por exemplo, fica em "Ferramentas/Opções de Editor", e desativa o "Usar caractere de tabulação".

 

Dessa forma, ao pressionar tab, vai inserir espaços em vez de tabulação.

 

Segue código do @devair1010 reindentado:

#include <iostream>
#include <time.h>

using namespace std;
int main() {
    int Quant_filme_retirados[500],filmes_gratis[500],cont;
    int i,j;
    
    srand(time(NULL));
    for(j=0;j<500;j++)
        Quant_filme_retirados[j]=rand()%100;
    for(j=0;j<500;j++) {
        i=Quant_filme_retirados[j];
        cont=0;
        filmes_gratis[j]=0;
        do {
            if(i>=10) {
                cont++;
                i -= 10;
            }
        } while(i>=10);
        filmes_gratis[j]=cont;
    }
    for(j=0;j<500;j++)
        printf("Quant_filme_retirados %d Quant Filmes Gratis %d\n",Quant_filme_retirados[j],filmes_gratis[j]);
    return 0;
}

 

 

 

2#

@devair1010, só um detalhe... sobre:

16 horas atrás, devair1010 disse:

#include <time.h>

 

Essa biblioteca é do C, creio que seria melhor utilizar a do C++ (já que o código está neste último).

#include <ctime> //time()

 

obs.: aqui no Dev-C++ não está reconhecendo o srand(), sendo necessário incluir a respectiva biblioteca. Ex.:

#include <cstdlib> //srand()

 

Idem para imprimir na tela... acho que com o cout fique mais apropriado (não sei).

 

 

 

3#

Tentei dar uma simplificada na lógica:

#include <iostream> //cout
#include <ctime>    //time()
#include <cstdlib>  //srand()

using namespace std;

int main() {
    int quant_filme_retirados[500],
        filmes_gratis[500],
        i;
    
    srand(time(NULL));
    
    for(i=0; i<500; i++)
        quant_filme_retirados[i]=rand()%100;
        
    for(i=0; i<500; i++) {
        filmes_gratis[i] = quant_filme_retirados[i]/10; //obs.: seria possível colocar no for acima, mas melhor separar as etapas
    }
    
    for(i=0; i<500; i++)
        cout<<"O cliente "<<i<<" fez "<<quant_filme_retirados[i]<<" locacoes. Tem direito a "<<filmes_gratis[i]<<" filmes gratis"<<endl;;
    
    return 0;
}

 

 

 

4#

Para complementar, sugiro pelo menos:

- inserir uma reserva de espaços para os números, fazer dar 2 ou 3 espaços. Por exemplo: 3 sair " 3" e 73 sair "72", para a impressão ficar alinhada.

- ajustar a frase do texto. Especialmente fazendo aceitar acentos;

 

 

***

 

Por ai vai.

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas    bem lembrado , eu tinha esquecido que era em c++ , obrigado pela dica , editei o post acima .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×