Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "conio.h"
- #include "iostream"
- #include <stdio.h>
- #include "string.h"
- using namespace std;
- struct regamigos
- {
- char nombre[30];
- int edad;
- char sexo;
- char estado;
- };
- void agregarRegistro()
- {
- FILE *ptr;
- regamigos reg;
- ptr=fopen("amigos.dat","ab");
- do
- {
- cout<<"ingrese el nombre"<<endl;
- cin.ignore();
- gets(reg.nombre);
- if(strlen(reg.nombre)==0)
- {
- cout<<"entrada vacia debe ingresar un nobre para continuar"<<endl;
- }
- }
- while(strlen(reg.nombre)==0);
- do
- {
- cout<<"ingrese la edad"<<endl;
- cin>>reg.edad;
- if(reg.edad<1||reg.edad>100)
- {
- cout<<"edad irreal,dbe ingresar una edad entre el 1 y el 100"<<endl;
- }
- }
- while(reg.edad<1||reg.edad>100);
- do
- {
- cout<<"ingrese el sexo (F/M)"<<endl;
- cin>>reg.sexo;
- if(reg.sexo !='F'&®.sexo !='M')
- {
- cout<<"caracter no valido limitese a los dos parametros"<<endl;
- }
- }
- while(reg.sexo !='F'&®.sexo !='M');
- reg.estado='A';
- fwrite(®,sizeof(reg),1,ptr);
- fclose(ptr);
- }
- void listador()
- {
- int c=0;
- FILE *ptr;
- regamigos reg;
- ptr=fopen("amigos.dat","rb");
- if(ptr!=NULL)
- {
- cout<<"\n\n========================================================================================";
- cout<<"\n\t**** LISTA DE AMNIGOS ****";
- cout<<"\n\n========================================================================================";
- cout<<"\nnRroReg nombre edad sexo estado";
- cout<<"\n\n========================================================================================"<<endl;
- fread(®,sizeof(reg),1,ptr);
- while(feof(ptr)==false)
- {
- c++;
- if(reg.estado=='A')
- {
- cout<<c<<"\t\t"<<reg.nombre<<"\t\t"<<reg.edad<<"\t"<<reg.sexo<<"\t"<<reg.estado<<endl;
- }
- fread(®,sizeof(reg),1,ptr);
- }
- cout<<"\n\n========================================================================================"<<endl;
- fclose(ptr);
- }
- else
- {
- cout<<"nel no existe archivo"<<endl;
- }
- }
- void promediadora()
- {
- int m=0,f=0,tm=0,tf=0,t=0;
- FILE *ptr;
- regamigos reg;
- ptr=fopen("amigos.dat","rb");
- if(ptr!=NULL)
- {
- fread(®,sizeof(reg),1,ptr);
- while(feof(ptr)==false)
- {
- if(reg.sexo=='M'&®.sexo!='E')
- {
- m+=reg.edad;tm++;fread(®,sizeof(reg),1,ptr);
- }
- else if(reg.sexo=='F'&®.sexo!='E')
- {
- f+=reg.edad;tf++;fread(®,sizeof(reg),1,ptr);
- }
- }
- fclose(ptr);
- }
- else{cout<<"no existe archivo"<<endl;}
- t=(m+f)/(tm+tf);
- m/=tm;
- f/=tf;
- cout<<"el promedio de edad de hombres es;"<<m<<endl;
- cout<<"el promedio de edad de mujeres es;"<<f<<endl;
- cout<<"el promedio de edad generales;"<<t<<endl;
- }
- void buscadora(int n)
- {
- int c=0;
- FILE *ptr;
- regamigos reg;
- ptr=fopen("amigos.dat","rb");
- if(ptr!=NULL)
- {
- fseek(ptr,(n-1)*sizeof(reg),SEEK_SET);
- fread(®,sizeof(reg),1,ptr);
- if(feof(ptr)==false)
- {
- if(reg.estado=='A')
- {
- cout<<"\n\n========================================================================================"<<endl;
- cout<<"el registro que desea es :"<<endl;
- cout<<n<<"\t\t"<<reg.nombre<<"\t\t"<<reg.edad<<"\t"<<reg.sexo<<"\t"<<reg.estado<<endl;
- cout<<"\n\n========================================================================================"<<endl;
- }
- else{cout<<"el registro se encuentra eliminado"<<endl;}
- }
- else{cout<<"el registro no existe"<<endl;}
- fclose(ptr);
- }
- else
- {
- cout<<"nel no existe archivo"<<endl;
- }
- }
- void modificadora(int n)
- {
- int c=0,op;
- FILE *ptr;
- regamigos reg;
- ptr=fopen("amigos.dat","r+b");
- if(ptr!=NULL)
- {
- fseek(ptr,(n-1)*sizeof(reg),SEEK_SET);
- fread(®,sizeof(reg),1,ptr);
- if(feof(ptr)==false)
- {
- fseek(ptr,(n-1)*sizeof(reg),SEEK_SET);
- if(reg.estado=='A')
- {
- cout<<"el registro que desea modificar es :"<<endl;
- cout<<"\n\n========================================================================================"<<endl;
- cout<<n<<"\t\t"<<reg.nombre<<"\t\t"<<reg.edad<<"\t"<<reg.sexo<<"\t"<<reg.estado<<endl;
- cout<<"\n\n========================================================================================"<<endl;
- cout<<"segro desea modificarlo?"<<endl;
- cout<<"0=SI\n1=NO"<<endl;
- cin>>op;
- if(op==0)
- {
- do
- {
- cout<<"ingrese el nombre"<<endl;
- cin.ignore();
- gets(reg.nombre);
- if(strlen(reg.nombre)==0)
- {
- cout<<"entrada vacia debe ingresar un nobre para continuar"<<endl;
- }
- }
- while(strlen(reg.nombre)==0);
- do
- {
- cout<<"ingrese la edad"<<endl;
- cin>>reg.edad;
- if(reg.edad<1||reg.edad>100)
- {
- cout<<"edad irreal,dbe ingresar una edad entre el 1 y el 100"<<endl;
- }
- }
- while(reg.edad<1||reg.edad>100);
- do
- {
- cout<<"ingrese el sexo (F/M)"<<endl;
- cin>>reg.sexo;
- if(reg.sexo !='F'&®.sexo !='M')
- {
- cout<<"caracter no valido limitese a los dos parametros"<<endl;
- }
- }
- while(reg.sexo !='F'&®.sexo !='M');
- }
- }
- }
- else{cout<<"el registro no existe"<<endl;}
- fclose(ptr);
- }
- else
- {
- cout<<"nel no existe archivo"<<endl;
- }
- }
- void main()
- {int n,i,y;
- cout<<"\t\tMENU"<<endl;
- cout<<"[1]=añadir amigo"<<endl;
- cout<<"[2]=mostrar lista completa"<<endl;
- cout<<"[3]=promedio de edades"<<endl;
- cout<<"[4]=acceso directo"<<endl;
- cout<<"[5]=modificador"<<endl;
- cout<<"ingrese su opcion"<<endl;
- cin>>n;
- switch(n)
- {
- case 1:{
- agregarRegistro();break;
- }
- case 2:{
- listador();break;
- }
- case 3:{
- promediadora();break;
- }
- case 4:{
- cout<<"ingrese el registro que desea buscar"<<endl;
- cin>>y;
- buscadora(y);break;
- }
- case 5:{
- cout<<"ingrese el registro que desea editar"<<endl;
- cin>>y;
- modificadora(y);break;
- }
- }
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement