Ayuda error en codigo simple

Iniciado por Milde, 30 Abril 2013, 20:22 PM

0 Miembros y 1 Visitante están viendo este tema.

Milde

Bueno, recien estoy empezando en la facultad a aprender programacion y echo un simple contador de truco, para compilarlo estoy usando Dev C++ pero me da error, aca les dejo el code y en el lugar que me tira

//Consola para el truco
#include <iostream>
using namespace std;
int main( )
{
   string J1,J2,GAN;
   int P1,P2,T1,T2;
   cout <<"Ingrese los nombres de los jugadores"<<endl;
   cin>>J1>>J2;
   while ((T1<30)&&(T2<30))
{
   cout <<"Ingrese Los puntajes"<<endl;
   T2=T2+P2
   T1=T1+P1 //Error aca
} //Error aca
if (T1>T2)
{
          GAN=J1
} //Error aca
          else
{
               GAN=J2
}
cout<<"El ganador es"<<GAN<<endl;

return 0;
}

NoLife

#1
tu error basicamente que no estas colocando el punto y coma en

T2=T2+P2 //<-- no hay(;)
T1=T1+P1 //<-- no hay(;)

y tambien aqui:
if (T1>T2)
{
          GAN=J1  //<-- no hay(;)
} //Error aca


Espero haberte ayudado. ;)
"Cualquier tonto puede escribir código que la PC entienda. Los buenos programadores escriben código que los humanos pueden entender." – Martin Fowler

Milde

#2
Muchas gracias! ahora tengo otra duda, me di cuenta que cuando ingreso los puntajes el total llevado (contador) no es mostrado, como puedo hacer para que luego de sumar muestre un resultado?

por ahora lo hize asi pero seguro hay algo mas acortado o otra manera de hacerlo todo en una linea

cout <<"El puntaje de ";
   cout << J1;
   cout <<" es ";
   cout << T1<<endl;
   cout <<"El puntaje de ";
   cout << J2;
   cout <<" es ";
   cout << T2<<endl;

EDIT:
-----------------------------------------------------

ya lo hize :p use

cout <<"El puntaje de "<<J1, cout <<" es "<<P1<<endl;
    cout <<"El puntaje de "<<J2, cout <<" es "<<P2<<endl;


Habria otra manera?

NoLife

#3
en realidad me parece que no tendrias que escribir tantos cout, podrias continuar pues el limite es el punto y coma. podrias hacer esto:

cout << "hello world!" << endl << "hello world again!";

y estaria correcto
"Cualquier tonto puede escribir código que la PC entienda. Los buenos programadores escriben código que los humanos pueden entender." – Martin Fowler

rir3760

Ademas de lo ya comentado hay que inicializar a cero la variables que almacenaran los totales (T1 y T2). Eso por dos razones: 1) garantizar se entre al bucle y 2) se impriman correctamente los totales.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

pacoperico

#5
Volviendo al codigo de tu primer post, mas concretamente en la parte de tu segundo cout:
Citarcout <<"Ingrese Los puntajes"<<endl;
   T2=T2+P2
   T1=T1+P1 //Error aca

Aparte de los ; que ya te han dicho que faltaban, te falta algo basico y es guardar esos puntajes, que seguramente tendras que escribirlos desde el teclado (stdin), en las variables destinadas a ello P1 y P2. Es decir, te falta escribir esto en tu codigo:

Código (cpp) [Seleccionar]

cout <<"Ingrese Los puntajes"<<endl;
cin >> P1 >> P2;                           //Esta es la linea que te faltaba
T2=T2+P2;
T1=T1+P1;


Milde

#6
Si gracias, eso me di cuenta cuando ejecute el programa y no tenia en donde ingresar el puntaje :p

asi me quedo entero y funcionando.

Código (cpp) [Seleccionar]
//Consola para el truco
#include <iostream>
using namespace std;
int main( )
{
   string J1,J2,GAN;
   int P1=0,P2=0;
   int T1=0,T2=0;
   cout <<"Ingrese los nombres de los jugadores v3"<<endl;
   cin>>J1>>J2;
   while ((T1<30)&&(T2<30)){
   cout <<"Ingrese Los puntajes"<<endl;
   cin>>P1>>P2;
   T2=T2+P2;
   T1=T1+P1;
   cout <<"El puntaje de "<<J1, cout <<" es "<<T1<<endl;
   cout <<"El puntaje de "<<J2, cout <<" es "<<T2<<endl;
};
if (T1>T2)
{
          GAN=J1;
}
          else
{
               GAN=J2;
}
cout<<"El ganador es "<<GAN<<endl;

return 0;
}


Todavia tengo algunas dudas con esto,

Código (cpp) [Seleccionar]

   cout <<"El puntaje de "<<J1, cout <<" es "<<T1<<endl;
   cout <<"El puntaje de "<<J2, cout <<" es "<<T2<<endl;


de que otra manera lo puedo poner?

Blaster

#7
Por que te complicas con tantos cout simplemente hazlo asi queda mas light  ;D

Código (cpp) [Seleccionar]
cout <<"El puntaje de "<< J1 <<" es "<< T1 << endl;
cout <<"El puntaje de "<< J2 <<" es "<< T2 << endl;


Un Saludo..

dato000

que carajos pasa con este spam??



Blaster

#9
Es desesperante que alguien se inscriba unicamente para hacer esto, pero que
bueno que la gente del del foro lo haya solucionado.

Saludos..