Dev - C++ - HOMONIMO DE FFLUSH

 
Vista:

HOMONIMO DE FFLUSH

Publicado por Nork_MG (4 intervenciones) el 09/09/2007 18:14:04
Esop, lo ke pasa es ke aprendi a programar en ANSI C y ahora toy empezando con C++, lo que me complica es correlacionar los comandos, por ke si bien es cierto son faciles para el printf==>cout
o para el scanf===>cin, no he encontrado el homonimo para limpiar buffer, y si lo pongo en el programa no me afecta en nada, es como si no pusiera, el caso es ke kiero insertar una cadena de caracteres,

char a[10];

cou<<"blablabla!;
gets(a);

y aki pasa cagando pa abajo, lo mismo pasaba con el scanf("%s",a);
pero luego ponia un fflush(stdin); y todo se solucionaba..............

bueno si alguien me ayudara se lo agradeceria..........en too caso pongo todo el codigo ke tengo por si alguien no caxo....grax.....

/* Programa Escrito, Compilado & Documentado por Fabian Arenas L.
RUN: 16.629.717 - 6. Estudiante de Ingenieria en Informatica. UTEM */

#include<iostream>

using namespace std;

class Paciente{
private:
int code;
int rut;
int deuda;
char prevision;
char Apellido_P[10];
char Apellido_M[10];
char Nombres[15];
char consulta[100];
public:
void nuevoPaciente(int a, int b, char* ap1, char* ap2, char* nom){
code=a;
rut=b;

}
void reservarHora(char* medico, int dia, int mes, int ano);
void suspenderHora();
void pagar();
void abonar(double v);
void agregarCuenta(double v);
double calcularPago(double valorConsulta);
int mostrar(){
return rut;
}
};

void Menu(){
system("cls"); /*cambiarlo ya que no funciona en linux*/
cout<<"\t\t\tGESTION DE PACIENTES"<<endl;
cout<<"\t\t\t======= == ========="<<endl<<endl<<endl;
cout<<"Por Favor Seleccione una Opcion:"<<endl<<endl;
cout<<"1.- Crear Ficha para un Nuevo Paciente"<<endl;
cout<<"2.- Actulizar la Ficha del Paciente"<<endl;
cout<<"3.- Mostrar la Ficha del Paciente"<<endl;
cout<<"4.- Calcular Deuda del Paciente"<<endl;
cout<<"5.- Reservar una Hora"<<endl;
cout<<"6.- Cancelar la Reserva de una Hora"<<endl;
cout<<"7.- Cancelar la Totalidad de la Deuda del Paciente"<<endl;
cout<<"8.- Cancelar Parte de la Deuda de un Paciente"<<endl;
cout<<"9.- Salir del Programa"<<endl;
cout<<"\t\t\t\t Opcion: ";
}


int main(){

int a,b,opc;
char ap_p[10],ap_m[10],nom[15],cons[100];
Paciente pac;

do{
Menu();
cin>>opc;
switch(opc){
case 1:{
system("cls"); /*cambiarlo ya que no funciona en linux*/
cout<<"Ingrese el Numero de Paciente: ";
cin>>a;
cout<<"Ingrese el RUT del Paciente: ";
cin>>b;
cout<<"Ingrese el Primer Apellido del Paciente: ";
gets(ap_p);
/* aki fflush*/
cout<<"Ingrese el Segundo Apellido del Paciemte: ";
gets(ap_m);
/* aki fflush*/
cout<<"Ingrese los Nombres del Paciente: ";
gets(nom);
/* aki fflush*/
pac.nuevoPaciente(a,b,ap_p,ap_m,nom);
break;
}
case 3:{
system("cls"); /*cambiarlo ya que no funciona en linux*/
cout<<pac.mostrar()<<endl;
cin.get();
cin.get();
}
}
}while(opc!=9);

return (0);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:HOMONIMO DE FFLUSH

Publicado por Programador 666 (1 intervención) el 09/09/2007 19:08:04
Bueno, yo tambien soy muy nuevo y novato en C++ y no se, pero creo que si pones esa misma funcion:
fflush(stdin); te lo compila igualmente, pero claro, tendrias que añadir el #include necesario que contiene esta funcion :) espero haberte ayudado.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:HOMONIMO DE FFLUSH

Publicado por Nork_MG (4 intervenciones) el 10/09/2007 00:13:38
grax.....el drama es ke el programa debe estar hecho completamente en C++ y no en C por lo tanto no podria poner ninguna lib ke fuera .h
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar