[C con Clase] PLEASE AYUDENME CON ESTE PROBLEMA DE structuras
Gabriel Santiago Galeas Atiencia
ggaleas805 en hotmail.com
Jue Feb 26 08:03:50 CET 2009
Buenas tardes como puedo terminar este programa por favor su ayuda
El saldo debe ser mayor a 500 y no se puede retirar canidades mayor al saldo
Saludos cordiales
Gabriel Galeas
#include<stdio.h>
#include<conio.h>
typedef struct registro
{int num_cta;
char nombre[50];
float saldo;
char estado;
};
void ingreso();
void deposito();
void retiro();
void consultar();
void salir();
FILE *ptr;
registro reg;
long tam=sizeof(registro);
void main()
{clrscr();
int op;
do
{
printf("\n\n\t M E N U D E O P C I O N E S \n");
printf("\n");
printf("\n\t1.-A¥ADIR NUEVA CUENTA ");
printf("\n\t2.-DEPOSITO");
printf("\n\t3.-RETIRO");
printf("\n\t4.-CONSULTAR");
printf("\n\t5.-SALIR");
printf("\n\n");
printf("\n\t INGRESE OPCION : ");
scanf("%d",&op);
clrscr();
switch(op)
{case 1:
ingreso();break;
case 2:
deposito();break;
/* case 3:
retiro();break;
case 4:
consultar();break;
case 5:
salir();break;*/
}
}while(op!=2);
getch();
}
void ingreso()
{
int num_cta_reg;
ptr=fopen("person201.dat","ab");
if(ptr==NULL)
{
printf("\nERROR DE APERTURA");
getch();
return;
}
clrscr();
printf("\n\n\tINGRESO DE CUENTA\n");
//CALCULO DE REG.NUM
fseek(ptr,0,SEEK_END);
num_cta_reg=ftell(ptr)/tam;
reg.num_cta=num_cta_reg+1;
printf("\n\n\t CUENTA # : %d",reg.num_cta);
fflush(stdin);
printf("\n\n\t INGRESE NOMBRE : ");
gets(reg.nombre);
reg.estado='A';
fwrite(®,tam,1,ptr);
if(ferror(ptr)==0)
printf("\n\n\t ESCRITURA OK");
else
printf("\n\n\t ERROR DE ESCRITURA");
fclose(ptr);
getch();
clrscr();
}
void deposito()
{
float ing=0;
int num_cta_reg,saldo;
ptr=fopen("person201.dat","ab");
if(ptr==NULL)
{
printf("\nERROR DE APERTURA");
getch();
return;
}
clrscr();
printf("\n\n\t *** DEPOSITO ***");
do
{
printf("\n Ingrese la cantidad que desea depositar:");
scanf("%f",&ing);
}while(ing<=0);
saldo+=ing;
printf("\n Su saldo es:%.2f",saldo);
}
void consulta()
{
ptr=fopen("person200.dat","rb");
if(ptr==NULL)
{printf("\n\n\t NO EXISTE ARCHIVO");
getch();
return;
}
clrscr();
printf("\n\n\t CONTENIDO DEL ARCHIVO\n");
printf("\n\n\t NUMERO\tNOMBRE\tEDAD\n");
fread(®,tam,1,ptr);
while(!feof(ptr))
{if(reg.estado=='A')
printf("\n\t%d\t%s\t%d",reg.num_cta,reg.nombre);
fread(®,tam,1,ptr);
}
fclose(ptr);
getch();
clrscr();
}
/*void modificar()
{
int num_cta_reg,valor;
consulta();
ptr=fopen("person200.dat","r+b");
if(ptr==NULL)
{
printf("\n Archivo No Existe: ");
getch();
return;
}
fseek(ptr,0,SEEK_END);
num_cta_reg=ftell(ptr)/tam;
do
{
printf("\n Ingrese N£mero de Registro a Modificar (1-%d):",num_cta_reg);
scanf("%d",&valor);
}while(valor<1 || valor>num_cta_reg);
fseek(ptr,(valor-1)*tam,SEEK_SET); //MUEVE EL PUNTERO AL INICIO DEL REGISTRO
fread(®,tam,1,ptr);
printf("\n Informacion Actual");
printf("\n Nombre =%s",reg.nombre);
printf("\n Edad =%d",reg.edad);
printf("\n Ingrese Nueva Informacion: \n ");fflush(stdin);
printf("\n Ingrese Nuevo Nombre: \n ");gets(reg.nombre);
printf("\n Ingrese Nueva Edad: \n "); scanf("%d",®.edad);
fseek(ptr,-tam,SEEK_CUR);
fwrite(®,tam,1,ptr);
if(ferror(ptr)==0)
printf("\n\n REGISTRO MODIFICADO CON EXITO");
fclose(ptr);
getch();
clrscr();
}
*/
/*void eliminar()
{
int num_cta_reg,valor;char op;
consulta();
ptr=fopen("person200.dat","r+b");
if(ptr==NULL)
{
printf("\n Archivo No Existe: ");
getch();
return;
}
fseek(ptr,0,SEEK_END);
num_cta_reg=ftell(ptr)/tam;
do
{
printf("\n Ingrese N£mero de Registro a eliminar (1-%d):",num_cta_reg);
scanf("%d",&valor);
}while(valor<1 || valor>num_cta_reg);
fseek(ptr,(valor-1)*tam,SEEK_SET); // Del registro que se quiere eliminar
fread(®,tam,1,ptr);
printf("\n REGISTRO :\n");
printf("\n Nombre=%s",reg.nombre);
printf("\n Edad=%d",reg.edad);
fflush(stdin);
printf("\n DESEA ELIMINAR EL REGISTRO: ");
scanf("%c",&op);
if(op=='S' || op=='s')
{
reg.estado='I';
fseek(ptr,-tam,SEEK_CUR);
fwrite(®,tam,1,ptr);
if(ferror(ptr)==0)
printf("\n REGISTRO ELIMINADO OK");
}
fclose(ptr);
getch();
clrscr();
}
void salir()
{
clrscr();
printf("\n\n\t Gracias por su visita");
}
*/
_________________________________________________________________
Llévate Messenger en tu móvil allá donde vayas ¿A qué esperas?
http://serviciosmoviles.es.msn.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090226/5a27dc5c/attachment.html>
Más información sobre la lista de distribución Cconclase