Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: YDOM en 18 Noviembre 2013, 02:10 am



Título: error: expected primary-expression before ‘=’ token
Publicado por: YDOM en 18 Noviembre 2013, 02:10 am

que tal gente, estoy haciendo este programa en Code::Blocks pero al momento de compilar me tira un error que la verdad no entiendo porque lo da
espero me puedan ayudar, estoy urgido de presentar ese trabajo, esa es solo una

E:\Desktop\....\main.cpp||In function 'int sueldoTotalEmpleado(int, int)':
E:\Desktop\....\main.cpp|34|error: expected primary-expression before '=' token
E:\Desktop\....\main.cpp|34|error: expected primary-expression before '=' token
=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===


Código
  1.  
  2. /// probe calculando
  3.  
  4. int netoaPagar;
  5. int sueldoOrdinario;
  6. int sueldoExtra;
  7.  
  8. sueldoOrdinario=horasOrdinarias*sueldoIng;
  9. sueldoExtra=horasExtras*sueldoIng;
  10. netoaPagar=sueldoOrdinario+sueldoExtra;
  11.  
  12. /// pero me tira el mismo error
  13. /// agradezco me puedan ayudar
  14.  

este es el codigo completo del programa

Código
  1. #include <stdlib.h>
  2. #include <iostream>
  3. using std::cerr;
  4. using std::cin;
  5. using std::cout;
  6. using std::cout;
  7. using std::endl;
  8. using std::ios;
  9. using std::fixed;
  10. using std::left;
  11. using std::right;
  12. using std::showpoint;
  13. #include <fstream>
  14. using std::ofstream;
  15. using std::ifstream;
  16. #include <cstdlib>
  17. using std::exit;
  18. #include <iomanip>
  19. using std::setw;
  20. using std::setprecision;
  21. #include <string>
  22. using std::string;
  23.  
  24. #define sueldoIng = 7500000
  25. #define sueldoOpe = 5000000
  26. #define sueldoDis = 6000000
  27. #define sueldoObr = 2500000
  28.  
  29. using namespace std;
  30.  
  31. int sueldoTotalEmpleado(int horasOrdinarias, int horasExtras)
  32. {
  33.    int netoaPagar;
  34.    netoaPagar=horasExtras*sueldoDis+horasOrdinarias*sueldoDis;
  35.    return netoaPagar;
  36. }
  37.  
  38. void MenuEmpleado ()
  39. {
  40.    int opc, codigo, tipoEmpleado, horasOrdinarias, horasExtras;
  41.    int netoaPagar;
  42.    char nombre[30];
  43.    int MenuPrincipal();
  44.    int reinicioPrograma();
  45.  
  46.    ofstream archivoClientesSalida( "clientes.dat", ios::app );
  47.  
  48.    if ( !archivoClientesSalida )
  49.    {
  50.        cerr << "FALLO CARGA DEL ARCHIVO" << endl;
  51.        exit(1);
  52.    }
  53.  
  54.    do
  55.    {
  56.        cout << endl << endl;
  57.        cout << "   INGRESE DATOS DEL EMPLEADO" << endl;
  58.        cout << "       INGRESE CODIGO   ";
  59.        cin >> codigo;
  60.        cout << "       INGRESE NOMBRE   ";
  61.        cin >> nombre;
  62.        cout << "       TIPO DE EMPLEADO ";
  63.        cin >> tipoEmpleado;
  64.        cout << "       HORAS ORDINARIAS ";
  65.        cin >> horasOrdinarias;
  66.        cout << "       HORAS EXTRAS     ";
  67.        cin >> horasExtras;
  68.  
  69.        archivoClientesSalida << codigo << "\t" << nombre << "\t\t" << tipoEmpleado
  70.                              << "\t" << horasOrdinarias << "\t" << horasExtras << endl;
  71.  
  72.        cout << endl << endl;
  73.        cout << "   1. SALARIO SEGUN TRABAJO" << endl;
  74.        cout << "   2. INGRESAR OTRO EMPLEADO" << endl;
  75.        cout << "   3. SALIR DEL REGISTRO " << endl << endl;
  76.        cout << "      INGRESE DATO VALIDO  ";
  77.        cin >> opc;
  78.  
  79.        if (opc==1)
  80.        {
  81.            netoaPagar = sueldoTotalEmpleado(horasOrdinarias, horasExtras);
  82.            cout << "  EL SALARIO DEL EMPLEADO EQUIVALE A  " << netoaPagar;
  83.        }
  84.  
  85.        if (opc <1 || opc>3)
  86.        {
  87.            reinicioPrograma();
  88.        }
  89.  
  90.        system("cls");
  91.    }
  92.    while (opc!=3);
  93. }
  94.  
  95. int MenuUsuario()
  96. {
  97.    int OpcUsuario;
  98.    int definirSueldo();
  99.    int MenuPrincipal();
  100.    int maquinasAlquiler();
  101.    int compraMateriales();
  102.    int reinicioPrograma();
  103.  
  104.    cout << endl << endl;
  105.    cout << "   SELECCIONE UNA OPCION PARA CONTINUAR" << endl << endl;
  106.    cout << "       1. ALQUILER DE MAQUINARIA" << endl;
  107.    cout << "       2. COMPRA DE MATERIALES" << endl << endl;
  108.    cout << "          INGRESE UNA OPCION VALIDA\t";
  109.    cin >> OpcUsuario;
  110.  
  111.    if (OpcUsuario == 1)
  112.    {
  113.        system("cls");
  114.        maquinasAlquiler();
  115.    }
  116.    else if (OpcUsuario == 2)
  117.    {
  118.        system("cls");
  119.        compraMateriales();
  120.    }
  121.    else
  122.    {
  123.        reinicioPrograma();
  124.    }
  125.    return 0;
  126. }
  127.  
  128. int reinicioPrograma()
  129. {
  130.    int MenuPrincipal();
  131.    cout << endl << endl;
  132.    cerr << "Dato invalido, para continuar " << endl;
  133.    cerr << "  presione ENTER/INTRO  ";
  134.    getchar();
  135.    getchar();
  136.    system("cls");
  137.    MenuPrincipal();
  138.    return 0;
  139. }
  140.  
  141. int maquinasAlquiler()
  142. {
  143.    cout << "MAQUINAS DISPONIBLES" << endl << endl;
  144.    cout << "1. Bobcat" << endl;
  145.    cout << "2. Bulldozer" << endl;
  146.    cout << "3. Komatzu Limited" << endl;
  147.    cout << "4. MARAIS" << endl;
  148.    cout << "5. Pala excavadora" << endl;
  149.    cout << "6. Topadora" << endl;
  150.    cout << "7. Tuneladora" << endl;
  151.    cout << "8. Zanjadora" << endl;
  152.    cout << "9. Camion de Pluma" << endl;
  153.    int opcMaq;
  154.    cout << "SELECCIONE UNA OPCION   ";
  155.    cin >> opcMaq;
  156.    return 0;
  157. }
  158. /*
  159. int compraMateriales()
  160. {
  161.  
  162. }
  163. */
  164. int MenuPrincipal()
  165. {
  166.    cout << endl << endl;
  167.    cout << "   SELECCIONE UNA OPCION PARA CONTINUAR" << endl << endl;
  168.    cout << "       1. EMPLEADO" << endl;
  169.    cout << "       2. USUARIO" << endl << endl;
  170.  
  171.    int opcion;
  172.    do
  173.    {
  174.        cout << "   INGRESE UNA OPCION VALIDA  ";
  175.        cin >> opcion;
  176.    }
  177.    while (opcion<1 or opcion>2);
  178.  
  179.    switch (opcion)
  180.    {
  181.    case 1:
  182.        system("cls");
  183.        MenuEmpleado();
  184.        break;
  185.    case 2:
  186.        system("cls");
  187.        MenuUsuario();
  188.        break;
  189.    }
  190.  
  191.    return 0;
  192. }
  193.  
  194. int main()
  195. {
  196.    MenuPrincipal();
  197. }
  198.  
  199.  
  200.  


Título: Re: error: expected primary-expression before ‘=’ token
Publicado por: rir3760 en 18 Noviembre 2013, 02:25 am
El error se genera por la forma en que defines las macros:
Código
  1. #define sueldoIng = 7500000
  2. #define sueldoOpe = 5000000
  3. #define sueldoDis = 6000000
  4. #define sueldoObr = 2500000

Debes eliminar el carácter '=' de ellas:
Código
  1. #define sueldoIng  7500000
  2. #define sueldoOpe  5000000
  3. #define sueldoDis  6000000
  4. #define sueldoObr  2500000

Un saludo


Título: Re: error: expected primary-expression before ‘=’ token
Publicado por: YDOM en 18 Noviembre 2013, 03:45 am
El error se genera por la forma en que defines las macros:
Código
  1. #define sueldoIng = 7500000
  2. #define sueldoOpe = 5000000
  3. #define sueldoDis = 6000000
  4. #define sueldoObr = 2500000

Debes eliminar el carácter '=' de ellas:
Código
  1. #define sueldoIng  7500000
  2. #define sueldoOpe  5000000
  3. #define sueldoDis  6000000
  4. #define sueldoObr  2500000

Un saludo


hombre muchisimas gracias, estaba loco con eso, Puedo decir claramente que el tema esta solucionado, Mil Gracias