Duda c++

Iniciado por buhyr, 2 Noviembre 2012, 23:37 PM

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

buhyr

Hola a todos, soy nuevo en esto el caso es que quiero hacer que este programa vuelva al principio o se repita y no me aclaro el codigo es:
#include <conio.h>
#include <iostream>
using namespace std;

int main()
{
   int a,b,c;
   cout<<"type first number"<<endl;
   cin>>a;
   cout<<"type first number"<<endl;
   cin>>b;
   cout<<"type first number"<<endl;
   cin>>c;
   
   if ((a>=b) && (a>=c) )
   {
   cout<<"the biggest is: "<<a;
   }
   if ((b>=a) && (b>=c) )
   {
   cout<<"the biggest is: "<<b;           
   }
   if ((c>=b) && (c>=a) )
   {
   cout<<"the biggest is: "<<c;     

   } 
 
    getch();
    return 0;

}
    Y el caso es que he probado con  do y while pero no me aclaro chicos, gracias por vuestra atencion,.
   
   

Stakewinner00

puedes hacer algo como

Código (cpp) [Seleccionar]
int main()
{
while (;;) {
   int a,b,c;
   cout<<"type first number"<<endl;
   cin>>a;
   cout<<"type first number"<<endl;
   cin>>b;
   cout<<"type first number"<<endl;
   cin>>c;
   
   if ((a>=b) && (a>=c) )
   {
   cout<<"the biggest is: "<<a;
   }
   if ((b>=a) && (b>=c) )
   {
   cout<<"the biggest is: "<<b;           
   }
   if ((c>=b) && (c>=a) )
   {
   cout<<"the biggest is: "<<c;     

   } 
 
    getch();
    return 0;

}
}


creo que era asi, sino prueba con goto

flony

#2
en toeria el goto es mala palabra en c++, pero en batch lo usába bastante...ahora si lo que quieres es que vuelva al inicio seria con while...que hace eso
bue usando goto seria asi
#include <iostream>
using namespace std;

int main()
{
inicio:
int a,b,c,n;
   cout<<"type first number"<<endl;
   cin>>a;
   cout<<"type second number"<<endl;
   cin>>b;
   cout<<"type third number"<<endl;
   cin>>c;
   if ((a>=b) && (a>=c) )
   {
   cout<<"the biggest is: "<<a<<endl;
   }
   if ((b>=a) && (b>=c) )
   {
   cout<<"the biggest is: "<<b<<endl;           
   }
   if ((c>=b) && (c>=a) )
   {
   cout<<"the biggest is: "<<c <<endl;     

   } 
cout<<"si quiere seguir apriete 1"<<endl;
cin>>n;
if (n==1)goto inicio;
else goto fin;
fin:
   system ("PAUSE");
   return 0;
}
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Caster

No useis goto, en su lugar existen los bucles y las funciones para obtener el mismo resultado, es mejor evitar el uso de goto.

Cita de: flony en  3 Noviembre 2012, 00:15 AM
en toeria el goto es mala palabra en c++, pero en batch lo usába bastante...ahora si lo que quieres es que vuelva al inicio seria con while...que hace eso
bue usando goto seria asi
#include <iostream>
using namespace std;

int main()
{
inicio:
int a,b,c,n;
   cout<<"type first number"<<endl;
   cin>>a;
   cout<<"type second number"<<endl;
   cin>>b;
   cout<<"type third number"<<endl;
   cin>>c;
   if ((a>=b) && (a>=c) )
   {
   cout<<"the biggest is: "<<a<<endl;
   }
   if ((b>=a) && (b>=c) )
   {
   cout<<"the biggest is: "<<b<<endl;           
   }
   if ((c>=b) && (c>=a) )
   {
   cout<<"the biggest is: "<<c <<endl;     

   } 
cout<<"si quiere seguir apriete 1"<<endl;
cin>>n;
if (n==1)goto inicio;
else goto fin;
fin:
   system ("PAUSE");
   return 0;
}


El uso de goto aqui esta bien planteado, pero como ya he dicho antes, es mejor no usarlo, el igual que system("PAUSE"); leeros este post:

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Y aqui te dejo el codigo que he hecho yo englobando todo el codigo en un bucle do - while:

Código (cpp) [Seleccionar]
#include <conio.h>
#include <iostream>

using namespace std;

int main()
{
   int a,b,c,op;
   do{
   
      cout<<"type first number"<<endl;
      cin>>a;
      cout<<"type first number"<<endl;
      cin>>b;
      cout<<"type first number"<<endl;
      cin>>c;

      if ((a>=b) && (a>=c) )
      {
         cout<<"the biggest is: "<<a;
      }
      if ((b>=a) && (b>=c) )
      {
         cout<<"the biggest is: "<<b;           
      }
      if ((c>=b) && (c>=a) )
      {
         cout<<"the biggest is: "<<c;     

      }
   
      cout<<"\nIntroduce un numero para continuar, 0 para salir"<<endl;
      cin>>op;

   } while(op != 0);

   
    return 0;
}


Saludos

buhyr

Muchísimas gracias chicos voy a probar
Uff estoy o tentando aprender tb java y me estoy liando
Con c++ a lo mejor debería aprender uno detrás de otro??
No se soy nuevo en esgo

BatchianoISpyxolo

Cita de: buhyr en  4 Noviembre 2012, 07:26 AM
Muchísimas gracias chicos voy a probar
Uff estoy o tentando aprender tb java y me estoy liando
Con c++ a lo mejor debería aprender uno detrás de otro??
No se soy nuevo en esgo

Puedes aprenderlos a la vez. Lo único que Java son todo clases, objetos y toda la teoría que conlleva la programación orientada a objetos.

En C++ también hay clases y objetos pero es un lenguaje de nivel intermedio mientras que Java es de nivel alto porque abstrae ciertas cosas como los punteros, aunque están ahí.
Puede que desees aprender a programar desde 0: www.espascal.es

buhyr

A la hora de usar salida laboral que es mejor aprender disculpa la pregunta tan tonta pero eno entiendo mucho de esto

bemone

C++ es un buen lenguaje para aprender tanto programacion estructurada como POO. Una vez que tengas conocimiento sobre este lenguaje los demas es solo cuestion de leer las referencias.
Lo bueno de Java es la cantidad de librerias e informacion que hay en la web pero no es tan optimo como C++.
Trata de aprender uno a la vez para no caer en la confusion. No pienses en la salida laboral, pensa en mejorarte a ti mismo dia a dia que sin ofender veo que te falta mucha practica.
Con respecto al programa ya te lo contestaron pero es mejor que primero hagas un pseudocodigo o plantearte que tenes que hacer paso a paso antes de largarte de lleno a hacer codigo.
No hay mejor compañero que la lapicera y el papel.
Saludos.
Odio los tipos de variable de Windows.

BatchianoISpyxolo

@bemone, totalmente de acuerdo.

Si planteas la resolución del problema paso a paso en un papel tu cabeza se irá familizarizando con los pasos y objetivos de tu ejercicio. Una vez resuelto, tan sólo trasncribe el código.

Lo importante es saber resolver un problema por uno mismo utilizando la lógica y ayudándote de la experiencia.

Porque programar por programar, no lleva a ningún camino; y los errores aumentan exponencialmente.
Puede que desees aprender a programar desde 0: www.espascal.es