URGENTE Inventario listas ligadas, buscar un registro y decir si existe o no

¿Estás muy vago para hacer el proyecto de programación y tienes que entregarlo mañana? Escribe aquí y quizá algún alma caritativa se decida a ayudarte. También puedes solicitar el servicio de <a href="http://www.buscoprofe.com">resolución de trabajos de clase</a>.
Responder
Mensaje
Autor
lebas_1
Mensajes: 4
Registrado: 12/05/2019 7:27 pm

URGENTE Inventario listas ligadas, buscar un registro y decir si existe o no

#1 Mensaje por lebas_1 » 15/05/2019 5:14 pm

Buenas noches tengo un problema con la funcion de buscar en mi problema o no sé si surja desde otro punto mi error.
La primera es a la hora de mostrar mi archivo se muestra con basura.
Y la segunda en mi funcion buscar, no funciona bien, porque le ingreso una matricula que no está y me dice que si está. Ayuda por favor, lo necesito.

Código: Seleccionar todo

int buscar(){ 
    char clav[10];
    int ban=0, posi;
    FILE *pf;
    
      	  
    pf=fopen("inventario2.txt", "a+");
    if(pf==NULL){
    	printf("Error al abrir el archivo\n");
    	return;
	}
	
	printf("\nIngrese la placa del automovil\n");
    scanf("%s",&clav);
    
	while(!feof(pf)){
		fread(&inventario, sizeof(inventario),1,pf);
		
		if(strstr(clav, inventario.placas)!=NULL){
			ban=1;
			posi=ftell(pf); //ftell devuelve la posicion actual del puntero
			printf("%s %s", inventario.placas, inventario.precio);
			
		}
		
	}
	if(ban==0){
		printf("El auto con las placas %s no existe\n",clav);
		posi=-1;
    }
	fclose(pf);
	
	return posi;
 
}

int buscarMC(){ 
    char mod[15], col[10];
    int ban=0, posi;
    FILE *rf;
    
    printf("Ingrese el modelo a buscar:\n");
    scanf("%s",&mod);
    printf("Ingrese el color a buscar:\n");
    scanf("%s",&col);  
		  
    rf=fopen("inventario2.txt", "a+");
    if(rf==NULL){
    	printf("Error al abrir el archivo\n");
    	return;
	}
	
    
	while(!feof(rf)){
		fread(&inventario, sizeof(inventario),1,rf);
		
		if((strstr(mod, inventario.nombre)!=NULL)&&(strstr(col, inventario.color)!=NULL)){
			ban=1;
			posi=ftell(rf); //ftell devuelve la posicion actual del puntero
			printf("%s %s", inventario.placas, inventario.precio);
		}
		
	}
	if(ban==0){
		printf("El auto no existe\n");
		posi=-1;
    }
	fclose(rf);
	
	return posi;
 
}


int buscarPrecio(){ 
    char pre[10];
    int ban=0, posi;
    FILE *qf;
    
      	  
    qf=fopen("inventario2.txt", "a+");
    if(qf==NULL){
    	printf("Error al abrir el archivo\n");
    	return;
	}
	
	printf("\nIngrese el precio a buscar:\n");
    scanf("%s",&pre);
    
	while(!feof(qf)){
		fread(&inventario, sizeof(inventario),1,qf);
		
		if(strstr(pre, inventario.precio)!=NULL){
			ban=1;
			posi=ftell(qf); //ftell devuelve la posicion actual del puntero
			printf("%s %s", inventario.placas, inventario.precio);
		}
		
	}
	if(ban==0){
		printf("No existe un auto con ese precio\n");
		posi=-1;
    }
	fclose(qf);
	
	return posi;
 
}
Última edición por mollok el 16/05/2019 1:33 am, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados