×
Ir ao conteúdo
  • Cadastre-se

C Fazer um programa em C


guilherme2

Posts recomendados

Faça um programa que solicite ao usuário, enquanto ele desejar, o resultado de um dado que foi lançado por ele. Ao final, seu

programa deve:

a) Informar o número total de lançamentos;

b) Calcular e mostrar a média dos lançamentos;

c) Informar para cada um dos possíveis resultados (1,2, 3,4,5 e 6), quantas vezes ele aparece e qual a porcentagem

que essa quantidade representa do total.

Ultilizando o rand  

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@guilherme2    a função rand faz parte da biblioteca 

#include <stdlib.h> 

  e você pode usar a biblioteca

#include <time.h>

  para inicializar a semente para rand 

srand(time(NULL));

 ,  para ter números diferentes a cada vez que gera um número , e um contador para a qtd de jogadas e outros para cada um dos 6 resultados possíveis ,  e depois fazer os cálculos , que são a parte mais chata desse exercício ,  que depois que você fizer esse código  , pode postar ele aqui e ajudaremos ..., ,,

Link para o comentário
Compartilhar em outros sites

@devair1010

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <time.h>

int main() {
       setlocale( LC_ALL, "Portuguese" );
       srand (time (NULL) );
int vet [6];
int i, aux, j;
int soma=0;
char opcao;

for (i=1; i<6; i++)
    do {
            aux= rand() %6+1 ;
            for (j=1; j<i; j++){
            if (vet[j] == aux  ) aux=-1;}
        if ( aux != -1) vet[i] = aux;
    }while (aux == -1);

 do {  printf("Resultado dos dados");
   for (i=0; i<6; i++)
   printf ("\t%d", vet[i]);


    printf("\nDeseja jogar o dado novamente? Digite s/n\n ");
    scanf("%c", &opcao);
}   while (opcao == 's'  || opcao == 'sim');


   // for ( i=0; i<6; i++)
    //{soma+= vet[i];}
   // printf ("\n A soma dos valores e: %d", soma);
}
 

o primeiro numero sempre da 8 e na segunda vez sorteado da o mesmo valor e para na segunda vez e não continua.. 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@guilherme2      você colocou loop's    for ,  mas assim está limitando a qtd de lançamentos ,   e seu código modificado poderia ser assim  :

#define _CRT_SECURE_NO_WARNINGS  // para usar scanf e outras funcoes no visual studio
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#define getch() _getch() // func bem antiga , precisa desse formato no visual studio
int main() 
{
    // setlocale(LC_ALL, "Portuguese");  essa bibli eh problematica , melhor nai usar
                                      // ralvez func bo seu pc , mas em outros não !
    srand(time(NULL));
    int vet[6];
    int i, aux, j;
    int soma_lancamentos = 0;
    int resultado=0;
    int lancamentos=0;
    int um=0, dois=0, tres=0;
    int quatro=0, cinco=0, seis=0;
    char opcao;
    // for (i = 1; i < 6; i++)
    do 
    {
        printf("resultado do Dado Lancado %d\n", rand() % 6 + 1);
        lancamentos++;
        printf("Qual numero saiu ");
        scanf("%d", &resultado);
        soma_lancamentos += resultado;
        switch (resultado)
        {
        case 1:
            um++;
            break;
        case 2:
            dois++;
            break;
        case 3:
            tres++;
            break;
        case 4:
            quatro++;
            break;
        case 5:
            cinco++;
            break;
        case 6:
            seis++;
            break;
        }
        printf("Deseja Continuar S/N\n");
    }while (toupper((char)getch()) != 'N' );
    printf("Total de Lancamentos ------: %d  \n", lancamentos);
    printf("A Soma Dos Lancamentos ----: %d  \n", soma_lancamentos);
    printf("A Media dos Lancamentos ---: %.2f\n",(float)soma_lancamentos / (float)lancamentos);
    printf("O Valor um     , saiu -----: %d Vez", um);
    if (um > 1)
        printf("es"); 
    printf("\n");
    printf("O Valor Dois   , saiu -----: %d Vez", dois);
    if (dois > 1)
        printf("es");
    printf("\n");
    printf("O Valor tres   , saiu -----: %d Vez", tres);
    if (tres > 1)
        printf("es");
    printf("\n");
    printf("O Valor Quatro , saiu -----: %d Vez", quatro);
    if (quatro > 1)
        printf("es");
    printf("\n");
    printf("O Valor Cinco  , saiu -----: %d Vez", cinco);
    if (cinco > 1)
        printf("es");
    printf("\n");
    printf("O Valor Seis   , saiu -----: %d Vez", seis);
    if (dois > 1)
        printf("es");
    printf("\n");
}

aí faltou a porcentagem de cada valor sorteado .     quando fizer essa parte poste o resultado .

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Curso de Hacker Ético

LANÇAMENTO!

CLIQUE AQUI E CONFIRA!

* Este curso não é ministrado pela equipe do Clube do Hardware.