buenas a todos, tengo un pequeño problemilla con un programa que realize para simular las operaciones de un cajero, este programa lo realize yo hace aproximadamente un año y funcionaba perfectamente, pero ahora lo voy a revisar y resulta que me da muchos errores de compilacion, que estara pasando?
sin mas que decir adjunto el codigo:
adicionalmente dejo los errores que me aparecen en el compilador
Mod: Al publicar código usa las etiquetas GeSHi y para los errores usa las de código simple o cita
sin mas que decir adjunto el codigo:
Código (cpp) [Seleccionar]
#include<iostream>
#include<conio.h>
using namespace std;
FILE *ptr;
struct nodo{
int status;
int tipo_cta;
int num_cta;
char nomape[200];
float tot_deposito;
float tot_retiro;
float saldo;
};
main(){
float totdeposito;
float totretiro;
nodo banco;
int largo;
int opcion;
int numcta;
largo=sizeof(banco);
if((ptr=fopen("BANCO")==NULL){
cout<<"ERROR";
getch();
return 0;
}
do{
cout<<"Menu de opciones";
cout<<endl;
cout<<"1.-Crear nueva cuenta"<<endl;
cout<<"2.-Eliminar una cuenta"<<endl;
cout<<"3.-Efectuar un deposito"<<endl;
cout<<"4.-Efectuar un retiro"<<endl;
cout<<"5.-Mostrar estado de cuenta"<<endl;
cout<<"6.-Finalizar proceso"<<endl;
cout<<endl;
cin>>opcion;
switch(opcion){
case 1 :
cout<<"Creacion de la nueva cuenta"<<endl<<endl;
xx: cout<<"Ingrese numero de cuenta"<<endl<<endl;
cin>>numcta;cout<<endl;
fseek(ptr,largo*numcta,0);
fread(&banco,largo,1,ptr);
if(banco.num_cta==numcta){cout<<"la cuenta ya existe"<<endl;
goto xx;
}
banco.num_cta=numcta;
cout<<"indique tipo de cuenta"<<endl<<endl;
cin>>banco.tipo_cta;
cout<<endl;
fflush(stdin);
cout<<"ingrese nombre y apellido"<<endl<<endl;
gets(banco.nomape);
fflush(stdin);
cout<<endl;
banco.tot_deposito=0;
banco.tot_retiro=0;
banco.saldo=0;
banco.status=1;
fwrite(&banco,largo,1,ptr);
break;
case 2 :
cout<<"indique numero de cuenta a eliminar"<<endl;
cin>>numcta;
fseek(ptr,largo*numcta,0);
fread(&banco,largo,1,ptr);
banco.status=0;
cout<<"la cuenta eliminada es "<<endl<<endl;
fread(&banco,largo,1,ptr);
cout<<"numero de cuenta: "<<banco.num_cta<<" tipo de cuenta: "<<banco.tipo_cta<<" nombre: "<<banco.nomape<<" status: "<<banco.status;
cout<<endl;
break;
case 3 :
if((ptr=fopen("BANCO","r+b"))==NULL){
cout<<"ERROR";
getch();
return 0;
}
cout<<"indique cuenta bancaria"<<endl;
cin>>numcta;
fseek(ptr,largo*numcta,0);
fread(&banco,largo,1,ptr);
cout<<"indique monto a depositar"<<endl;
cin>>totdeposito;
banco.tot_deposito=banco.tot_deposito+totdeposito;
banco.saldo=banco.saldo+banco.tot_deposito;
fwrite(&banco,largo,1,ptr);
fclose(ptr);
break;
case 4 :
if((ptr=fopen("BANCO","w+b"))==NULL){
cout<<"ERROR";
getch();
return 0;
}
cout<<"indique cuenta bancaria"<<endl;
cin>>numcta;
fseek(ptr,largo*numcta,0);
fread(&banco,largo,1,ptr);
cout<<"indique monto a retirar"<<endl;
cin>>totretiro;
banco.tot_retiro=banco.tot_retiro+totretiro;
banco.saldo=banco.saldo-banco.tot_retiro;
fwrite(&banco,largo,1,ptr);
fclose(ptr);
break;
case 5 :
if((ptr=fopen("BANCO","rb"))==NULL){
cout<<"ERROR";
getch();
return 0;
}
cout<<"indique cuenta bancaria"<<endl;
cin>>numcta;
fseek(ptr,largo*numcta,0);
fread(&banco,largo,1,ptr);
cout<<"ESTADO DE CUENTA";
cout<<endl<<endl;
cout<<"numero de cuenta: "<<banco.num_cta<<" tipo de cuenta: "<<banco.tipo_cta<<" nombre: "<<banco.nomape<<" status: "<<banco.status<<" total en BsF de depositos: "<<banco.tot_deposito<<" total en BsF en retiros: "<<banco.tot_retiro<<" y saldo actual es: "<<banco.saldo<<endl;
fclose(ptr);
break;
}}while(opcion!=6);
cout<<"Fin del proceso";
getch();
}
adicionalmente dejo los errores que me aparecen en el compilador
Código [Seleccionar]
C:\Dev-Cpp\include\stdio.h In function `int main()':
178 C:\Dev-Cpp\include\stdio.h too few arguments to function `FILE* fopen(const char*, const char*)'
27 C:\Users\FEMIKAL\Desktop\Lenguaje\parcial3.cpp at this point in file
27 C:\Users\FEMIKAL\Desktop\Lenguaje\parcial3.cpp cannot convert `bool' to `FILE*' in assignment
27 C:\Users\FEMIKAL\Desktop\Lenguaje\parcial3.cpp expected `)' before '{' token
Mod: Al publicar código usa las etiquetas GeSHi y para los errores usa las de código simple o cita