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();
}
Mira este ejemplo:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int cnt,i;
int a[3];
cnt=0;
srand ( time(NULL) );
for (i=0; i< 3; i++)
{
a[i]=rand() %6 +1;
if(a[i]==6){cnt++;}
}
switch(cnt)
{
case 0:cout<<"Pesimo"<<endl;
break;
case 1:cout<<"Regular"<<endl;
break;
case 2:cout<<"Muy bien"<<endl;
break;
case 3:cout<<"Exelente"<<endl;
break;
}
system("pause");
return 0;
}
CitarDiseñ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.
#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
Citary 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
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
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)
pero men al compilar me salen 5 errores de compilacion pork ahahahah q que se deve
:-\ 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 ;)
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 ?¿?¿
Pues andi1991 te dio la respuesta. Unicamente debes cambiar printf por std::cout
ejemplo:
if( (dado1 + dado2 + dado3) == 18 )
printf( "Excelente");
equivale a:
if( (dado1 + dado2 + dado3) == 18 )
std::cout<<"Exelente"<<std::endl;
pero men igual no me sale pork ahahaha?¿?¿?' ya cambie todo pero me sale error de compilacion
ayudaria que pusieras que errores te salen :(
@andi1991 no es studio es stdio.h en c y cstdio en C++,
Recien estuve mirando el código andi1991 tienes razón... estaba mal escrito... aqui te dejo el code verdadero:
#include <iostream>
int main ()
{
int dado1,dado2,dado3;
std::cout<<"arroje el primer dado";
std::cin>>dado1;
std::cout<<"arroje el segundo dado";
std::cin>>dado2;
std::cout<<"arroje el tercer dado";
std::cin>>dado3;
if( (dado1 + dado2 + dado3) == 18 )
std::cout<<"Exelente"<<std::endl;
else if
((dado1+dado2) == 12 || (dado1+dado3) == 12 || (dado2+dado3) == 12 )
std::cout<<"Muy bien"<<std::endl;
else if
( dado1 == 6 || dado2 == 6 || dado3 == 6 )
std::cout<<"Regular"<<std::endl;
else
std::cout<<"Pesimo"<<std::endl;
system("pause");
return 0;
}
y ya no va el conio?????? pork aun me sigue saliendo error claro que ahora son solo 2 errores
Conio.h es una libreria para manejar "gráficos" en modo consola, en este caso no es necesario.
studio no existe, la que existe es stdio.h
En cuanto a la compilación fijate bien que yo lo compilo tranquilamente, y todo el code es standar de c++(exepto system())... o acaso tu quieres utilizar c?
ya me salio gracias men haci los voya hacer todos (Y) muxas gracias cuialkier cosa cuanto con ustedes ??¿?¿? prokurare aprender mas para aportar al foro?????
Citarprokurare aprender mas para aportar al foro?????
Tienes idea sobre ortografía? :xD... Solo trata de ser un poco más formal,por aqui rondan muchos user's que tienen sensible la vista.
Citarmuxas gracias cuialkier cosa cuanto con ustedes
Cuenta con el foro ;)
no entiendo la obsecion por el system(pause) cuando se pueden usar soluciones mas estandar y/o elegantes :¬¬
En c++ se tiende a utilizar cin.get()(pero a veces trae problemas porque queda el valor almacenado en el buffer); de vez en cuando. En c getchar().
Podrían explicarme por favor qué significan las barras (parecidas a las de valor absoluto) en qué lenguaje de programación es y la primera condición la entendí, pero la segunda no daría lo mismo ? "Excelente"?
&& = AND
|| = OR