¡¡¡AYUDA!!! [C++]

Iniciado por MIYAGI, 17 Junio 2021, 00:06 AM

0 Miembros y 2 Visitantes están viendo este tema.

MIYAGI

Me aparecen los errores que puse hasta abajo y no se porque, alguien que me ayude porque es la ultima oportunidad que tengo para salvar el semestre

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
int op;
cout<<"       ELIJA UNA OPCION       ";
cout<<"1. Edades                     ";
cout<<"2. Libros                     ";
cout<<"3. Mayor y menor              ";
cout<<"4. Par o impar                ";
cout<<"5. Dia de la semana           ";
cout<<"6. Salir del programa :(      ";
cout<<"                              ";
cin>>op;
switch(op)
{
case 1:
int main()
{
    int edades[3][2]={{1,2},{9,8},{14,21}};
    int filas=(sizeof(edades)/sizeof(edades[0]));
    int columnas=(sizeof(edades[0])/sizeof(edades[0][0]));
    for(int i=0; i<filas; i++)
    {
    for(int j=0; j<columnas; j++)
    {
    cout<<edades[i][j]<<endl;
    }
    }
    }
case 2:
int main()
{
string libros[5][2];
cout<<"Por favor ingrese la siguiente informacion de los libros: \n";
string titulo, autor;
for(int i=0; i<5; i++)
{
cout<<"\n* libro "<<i+1<<"*=\n";
cout<<"Titulo: ";
getline(cin,titulo);
cout<<"Autor: ";
getline(cin,autor);
libros[i][0]=titulo;
libros[i][1]=autor;
}
system("pause");
}
case 3:
int main()
{
            int a,b;
            int mayor,menor;
            printf("Ingrese los dos valores: ");
            scanf("%d %d",&a,&b);
            if(a>b)
{
            mayor=a;
            menor=b;
            }
            else
    {
            mayor=b;
            menor=a;
            }
        }
        printf("Mayor: %d/n",mayor);
        printf("Menor: %d/n",menor);
case 4:
int main()
{
            int n;
            printf("Ingrese un valor: ");
            scanf("%d",&n);
            while(n<0)
{
            if(n%2==0)
{
            printf("%d es par/n",n);
            }
            else
    {
            printf("%d es impar/n",n);
            }
            printf("Ingrese un valor: ");
            scanf("%d",&n);
            }
        }
case 5:
int main()
{
            int nroDia;
            char dia[10];
            printf("Ingrese el dia de la semana: ");
            scanf("%d",&nroDia);
            switch(nroDia)
            {
            case 1:
            strcpy(dia,"Lunes");
            break;
            case 2:
            strcpy(dia,"Martes");
            break;
            case 3:
            strcpy(dia,"Miercoles");
            break;
            case 4:
            strcpy(dia,"Jueves");
            break;
            case 5:
            strcpy(dia,"Viernes");
            break;
            case 6:
            strcpy(dia,"Sabado");
            break;
                case 7:
            strcpy(dia,"Domingo");
            break;
            }
            printf("%d es %s/n",nroDia,dia);
        }
case 6: cout<<"VUELVA PRONTO"<<endl; break;
default: cout<<"Esta opcion no existe"<<endl;
}
return 0;
}


19   4   [Error] a function-definition is not allowed here before '{' token
126   1   [Error] expected '}' at end of input
126   1   [Error] expected '}' at end of input

MOD: Etiqueta GeSHi

Loretz

Te paso una: en C++ no se puede llamar a main()

MCKSys Argentina

#2
Hola!


  • Estás intentando llamar a main() en cada case, pero pones el int adelante. Eso equivale a declarar la función y por eso el error (espera que coloques los corchetes de la misma). De todas formas, deberías quitar esas llamadas y meter todo dentro de un while (true) (excepto el return 0 del final)
  • En el case 3 debes incluir los printf, de lo contrario VC no encontrará las definiciones de las variables
  • Para usar getline recuerda hacer #include <string>

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."