sin mas que decir adjunto el codigo:
Código
adicionalmente dejo los errores que me aparecen en el compilador
#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(); }
Código:
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