Dev - C++ - ayuda con programa por favor

 
Vista:

ayuda con programa por favor

Publicado por Gerardo Veliz (1 intervención) el 17/10/2007 23:18:40
holaa

tengo una duda haerca de este programa, soy nuevo en esto de programar asi sdi es uqe no me explico muy bien por fa me dicen... ya que me urge mucho terminar este programa.....

bueno la cosa es que debo crear un programa que contenga lo siguiente

patente char [7]
marca char [15]
modelo char [15]
color char [15]
año int
precio long

FUNCIONES:

crear vehiculo
consultar vehiculo por patente
consultar vehiculo por marca
eliminar patente

todo con un menu


entonces la cosa es que lo de crear, eliminar y el menu estan listo, lo que me tiene en duda y aproblemado es lo de consultar o mostrar lo que ya ingrese o cree que seria el cosulta vehiculo por marca y el otro por patente ......

en fin eso seria no mas, lo del consulta...

bueno muchas gracias y espero que me puedan ayudar

chaoooooo......

----------------------------------------------------------------------------------------------------------------------------------
//CODIGO

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

struct automovil
{

char patente[7],marca[15],modelo[15],color[15];
int ano;
long precio;
};

crea_vehiculo(FILE **p);
elimina(FILE **p);
consulta_vehiculo_patente(FILE *p);
consulta_vehiculo_marca(FILE *p);

void main()
{

FILE*w;
int opcion;

do
{
printf("___________________\n\n");
printf(" Menu \n");
printf("___________________\n");
printf("Elija una Opcion\n\n");
printf("1.creador\n");
printf("2.consultar patente\n");
printf("3.consultar marca\n");
printf("4.Salir\n");
printf("___________________\n");
scanf("%d",&opcion);
clrscr();
switch(opcion)
{
case 1:
printf("Creador");
crea_vehiculo(&w);
break;

case 2:
printf("su patente es");
consulta_vehiculo_patente(w);
break;
case 3:
printf("su marca es");
consulta_vehiculo_marca(w);
break;

}
getch();
}while(opcion!=6);


crea_vehiculo(FILE **p)
{
char resp;
int sw;

struct automovil a;
(*p)=fopen("automovil.dat","wb");
if((*p)==NULL)
exit(0);
do
{
clrscr();
printf("Ingreso");
printf("Ingrece patente\n");fflush(stdin);gets(a.patente);
printf("Ingrece marca\n");fflush(stdin);gets(a.marca);
printf("Ingrece modelo\n");fflush(stdin);gets(a.modelo);
printf("Ingrece ano\n");fflush(stdin);scanf("%d",&a.ano);
printf("Ingrece color\n");fflush(stdin);gets(a.color);
printf("Ingrece precio\n");fflush(stdin);scanf("%d",&a.precio);

fwrite(&a,sizeof(a),1,(*p));

printf("\n Desea crear otro registro[s/n]");fflush(stdin);scanf("%c",&resp);

resp=toupper(resp);
}
while(resp=='s');

fclose((*p));
clrscr();
return(0);
}








consulta_vehiculo_patente(FILE *p); // INCONCLUSO
{
struct automovil a;
printf("escriba la patente a buscar:");






consulta_vehiculo_marca(FILE *p); // INCONCLUSO
{
char nombre[30];
struct automovil a;
printf("escribe la marca a buscar: ");
strupr(gets(nombre));















elimina(FILE **p); // FUNCION ELIMINA

struct empleado a;
struct empleado b;
char ci[10];
char resp;
int sw=0;
file *x;

printf ("ingrese el rut del empleado");
fflush(stdim);gets(ci);
(*p)=fopen ("automovil.dat","rb");
if ((*p)==NULL)
exit(0);

while((!feof((*p)))&&(sw==0))
{
fread(&a,sizeof(a),1,(*p));

if(feof((*p)))
break;

if ((strcmp(a.rut,ci)==0)
sw=1;
}
fclose((*p));

if(sw=0)
{
printf("el empleado no esta en la base de datos");
getch();
}

else
{
(*P)=fopen("automovil.dat","rb");
if ((*p)==NULL)
exit(0);

while (!feof((*p)))
{
fread (&a,sizeof(a),1,(*p));
if (feof((*p)))
break;

if (strcmp(a.rut,ci)==0)
{
printf("patente:%s",a.rut);
printf("esta seguro de eliminar s/n");
fflush(stdim);scanf("%c",&resp);

if ((resp=='s')||(resp=='s'))
{
printf("patente eliminada con exito");
getch(); sw=0;
}
}

if (sw==1)
{
strcpy(b.patente,a.patente);
strcpy(b.marca,a.marca);
strcpy(b.modelo,a.modelo);
strcpy(b.color,a.color);
b.ano=a.ano;
b.precio=a.precio;
fwrite(&b,sizeof(b),1,x);
}
}
fcloseall();

(*p)=fopen("automovil.dat","wb");

if((*p)==NULL)
exit(0);
x=fopen("paso.dat","rb");

if(x==NULL)
exit(0);

while(!feof(x))
{
fread(&b,sizeof(b),1,x);

if (feof(x))
break;

strcpy(a.patente,b.patente);
strcpy(a.marca,b.marca);
strcpy(a.modelo,b.modelo);
strcpy(a.color,b.color);
a.ano=b.ano;
a.precio=b.precio;
fwrite(&a,sizeof(a),1,(*p));
}
fcloseall();
}
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