Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como regresar a una linea en especifico sin usar goto

Estas en el tema de Como regresar a una linea en especifico sin usar goto en el foro de C/C++ en Foros del Web. Hola a todos, soy nuevo por aqui y recien empiezo en c++ Me dejaron una practica en la escuela donde ingrese el precio de 3 ...
  #1 (permalink)  
Antiguo 15/02/2014, 23:44
 
Fecha de Ingreso: febrero-2014
Mensajes: 8
Antigüedad: 10 años, 2 meses
Puntos: 0
Como regresar a una linea en especifico sin usar goto

Hola a todos, soy nuevo por aqui y recien empiezo en c++

Me dejaron una practica en la escuela donde ingrese el precio de 3 productos, despues desglozar impuestos, sacar el total, ingresar cantidad a pagar y el cambio. Quiero que si se ingresa una cantidad menor a lo que se debe pagar, el programa no permita avanzar y vuelva a pedir la cantidad. Logre hacerlo con el comando goto, pero he leido que no se debe de usar, pero no encuentro otra manera, intente con el return pero nisquiera estoy seguro que sirva para lo que necesito.

Este es el codigo que tengo con el goto, espero alguien pueda ayudarme a reemplazarlo y hacerlo de la manera "correcta"

Gracias de antemano

[HIGHLIGHT="C++"]
Hola a todos, soy nuevo por aqui y recien empiezo en c++

Me dejaron un ejercicio donde ingrese el precio de 3 productos, despues desglozar impuestos, total, ingresar cantidad a pagar y el cambio. Quiero que si se ingresa una cantidad menor a lo que se debe pagar, el programa no permita avanzar y vuelva a pedir la cantidad. Logre hacerlo con el comando goto, pero he leido que no se debe de usar, pero no encuentro otra manera, intente con el return pero nisquiera estoy seguro que sirva para lo que necesito.

Este es el codigo que tengo con el goto, espero alguien pueda ayudarme a reemplazarlo y hacerlo de la manera "correcta"

Gracias de antemano


Código C++:
Ver original
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5.     int main() {
  6.     float precio1,precio2,precio3,totaliva,iva1,total,recibido;
  7.  
  8.     cout << "Ingresa primer precio ";
  9.     cin >> precio1;
  10.  
  11.     cout << "Ingresa segundo precio ";
  12.     cin >> precio2;
  13.  
  14.     cout << "Ingresa tercer precio ";
  15.     cin >> precio3;
  16.  
  17.     total=precio1+precio2+precio3;
  18.     iva1=total*(16.0 / 100);
  19.     totaliva=total+iva1;
  20.  
  21.     cout << "\n\n\nSub-Total " << total;
  22.     cout << "\nIVA " << iva1;
  23.     cout << "\nTotal " << totaliva;
  24.  
  25.  
  26.     PAGO:
  27.     cout << "\n\n\nIngresa con cuanto vas a pagar $";
  28.     cin >> recibido;
  29.  
  30.     if(recibido > totaliva)
  31.     {
  32.         cout << "\n\nTu cambio es " << recibido - totaliva;
  33.     }
  34.     else
  35.     {
  36.         cout << "\n\nIngresaste una cantidad menor al total. Intenta nuevamente" << endl;
  37.         goto PAGO;
  38.  
  39.     }
  40.         cout << "\n\nGracias!!\n\n" ;
  41.     }
  #2 (permalink)  
Antiguo 16/02/2014, 04:06
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Como regresar a una linea en especifico sin usar goto

Utiliza do while

Código C++:
Ver original
  1. do{
  2.         cout << "Ingrese la cantidad a pagar";
  3.         cin >> cantidad;
  4. }while(cantidad>total);

Hasta que la cantidad sea mayor que el total se repite. Puedes añadir mas comprobaciones.

Saludos
  #3 (permalink)  
Antiguo 16/02/2014, 05:48
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Como regresar a una linea en especifico sin usar goto

Busque se control de flujo c++.
while, do-while, for, switch, if, if-else...
Son formas creadas para que no volvamos a tener que utilizar el goto nunca mas :D
Si quiere que tu código se parezca a esto:
http://tinyurl.com/qbtr6lk
http://es.wikipedia.org/wiki/C%C3%B3digo_spaghetti
  #4 (permalink)  
Antiguo 16/02/2014, 09:50
 
Fecha de Ingreso: febrero-2014
Mensajes: 8
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Como regresar a una linea en especifico sin usar goto

Gracias, ya lo consegui

Etiquetas: ejercicio, especifico, int, programa, regresar, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:19.