Si alguien pudiera enviarme una solucion para este codigo en c++, se lo agradeceria mucho. gracias es urgente
// no funciona la opcion 3
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <conio.h>
#include <fstream.h>
void salida(int, char *, double); //funcion abrir archivo para buscar
class xxx
{
public:
void buscar();
void imprimir_todos();
void ajustar_nvo_saldos();
};
void xxx::buscar()
{
ifstream clientes("d:\customer.dat", ios::in);
if(!clientes){
cout<< "el archivo no pudo abrirse ..";
exit(1);
}
int telefono;
int find;
char nombre[50];
double saldo;
cout<<"ingrese numero de telefono a buscar"<<"\n";
cin>>find;
cout << setiosflags(ios::left)<< setw(13) << "telefono" << setw(13) << "nombre"
<< "saldo\n";
while(clientes >> telefono >> nombre >> saldo){
if(telefono ==find) //muestra el registro unicamente donde saldo=find
salida(telefono,nombre,saldo);
}
getch();
}
void xxx::imprimir_todos()
{
ifstream clientes("d:customer.dat", ios::in);//abre para solo lectura
if(!clientes){
cout<< "el archivo no pudo abrirse ..";
}
int telefono;
char nombre[50];
double saldo;
cout << setiosflags(ios::left)<< setw(13) << "telefono" << setw(13) << "nombre" //alinea a la izquierda y la forma en tipo tabla
<< "saldo\n";
while(clientes >> telefono >> nombre >> saldo)
salida(telefono,nombre,saldo);
getch();
}
void xxx::ajustar_nvo_saldos(){
{
ofstream cliente("d:\customer.dat", ios::out); //se crea cada vez que se corre este programa
if (!cliente){ //comprueba que se abrio el archivo si no se cierra
cerr << "error de apertura..." << endl;
exit(1);
}
else
cout << "proporciona telefono, nombre y saldo \n"
<< "ctrl-z para terminar (fin de archivo) \n";
int telefono;
char nombre[30];
float saldo;
while(cin >> telefono >> nombre >> saldo){
cliente << telefono <<' ' << nombre << ' ' << saldo << '\n';
}
}
}
// cabecera principal
int main()
{
int opcion;
xxx obj1,obj2,obj3;
do{
clrscr();
cout<<"\n\t\t*****Consulta de Saldos Telefonicos*****\n\n";
cout<<"\tTeclea numero de la operacion a realizar:\n\n";
cout<<"\t[1]"<<"\t"<<"Buscar saldo"<<"\n";
cout<<"\t[2]"<<"\t"<<"Imprimir todos los saldos"<<"\n";
cout<<"\t[3]"<<"\t"<<"Actualizar nuevos saldos"<<"\n";
cout<<"\t[4]"<<"\t"<<"Salir del programa\n";
cout<<"\n\t\t\t\t\t Opcion:";
cin>>opcion;
if(opcion==1){
obj1.buscar(); //posible xxx antes de buscar
}
if(opcion==2){
obj2.imprimir_todos();
}
if(opcion==3){
obj3.ajustar_nvo_saldos();
}
}
while(opcion!=4);
exit(0);
return 0;
}
// funcion de salida
void salida(int tel, char *nombre, double sal)
{
cout << setiosflags(ios::left) << setw(10) << tel
<< setw(13) << nombre << setw(7) << setprecision(2)
<< resetiosflags(ios::left)
<< setiosflags(ios::fixed | ios::showpoint)
<< sal << "\n";
}