Ver Mensaje Individual
  #1  
Antiguo 21-05-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Error al usar operadores ternarios con goto

Ya, se que de goto hay que salir corriendo pero una persona preguntaba como saber si un numero es capicuo o no y que no podia usar ni bucles ni condicionales, solo ternarios y lo hice con recursividad con funciones y me dijo que no puede usar funciones tampoco con lo que solo se me ocurrio el uso de goto para emular el mismo funcionamiento y quedó asi:
Código PHP:
#include <iostream.h>

using namespace std;

int main(int argccharargv[])
{
    
int num,aux,numInv=0,capicuo,resto;

    
cout << "Introduce un numero: ";
    
cin >> num;
    
aux=num;

    
InvertirNumero:
    
resto=aux%10;
    
numInv=numInv*10+resto;
    
aux/=10;
    
aux!=? goto InvertirNumero : goto Fin;

    
Fin:
    (
numInv-num==0) ? capicuo=capicuo=0;
    
capicuo==cout << "Es capicuo" cout << "No es capicuo";
    return 
0;

El problema que tengo es que en la parte de InvertirNumero uso operadores ternarios y dentro uso goto y no se lo traga diciendome que hay un error de sintaxis. ¿Alguien me explica como solucionar eso y por que da ese error?
Si lo pongo asi compila y funciona perfectamente pero me obliga a usar condicional y no se puede:
Código PHP:
#include <iostream.h>

using namespace std;

int main(int argccharargv[])
{
    
int num,aux,numInv=0,capicuo,resto;

    
cout << "Introduce un numero: ";
    
cin >> num;
    
aux=num;

    
InvertirNumero:
    
resto=aux%10;
    
numInv=numInv*10+resto;
    
aux/=10;
    if(
aux!=0) goto InvertirNumero; else goto Fin;

    
Fin:
    (
numInv-num==0) ? capicuo=capicuo=0;
    
capicuo==cout << "Es capicuo" cout << "No es capicuo";
    return 
0;


Última edición por aguml fecha: 21-05-2017 a las 11:56:02.
Responder Con Cita