elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ERROR EN PROGRAMA [Error] a function-definition is not allowed here before '{' t
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ERROR EN PROGRAMA [Error] a function-definition is not allowed here before '{' t  (Leído 3,056 veces)
GGMaelstrom

Desconectado Desconectado

Mensajes: 3


Ver Perfil
ERROR EN PROGRAMA [Error] a function-definition is not allowed here before '{' t
« en: 8 Julio 2019, 22:15 pm »

Solucionado


« Última modificación: 9 Julio 2019, 20:54 pm por GGMaelstrom » En línea

digimikeh

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: ERROR EN PROGRAMA [Error] a function-definition is not allowed here before '{' t
« Respuesta #1 en: 8 Julio 2019, 23:02 pm »

El switch-case esta cortado por las definiciones de funciones. Si metes las funciones al final, se acaba el problema:

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5.  
  6. using namespace std;
  7.  
  8. void pausa();
  9.  
  10. struct Nodo{
  11.   int dato;
  12.   Nodo *siguiente;
  13. };
  14.  
  15.  
  16.  
  17.  
  18. //Prototipos de Función
  19. void agregarPila(Nodo *&,int);
  20. void sacarPila(Nodo *&,int &);
  21. void mostrarPila(Nodo *&,int &);
  22. int main(){
  23.    bool bandera=false;
  24.    char tecla;
  25.  
  26.    do{
  27.        system("cls");
  28.        cin.clear();
  29.        cout << "Calculadora" << endl;
  30.        cout << "-----------" << endl << endl;
  31.        cout << "\t1 .- Sumar" << endl;
  32.        cout << "\t2 .- Restar" << endl;;
  33.        cout << "elige una opcion: ";
  34.  
  35.        cin >> tecla;
  36.  
  37.      switch(tecla){
  38.         case '1':
  39.                {
  40.                Nodo *pila = NULL;   //Inicializamos pila
  41.                int dato, aux;
  42.                char rpt;
  43.                aux=5;
  44.                do{ //Pedimos todos los elementos de la pila
  45.                    //cout<<"Digite un numero: ";
  46.                    //cin>>dato;
  47.                    if (aux<=0||aux>5){
  48.                        cout<<"Alcanzo los 5 digitos: ";
  49.                        break;
  50.                    }
  51.                    cout<<"Digite un numero: ";
  52.                    cin>>dato;
  53.  
  54.                    if(dato==0){
  55.                        if((aux==5)||(aux==4)||(aux==2)||(aux==1)||(aux==0)){
  56.                            //cout<<aux-1;
  57.                            agregarPila(pila,dato);
  58.                        } else {
  59.                            cout<<"\nNO ES UN VALOR ACEPTADO: ";
  60.                            break;
  61.                        }
  62.  
  63.                        aux=aux-1;
  64.                        cout<<aux;
  65.                    }
  66.  
  67.  
  68.                if(dato==1){
  69.                    if(aux==3){
  70.                        //cout<<aux-1;
  71.                        agregarPila(pila,dato);
  72.                    } else {
  73.                        cout<<"\nNO ES UN VALOR ACEPTADO: ";
  74.                        break;
  75.                    }
  76.                    aux=aux-1;
  77.                    cout<<aux;
  78.                }
  79.  
  80.                if (aux<=0 || aux>5){
  81.                    cout<<"\n\nAlcanzo los 5 digitos: ";
  82.                    break;
  83.                }          
  84.  
  85.                cout<<"\nDesea agregar otro numero a pila(s/n): ";
  86.                cin>>rpt;
  87.  
  88.            } while((rpt == 's')||(rpt=='S'));
  89.  
  90.      //if (aux<=0||aux>5)
  91.      //{
  92.         //   cout<<"Alcanzo los 5 digitos: ";
  93.            //break;
  94.        //}
  95.  
  96.  
  97.   //cout<<"\nIMPRESION #2: \n";
  98.   //cout<<"\nIMPRESION #2: \n";
  99.            cout<<"Mostrando los elementos de la pila en la columna ENTRADA: ";
  100.   //while(pila != NULL){
  101.   //   sacarPila(pila,dato);
  102.  
  103.   //   if(pila != NULL){
  104.   //      cout<<dato<<" , ";
  105.   //   }
  106.   //   else{
  107.   //      cout<<dato<<".";
  108.   //   }
  109.   //}
  110.  
  111.  
  112.   //cout<<"\n\n\nIMPRESION #2: \n";
  113.            cout<<"\n\tESTADO\tENTRADA\tRESULTADO\n";
  114.  
  115.            int a=0;
  116.            int b=0;
  117.  
  118.  
  119.            while(pila != NULL){
  120.                sacarPila(pila,dato);
  121.  
  122.                if(pila != NULL){
  123.                    cout<<"\t q"<<a<<"\t "<<dato<<"\t q"<<b<<"\n";
  124.                    if((a==0)&&(b==0)){
  125.                        a=0+dato;
  126.                        b=0+dato;
  127.                    } else {
  128.                        a=1;
  129.                        b=1;
  130.                    }
  131.                } else{
  132.                    cout<<"\t q"<<a<<"\t "<<dato<<"\t q"<<b<<"\n";
  133.                }
  134.            }
  135.  
  136.  
  137.            getch();
  138.            return 0;
  139.  
  140.        }
  141.  
  142.  
  143.         case '2':
  144.            system("cls");
  145.            cout << "Has elejido Restar.\n";
  146.            pausa();
  147.            break;
  148.  
  149.         default:
  150.            system("cls");
  151.            cout << "Opcion no valida.\a\n";
  152.            pausa();
  153.            break;
  154.      }
  155.    }while(bandera!=true);
  156.  
  157.    return 0;
  158. }
  159.  
  160. void pausa()
  161. {
  162.    cout << "Pulsa una tecla para continuar...";
  163.    getwchar();
  164.    getwchar();
  165. }
  166.  
  167. void agregarPila(Nodo *&pila,int n){
  168.   Nodo *nuevo_nodo = new Nodo();
  169.   nuevo_nodo->dato = n;
  170.   nuevo_nodo->siguiente = pila;
  171.   pila = nuevo_nodo;
  172.  
  173.   cout<<"\n\tElemento "<<n<<" agregado a PILA correctamente"<<"\n";
  174. }
  175. void sacarPila(Nodo *&pila,int &n){
  176.   Nodo *aux = pila;
  177.   n = aux->dato;
  178.   pila = aux->siguiente;
  179.   delete aux;
  180. }
  181. void mostrarPila(Nodo *&pila,int &n){
  182.   Nodo *aux = pila;
  183.   n = aux->dato;
  184.   pila = aux->siguiente;
  185.   delete aux;
  186. }
  187.  


« Última modificación: 8 Julio 2019, 23:13 pm por digimikeh » En línea

Dungeons & dragons;
dragons.Attack();
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines