Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Mientras

#1
Programación C/C++ / duda con cin.ignore()
22 Agosto 2015, 05:20 AM
Hola a todos. Estoy aprendiendo c++(poo) y encontré un ejemplo que me generó una duda una duda. La linea que dice cin.ignore pensé que era innecesario ponerla ya que al iniciar el programa no se llenaría de "basura" pero luego pensé que si es necesario en caso llamemos varias veces al método. Entonces cuando ejecuto no me muestra directamente "Ingrese nombre de impuesto" si no que primero me espera a que presione enter. Como evito eso?

Este es el código.


Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
class impuesto
{
public:
   // Funciones miembro
   void capturar();
   double calcularImpuesto(double);
   void imprimir(double);
   // Datos miembro
   char nombre [25];
   double tasa;
};
int main(){

   impuesto ISV;
   double valor;

   ISV.capturar();
   cout << "Valor: ";
   cin >> valor;

   ISV.imprimir(valor);

   return 0;
}

void impuesto::capturar()
{
   cin.ignore();
   cout << "Nombre de impuesto: ";
   cin.getline(nombre, 25);
   cout << "Tasa: ";
   cin >> tasa;
}
void impuesto::imprimir(double v)
{
   cout << "Para un valor de : " << v << " y una tasa de: " << tasa
   << " el valor de " << nombre << " es: " << calcularImpuesto(v) << endl;
}
double impuesto::calcularImpuesto(double v)
{
   return v * tasa;
}