viernes, 13 de mayo de 2011

Venta de Carros

#include
#include
#include

struct {
char marca[20];
int modelo;
char nombre[20];
char color[20];
int puerta;
int precio;
}
carro;

int main(){
int opcion;
void procedimiento_agregar();
void procedimiento_listado_de_carros();
void procedimiento_buscar_por_precio();
void procedimiento_buscar_por_color();

opcion=1;
while (opcion<5){ printf(" Menu de Carros en Venta \n"); printf("-------------------------------------- \n"); printf("1.- Agregar Carro\n"); printf("2.- Lista de Carros en Venta\n"); printf("3.- Busqueda por Precio\n"); printf("4.- Busqueda por Color\n"); printf("5.- Salir\n"); printf("-------------------------------------- \n"); printf("Escribe opcion: "); scanf("%i",&opcion); printf("\n"); switch (opcion){ case 1: procedimiento_agregar(); break; case 2: procedimiento_listado_de_carros(); break; case 3: procedimiento_buscar_por_precio(); break; case 4: procedimiento_buscar_por_color(); break; } }; } void procedimiento_agregar(){ getchar(); printf("Dame el modelo: ");scanf("%d",&carro.modelo);getchar(); printf("Dame la marca: ");gets(carro.marca); printf("Dame el nombre del carro: ");gets(carro.nombre); printf("Dame el color: ");gets(carro.color); printf("Dame el numero de puertas: ");scanf("%d",&carro.puerta); printf("Dame el precio: ");scanf("%d",&carro.precio); FILE *archdisco; archdisco=fopen("D:\\Examen\\carros.dat","at+"); fwrite(&carro,sizeof(carro),1,archdisco); fclose(archdisco); printf("Carro insertado en archivo."); getchar();getchar(); } void procedimiento_listado_de_carros(){ int total_de_carros; total_de_carros=0; FILE *archdisco; archdisco=fopen("D:\\Examen\\carros.dat","at+"); printf(" Carros en Venta \n"); printf("--------------------------------------\n"); while(fread(&carro,sizeof(carro),1,archdisco)==1) { printf("%s \t",carro.nombre); printf("%s \t",carro.marca); printf("%d \t",carro.modelo); printf("%d \t",carro.precio); printf("%s \t",carro.color); printf("%d \t",carro.puerta); printf("\n"); total_de_carros = total_de_carros + 1; }; printf("-------------------------------------- \n"); printf("Total de Carros: %i \n\n",total_de_carros); fclose(archdisco); getchar(); } void procedimiento_buscar_por_precio(){ printf("Dame el Precio: "); int clave; scanf("%d", &clave);getchar(); FILE *archdisco; archdisco=fopen("D:\\Examen\\carros.dat","at+"); while(fread(&carro,sizeof(carro),1,archdisco)==1){ if(clave>=carro.precio){
printf("Nombre : %s",carro.nombre);
printf("\n");
printf("Modelo : %d ",carro.modelo);
printf("\n");
printf("Marca : %s", carro.marca);
printf("\n");
printf("Precio : %d " ,carro.precio);
printf("\n");
printf("Color : %s " ,carro.color);
printf("\n");
printf("Numero de Puertas : %d " ,carro.puerta);
printf("\n");
printf("\n");printf("\n");
}};

fclose(archdisco);
getchar();
}
void procedimiento_buscar_por_color(){

printf("Dame el Color: ");getchar();
char clave[20]; gets(clave);

FILE *archdisco;
archdisco=fopen("D:\\Examen\\carros.dat","at+");
while(fread(&carro,sizeof(carro),1,archdisco)==1){
if(strcmp(carro.color , clave)==0){
printf("Nombre : %s ",carro.nombre);printf("\n");
printf("Modelo : %d ", carro.modelo);printf("\n");
printf("Precio : %d " , carro.precio);printf("\n");
printf("Color : %s " , carro.color);printf("\n");
printf("Numero de Puertas: %d " , carro.puerta);printf("\n");
printf("\n\n");

}

};
fclose(archdisco);
getchar();
}