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();
}
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


0