elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayudenme
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ayudenme  (Leído 12,759 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
ayudenme
« en: 7 Junio 2009, 19:54 pm »

tenbgo  un problema que me dejaron quisiera que me ayuden     


Diseñe un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en base a la cantidad seis obtenidos, de acuerdo a lo siguiente: tres seis, excelente; dos seis, muy bien; un seis, regular; ningún seis, pésimo.



y mi codigo es este pero no me funka a ver en que me equiboke ayudnem opp`s



#include <iostream.h>
#include <conio.h>
#include <studio>


int main ()

int dado1,dado2,dado3;


{
    cout<<"arroje el primer dado";
    cin>>dado1;
    cout<<"arroje el segundo dado";
    cin>>dado2;
    cout<<"arroje el tercer dado";
    cin>>dado3;
   
    if( dado1 + dado2 + dado3 == 18 ) 
    { 
       printf( "Excelente");
        }
     else if
     (dado1+dado2 == 12 || dado1+dado3 == 12 || dado2+dado3 == 12 )
     {
     printf("Muy bién");
     }
     else if
     ( dado1 == 6 || dado2 == 6 || dado3 == 6 )
     }
         printf("regular");
        {
     else
      printf("pesima");
      getch();
     }
     
 
   
   


En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: ayudenme
« Respuesta #1 en: 7 Junio 2009, 20:06 pm »

Mira este ejemplo:

Código
  1. #include <iostream>
  2. #include <time.h>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    int cnt,i;
  9.    int a[3];
  10.    cnt=0;
  11.    srand ( time(NULL) );
  12.    for (i=0; i< 3; i++)
  13.    {
  14.        a[i]=rand() %6 +1;
  15.        if(a[i]==6){cnt++;}
  16.    }
  17.    switch(cnt)
  18.    {
  19.        case 0:cout<<"Pesimo"<<endl;
  20.                break;
  21.        case 1:cout<<"Regular"<<endl;
  22.                break;
  23.        case 2:cout<<"Muy bien"<<endl;
  24.                break;
  25.        case 3:cout<<"Exelente"<<endl;
  26.                break;
  27.    }
  28.    system("pause");
  29.    return 0;
  30. }


« Última modificación: 7 Junio 2009, 20:08 pm por Emt.dev » En línea

andi1991

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: ayudenme
« Respuesta #2 en: 8 Junio 2009, 00:43 am »

Citar
Diseñe un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en base a la cantidad seis obtenidos, de acuerdo a lo siguiente: tres seis, excelente; dos seis, muy bien; un seis, regular; ningún seis, pésimo.
Código:
#include <iostream.h>
#include <conio.h>
#include <studio>


int main ()

int dado1,dado2,dado3;


{
    cout<<"arroje el primer dado";
    cin>>dado1;
    cout<<"arroje el segundo dado";
    cin>>dado2;
    cout<<"arroje el tercer dado";
    cin>>dado3;
   
    if( (dado1 + dado2 + dado3) == 18 ) 
       printf( "Excelente");
     else if
     ((dado1+dado2) == 12 || (dado1+dado3) == 12 || (dado2+dado3) == 12 )
     printf("Muy bién");
     else if
     ( dado1 == 6 || dado2 == 6 || dado3 == 6 )
         printf("regular");
     else
      printf("pesima");
      getch();
     }


bueno eso es lo que quieres hacer.... antes de eso dejame decirte q cuando usas un if y solo es una instruccion que quieres hacer no son necesarias las llaves y todo lo qe has hecho lo puedes resumir con un switch...........

otra cosa:
no tiene sentido ingresar cuanto has sacado en cada dado, por lo tando deberias generar todos los dados con una simulacion aleatoria y ahi ver si ganastes o no!!! por eso mira y analiza el codigo de Emt.dev y veras q el no hace ningun ingreso sino el aleatorio para ver si ahi ganastes o perdistes...... saludos
En línea

la clase es perfecta si no existiese subclases
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: ayudenme
« Respuesta #3 en: 8 Junio 2009, 00:49 am »

Citar
y analiza el codigo de Emt.dev y veras q el no hace ningun ingreso sino el aleatorio para ver si ahi ganastes o perdistes...... saludos
Exacto... Ahora lo explico

Código
  1. for (i=0; i< 3; i++)    {        a[i]=rand() %6 +1;        if(a[i]==6){cnt++;}    }

Aqui se guarda en un array unidimensional, 3 valores aleatorios que van de 1 hasta 6.
Se utiliza un array ya que lo que quieres obtener con
Código
  1. int dado1,dado2,dado3;
Es un tipo de dato único, y para no deperdiciar 3 int's, se resumen en un array(Conjunto homogeneo de datos)



En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: ayudenme
« Respuesta #4 en: 8 Junio 2009, 02:34 am »

pero men al compilar me salen 5 errores de compilacion pork ahahahah q que se deve
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: ayudenme
« Respuesta #5 en: 8 Junio 2009, 02:37 am »

 :-\ Si te refieres al mío, se puede deber a que no tienes incluido en tus librerias a "time.h". Yo compilo con code::blocks  ;)
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: ayudenme
« Respuesta #6 en: 8 Junio 2009, 02:44 am »

pero dime ?¿?¿? si fuera solo con funcion cout??? como seria men   si lo planteo asi

INICIO
    // Declaración de variables
    ENTERO dado1, dado2, dado3
    CADENA calificacion

    // Entrada de datos
    LEER dado1, dado2, dado3  

    // Determina la calificación
    SI( dado1 + dado2 + dado3 == 18 )    
        calificacion = "Excelente"
    SINO SI( dado1+dado2 == 12 || dado1+dado3 == 12 || dado2+dado3 == 12 )
        calificacion = "Muy bién"
    SINO SI( dado1 == 6 || dado2 == 6 || dado3 == 6 )
        calificacion = "Regular"
    SINO
        calificacion = "Pésimo"

    // Salida de resultados
    IMPRIMIR calificacion
FIN


pero todo en fuyncion cout y cin ?¿?¿
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: ayudenme
« Respuesta #7 en: 8 Junio 2009, 02:48 am »

Pues andi1991 te dio la respuesta. Unicamente debes cambiar printf por std::cout

ejemplo:

Código
  1. if( (dado1 + dado2 + dado3) == 18 )  
  2. printf( "Excelente");

equivale a:

Código
  1. if( (dado1 + dado2 + dado3) == 18 )
  2. std::cout<<"Exelente"<<std::endl;
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: ayudenme
« Respuesta #8 en: 8 Junio 2009, 02:58 am »

pero men igual no me sale pork ahahaha?¿?¿?' ya cambie todo pero me sale error de compilacion
En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: ayudenme
« Respuesta #9 en: 8 Junio 2009, 03:02 am »

ayudaria que pusieras que errores te salen  :(
@andi1991 no es studio es stdio.h en c y cstdio en C++,
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines