Dev - C++ - AYUDA!! URGE!! Falte a una clase y no se que hacer!!

   
Vista:

AYUDA!! URGE!! Falte a una clase y no se que hacer!!

Publicado por Felipe (1 intervención) el 08/08/2011 19:39:39
hola!! gente falte a una clase de programacion y en esa clase explicaron como hacer un trabajo el cual yo crei poder hacer simplemente viendo la teoria del profesor... pero no!!
La practica consta de estos 3 ejercicios!
realmente quiero aprender que es lo que tengo que hacer ya que hay q hacerlos con memoria temporal que no entiendo como...
pero tambien debo entregarlo mañana y no se que hacer!
POR FAVOR AYUDENME!
1. A un estudiante se le propuso el siguiente problema: Escriba un programa que lea los siguientes datos de un cliente: Cédula, nombre, teléfono. Escriba un programa que almacene N registros en el archivo y despliegue los registros almacenados.

2. La Escuela Los Informáticos le propuso a sus estudiantes el siguiente problema: Se requiere un programa que almacene sus nombres y fechas de nacimiento (dadas en día, mes y año –por separado-). Despliegue los estudiantes que cumplen años en un mes determinado, así como los que nacieron en un determinado día.

3. Una veterinaria requiere llevar el control de citas de sus mascotas. Escriba un programa que, utilizando archivos almacene: Nombre de la mascota, propietario, fecha de ingreso, Categoría, Género, fecha de última visita.

Una vez almacenados los datos consulte cuál es la mascota de un dueño determinado y cuándo fue su última visita.

Despliegue el total de mascotas hembra y macho respectivamente. Así como las mascotas por categoría.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

este es el ejemplo que puso el profesor lo que pasa es q no me corre bien se queda pegado entonces no se como hacer los otros

#include <stdio.h>
#include <conio.h>
#include <string.h>

struct
{
int matricula;
char nombre[30];
int edad;
}
alumno;


void menu();
void crear();
void agregar();
void editar();
void consultar();
void eliminar();

main()
{
clrscr();
menu();
return 0;
}



void menu()
{
int opc;
clrscr();
printf ("MENU PRINCIPAL\n");
printf ("\n");
printf ("1. Crear archivo\n");
printf ("2. Agregar registro\n");
printf ("3. Editar registro\n");
printf ("4. Eliminar registro\n");
printf ("5. Buscar registro\n");
printf ("6. Salir del sistema\n");
printf ("Digite su opci¢n:");
scanf ("%d",&opc);
switch (opc)
{
case 1:
{
crear();
menu();
break;
}
case 2:
{
agregar();
menu();
break;
}
case 3:
{
editar();
menu();
break;
}
case 4:
{
eliminar();
menu();
break;
}
case 5:
{
consultar();
menu();
break;
}
case 6:
{
break;
}
}
}



void crear()
{
clrscr();
FILE *memoria;
memoria = fopen("p:\\alumnos.dat","w");
fclose(memoria);
printf("Archivo creado");
getch();
}

void agregar()
{
clrscr();
printf("Digite matricula :");
scanf("%d",&alumno.matricula);
printf("Digite nombre :");
scanf("%s",&alumno.nombre);
printf("Digite edad :");
scanf("%d",&alumno.edad);
FILE *memoria;
memoria = fopen("p:\\alumnos.dat","at+");
fwrite(&alumno,sizeof(alumno),1,memoria);
printf("Registro agregado");
getch();
fclose(memoria);
}

void editar()
{
clrscr();
printf("Digite matricula editar:");
int clave;
scanf("%d",&clave);
FILE *memoria;
FILE *memoria2;
memoria = fopen("p:\\alumnos.dat","r+");
memoria2 = fopen("p:\\temporal.dat","at+");
/*fread() regresa siempre cuantas estructuras leyo*/
while(fread(&alumno,sizeof(alumno),1,memoria)==1)
{
if ( clave == alumno.matricula)
{
printf("Digite nuevo nombre :");
scanf("%s",alumno.nombre);
printf("Digite nueva edad :");
scanf("%d",&alumno.edad);
fwrite(&alumno,sizeof(alumno),1,memoria2);
}
else
{
fwrite(&alumno,sizeof(alumno),1,memoria2);
}

}; /*fin del while*/
/*cerrado de archivos*/
fclose(memoria);
fclose(memoria2);
/*removiendo y renombrando archivos*/
remove("p:\\alumnos.dat");
rename("p:\\temporal.dat","p:\\alumnos.dat");
printf("Registro editado");
getch();
}

void consultar()
{
int edad;
clrscr();
printf("Digite la edad a buscar:");
scanf("%d",&edad);
/*abriendo, leyendo,cargando estructura*/
FILE *memoria;
memoria = fopen("p:\\alumnos.dat","at+");
/*Se inicia el ciclo de lectura y fread() regresa siempre cuantas estructuras leyo*/
while(fread(&alumno,sizeof(alumno),1,memoria)==1)
{
if (alumno.edad >= edad)
{
printf("El Id. del alumno es:%d\n",alumno.matricula);
printf("Su nombre es:%s\n",alumno.nombre);
printf("Tiene %d años\n",alumno.edad);
printf("\n");
}

} // aqui termina while
getch();
fclose(memoria);
}

void eliminar()
{
int clave;
clrscr();
printf("Digite matricula eliminar:");
scanf("%d",&clave);
FILE *memoria;
FILE *memoria2;
memoria = fopen("p:\\alumnos.dat","r+");
memoria2 = fopen("p:\\temporal.dat","at+");
while(fread(&alumno,sizeof(alumno),1,memoria)==1)
{
if ( clave != alumno.matricula)
fwrite(&alumno,sizeof(alumno),1,memoria2);
}
fclose(memoria);
fclose(memoria2);
/*removiendo y renombrando archivos*/
remove("p:\\alumnos.dat ");
rename("p:\\temporal.dat","p:\\alumnos.dat ");
printf("Registro eliminado");
getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA!! URGE!! Falte a una clase y no se que hacer!!

Publicado por Carlos (1 intervención) el 29/10/2015 06:01:51
Hay amigo/amiga, yo pensé que era el programa resuelto y ya me habia emocionado G-G-G. DE PUUUURA CASUALIDAD no lo resolvistes para que me lo pasesnn?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar