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.
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;
}