me pueden ayudar a hallar el error en la siguiente sintaxis?

Iniciado por virus69, 21 Marzo 2011, 03:32 AM

0 Miembros y 1 Visitante están viendo este tema.

virus69

Saludos compañeros.
Estoy haciendo unos ejercicios de lenguaje C++.
Pero al intentar compilar me da varios errores tengo como 3 horas intentando de corregirlo pero no encuentro la codificación '\' que tengo que corregir
el error que me da es este:

virus69@virus69-laptop ~/Network $ g++ sol.cpp
sol.cpp:38: error: stray '\' in program
sol.cpp:38:65: warning: missing terminating " character
sol.cpp:38: error: missing terminating " character
sol.cpp:58: error: stray '\' in program
sol.cpp:58:80: warning: missing terminating " character
sol.cpp:58: error: missing terminating " character
sol.cpp:65: error: stray '\' in program
sol.cpp:65:80: warning: missing terminating " character
sol.cpp:65: error: missing terminating " character
sol.cpp:86: error: stray '\' in program
sol.cpp:86:80: warning: missing terminating " character
sol.cpp:86: error: missing terminating " character
sol.cpp:93: error: stray '\' in program
sol.cpp:93:80: warning: missing terminating " character
sol.cpp:93: error: missing terminating " character
sol.cpp:114: error: stray '\' in program
sol.cpp:114:80: warning: missing terminating " character
sol.cpp:114: error: missing terminating " character
sol.cpp:121: error: stray '\' in program
sol.cpp:121:80: warning: missing terminating " character
sol.cpp:121: error: missing terminating " character
sol.cpp: In function 'int main()':
sol.cpp:18: error: 'swicth' was not declared in this scope
sol.cpp:19: error: expected ';' before '{' token
sol.cpp:130: error: expected '}' at end of input
virus69@virus69-laptop ~/Network $


Aquí dejo la sintaxis:
#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
   int opcion2;
   int opcion3;
   int opcion4;
   char opcion1[1];
   char nombre [20];
   etiqueta:
   system ("clear");
   system ("pause");
   
      cout<<"Bienvenido!\n\n\n";
      cout<<"Cuantas compras realizas habitualmente?(a->1-3, b->3-10, c->10-20) ";
      cin>>opcion1;
      swicth (opcion1)
      {
        case 1:
         system ("clear")
         cout << "Cual es tu nombre?-> ";
         cin>>nombre;
         cout << "\nTienes un descuento del 5% en tus compras " <<nombre<< " :)\n";
         cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
         cin >>opcion2;
         if(opcion2 == 1)
         {
         cout << "\nCuantas unidades desea comprar?-> ";
         cin>>opcion3;
         cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((5/100)*(opcion2*10));
         system ("pause");
         }
         if (opcion2 == 3)
         {
         cout << "\nCuantas unidades desea comprar?-> ";
         cin>>opcion3;
         cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((5/100)*(opcion3*4));
         system("pause");
         break;
       case 2:
         cout << "Cual es tu nombre?-> ";
                    cin >>nombre;
                    cout << "\nTienes un descuento del 8% en tus compras " <<nombre<< " :)\n";
                    cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
                    cin >>opcion2;
                    if(opcion2 == 1)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((8/100)*(opcion2*10));
                    system("pause");
                    }
                    if(opcion2 == 2)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
                    system("pause");
                    }
                    if(opcion2 == 3)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
                   system("pause");                 }
                   break;
       case 3:
          system("clear");
                    cout << "Cual es tu nombre?-> ";
                    cin >>nombre;
                    cout << "\nTienes un descuento del 10% en tus compras " <<nombre<< " :)\n";
                    cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
                    cin >>opcion2;
                    if(opcion2 == 1)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    out << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((10/100)*(opcion2*10));
                   system("pause");
                    }
                    if(opcion2 == 2)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((10/100)*(opcion3*4));
                    system("pause");
                    }
                    if(opcion2 == 3)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((10/100)*(opcion3*4));
                    system("pause");                 }
                    break;   
       case 4:
         system("clear");
                    cout << "Cual es tu nombre?-> ";
                    cin >>nombre;
                    cout << "\nTienes un descuento del 12% en tus compras " <<nombre<< " :)\n";
                    cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
                    cin >>opcion2;
                    if(opcion2 == 1)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((12/100)*(opcion2*10));
                    system("pause");
                    }
                    if(opcion2 == 2)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((12/100)*(opcion3*4));
                    system("pause");
                    }
                    if(opcion2 == 3)
                    {
                    cout << "\nCuantas unidades desea comprar?-> ";
                    cin >>opcion3;
                    cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((12/100)*(opcion3*4));
                    system("pause");                 }
                    break;
      
         system("clear");
                   cout << "Opcion Incorrecta, Elija de nuevo";
         goto etiqueta;     
  }

}       


El compilador que uso es build-essential
S.O: GNU/Linux.

Espero que me puedan ayudar y decirme que es lo que tengo que corregir?
Saludos...

Shell Root

#1
Código modificado para que compile correctamente, pero se puede mejorar en un 90%.
Cuando estáis usando switch, debe de ser una variable entera (int) o cadena (char), en caso de ser char las opciones deben de ir en apostrofes ''(Comillas simples)
Código (cpp) [Seleccionar]
#include <stdlib.h>
#include <iostream>

using namespace std;

int main()
{
  int opcion1, opcion2, opcion3, opcion4;
  char nombre[20];

  cout<<"Bienvenido!\n\n\n";
  cout<<"Cuantas compras realizas habitualmente?(a->1-3, b->3-10, c->10-20) ";
  cin>>opcion1;

  switch(opcion1)
  {
     case 1:
        system ("clear");
        cout << "Cual es tu nombre?-> ";
        cin>>nombre;
        cout << "\nTienes un descuento del 5% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;
        if(opcion2 == 1)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin>>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((5/100)*(opcion2*10));
           system ("pause");
        }
        if (opcion2 == 3)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin>>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((5/100)*(opcion3*4));
           system("pause");
        }
        break;
     case 2:
        cout << "Cual es tu nombre?-> ";
        cin >>nombre;
        cout << "\nTienes un descuento del 8% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;
        if(opcion2 == 1)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((8/100)*(opcion2*10));
           system("pause");
        }
        if(opcion2 == 2)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
           system("pause");
        }
        if(opcion2 == 3)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
           system("pause");
        }
        break;
      case 3:
        system("clear");
        cout << "Cual es tu nombre?-> ";
        cin >>nombre;
        cout << "\nTienes un descuento del 10% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;
        if(opcion2 == 1)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<< opcion3*10 << "\nTotal a pagar: " << (opcion2*10)+((10/100)*(opcion2*10));
           system("pause");
        }
        if(opcion2 == 2)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((10/100)*(opcion3*4));
           system("pause");
        }
        if(opcion2 == 3)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((10/100)*(opcion3*4));
           system("pause");
        }
        break;
     case 4:
        system("clear");
        cout << "Cual es tu nombre?-> ";
        cin >>nombre;
        cout << "\nTienes un descuento del 12% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;
        if(opcion2 == 1)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((12/100)*(opcion2*10));
           system("pause");
        }
        if(opcion2 == 2)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((12/100)*(opcion3*4));
           system("pause");
        }
        if(opcion2 == 3)
        {
           cout << "\nCuantas unidades desea comprar?-> ";
           cin >>opcion3;
           cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((12/100)*(opcion3*4));
           system("pause");
        }
        break;
     
        system("clear");
        cout << "Opcion Incorrecta, Elija de nuevo";    
     }
  return 0;
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

virus69

Gracias amigo! entendí en parte tu explicación. revise el código observe las modificaciones que hiciste.

Pero dime cual fue el error que cometí? para no volverlo hacer en las próximas practicas!!!

Solo soy un simple aficionado que quiere aprender C++

Saludos...

Shell Root

Cita de: virus69 en 21 Marzo 2011, 18:13 PMrevise el código observe las modificaciones que hiciste.
Cita de: virus69 en 21 Marzo 2011, 18:13 PMPero dime cual fue el error que cometí? para no volverlo hacer en las próximas practicas!!!

Pero si viste las modificaciones que hice, porque preguntas de los errores, supongo que los vistes!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

El_Java

Aún se podria optimizar más mi código, pero esta me parecia una buena oportunidad para mostrar todo lo que se puede optimizar un código  ;D

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>
using namespace std;

int main(){
    unsigned int opcion1, opcion2, opcion3;
    char nombre[20];
    unsigned int descuento=0; //nuevas variables

    cout << "Bienvenido! \n\n\n";
    cout << "Cuantas compras realizas habitualmente? (a->1-3, b->3-10, c->10-20) ";
    cin >> opcion1;

    switch(opcion1){
        case 1:
            descuento = 5; break;
        case 2:
            descuento = 8; break;
        case 3:
            descuento = 10; break;
        case 4:
            descuento = 12; break;
        default:
            system("clear");
            cout << "Opcion Incorrecta, Elija de nuevo \n";
    }
    if (descuento != 0){ //Para que no se ejecute si no se pulsa alguno de los botones elegidos
        system ("clear");
        cout << "Cual es tu nombre?-> ";
        cin>>nombre;
        cout << "\nTienes un descuento del " << descuento << "% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;

        if(opcion2 == 1){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin>>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((5/100)*(opcion2*10));
            system ("pause");
        }

        if(opcion2 == 2){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin >>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
            system("pause");
        }

        if (opcion2 == 3){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin>>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((5/100)*(opcion3*4));
           system("pause");
        }
    }

    return 0;
}

Espero que te sea de ayuda, un saludo.


El_Java

Tu fallo, amigo, creo que esta en usar para el switch un array de tipo char (char[1]), seria mucho mas facil poner (char variable) y luego en el switch (case 'a'... case 'b'... ).

virus69

Gracias amigos. con tu codificación pude ver con mas claridad mis fallas, hasta me cumplió unas funciones de solicitudes de datos que en mi codificación no hacia!

Les agradezco a todos por darme una mano, felicito al foro por tener tan buena recepción con los usuarios novatos.

Saludos....

Cita de: El_Java en 21 Marzo 2011, 18:41 PM
Aún se podria optimizar más mi código, pero esta me parecia una buena oportunidad para mostrar todo lo que se puede optimizar un código  ;D

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>
using namespace std;

int main(){
    unsigned int opcion1, opcion2, opcion3;
    char nombre[20];
    unsigned int descuento=0; //nuevas variables

    cout << "Bienvenido! \n\n\n";
    cout << "Cuantas compras realizas habitualmente? (a->1-3, b->3-10, c->10-20) ";
    cin >> opcion1;

    switch(opcion1){
        case 1:
            descuento = 5; break;
        case 2:
            descuento = 8; break;
        case 3:
            descuento = 10; break;
        case 4:
            descuento = 12; break;
        default:
            system("clear");
            cout << "Opcion Incorrecta, Elija de nuevo \n";
    }
    if (descuento != 0){ //Para que no se ejecute si no se pulsa alguno de los botones elegidos
        system ("clear");
        cout << "Cual es tu nombre?-> ";
        cin>>nombre;
        cout << "\nTienes un descuento del " << descuento << "% en tus compras " <<nombre<< " \n";
        cout << "Que desea comprar? (1->escobas: 10â,¬ \2->recogedores: 4â,¬ \3->aromatizantes: 6â,¬)->  ";
        cin >>opcion2;

        if(opcion2 == 1){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin>>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*10<< "\nTotal a pagar: " <<(opcion2*10)+((5/100)*(opcion2*10));
            system ("pause");
        }

        if(opcion2 == 2){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin >>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((8/100)*(opcion3*4));
            system("pause");
        }

        if (opcion2 == 3){
            cout << "\nCuantas unidades desea comprar?-> ";
            cin>>opcion3;
            cout << "\nSubtotal a pagar: "<<opcion3*4<< "\nTotal a pagar: " <<(opcion3*4)+((5/100)*(opcion3*4));
           system("pause");
        }
    }

    return 0;
}

Espero que te sea de ayuda, un saludo.



virus69

Saludos amigos!
Me pueden ayudar a mejorar la siguiente sentencia?
Ya que tengo problema cuando ingreso la cantidad de vendedores!
Compilen  para que vea lo que esta faltando.

Saludos...

Este es el enunciado:

Estatuto WHILE

La compañía aseguradora del pacifico paga $5,000 semanales a
sus vendedores más una comisión de 9% del total de ventas realizadas.
La compañía aseguradora solicita al departamento de sistemas que se le
desarrolle un programa en C++ que pida al usuario el monto de ventas y
determine el pago que deberá realizarse a cada vendedor. Una vez que ha
calculado el pago de cada vendedor la compañía genera un reporte de la
cantidad de vendedores cuyo pagó excedió los $8,000.

La sentencia:

#include <stdlib.h>
#include <iostream>
using namespace std;

int main()
{
      int ventas, dinero1, vendedores;
      dinero1 = 5000+((9/100)*ventas);
      cout << "Bienvenidos!\n\n";
      cout << "Introduzca el numero de ventas realizadas: ";
      cin >>ventas;
      while (ventas>0)
      {
      cout << "Esta semana recibiras " <<dinero1<<"$";
      cout << "\nHas realizado " <<ventas<< " ventas";
      cout << "\nCuantos vendedores realizaron las mismas ventas?->  ";
      cin >>vendedores;
      system("pause");
      }
      if (dinero1>8000)
      {
      cout <<"\n" <<vendedores << " vendedores obtuvieron mas de 8.000$";
      system("pause");
      }
      else {
      cout <<vendedores << " vendedores obtuvieron menos de 8.000$";
      system("pause");
      }
     
}