Problema en programa C++ muy simple

Novato
23 de Diciembre del 2005
Hola, vereis, soy estudiante de primero de Ingenieria Industrial y acabo de empezar a aprender C++ (solo llevo 2 clases :P). Tengo un problema con este programilla (que para vosotros sera de risa), el problema esta en que no me hace caso el "goto".
Aqui va el codigo:

#include <iostream.h>
#include <stdlib.h>
void main (void){
int m,n,opcion;

punto_uno:
system ("cls");

cout<<"Escriba el primer numero: "<<endl;
cin>> m;
cout<<"Escriba el segundo numero: "<<endl;
cin>>n;

if (m%n==0){
cout<<m<< " y " <<n<< " son divisibles"<<endl;

}
else {
cout<<m<< " y " <<n<< " no son divisibles"<<endl;
}
punto_tres:

cout<<"Desea hacer otra comprobacion? (1.Si/2.No)"<<endl;
cin>>opcion;
if (opcion=1){
goto punto_uno;
}
else if (opcion=2){
exit(0);
}
else {
cout<<"Opcion incorrecta"<<endl;
goto punto_tres;
}

}

Gracias a todos




kike
23 de Diciembre del 2005
Simplemente añade otro igual en los if, por ejemplo donde dice
if (opcion=1){goto punto_uno;}
deberia decir
if (opcion==1){goto punto_uno;}

Recuerda que el operador de comparacion es == y no =.
De todas formas el tema del goto va en contra de la programacion estructurada, podrias sustituirlo por un bucle.


Novato
23 de Diciembre del 2005
Es verdad, ha sido un lapsus jeje, ya funciona.Muchas gracias.
Otra cosilla, como se haria con un bucle? es que tambien habia oido que el goto no esta muy bien visto.
Gracias de nuevo