es un proyecto de final de mi semestre de la universidad he medio hecho algo pero no tengo un acumulador ni nada
y que hiciste durante todo el semestre??
A mi se me ocurre que lo trabajes con lista ligada, en el inciso 1) agregas los nodos:
typedef struct producto
{
int codigo;
char *nombre;
float precio;
struct producto *sig;
}Producto;
typedef Producto * ptrprod;
en 2) imprimes la lista, no es gran ciencia, fija un apuntador a la cabeza de la lista y te vas recorriendo e imprimiendo los nodos en su campo codigo, nombre y precio.
para 3) primero pregunta por el dato a buscar y despues haces un bucle donde te recorres a traves de la lista buscando el dato, ya sea nombre, código o precio, aunque debes validar que si el dato se tecleo mal y no se encuentra tirar mensaje de error.
4) trivial, la suma de los elementos entre el numero total de ellos.
5)Buscas nodo a nodo y guardas temporalmente el dato en una variable auxiliar, una variable menor y otra mayor, en la menor solamente guardas el precio mas pequeño y en la grande el contrario.
6) Aqui veo dificil arreglar la lista si los datos estan desordenados pero si desde el inciso 1 vas acomodando los nodos de menor a mayor a la hora de ordenar solo tienes que imprimir el resultado.
7) antes de salir liberas el espacio en memoria y regresas 0.
Otra alternativa puede ser que trabajes con una matriz de n renglones por 3 columnas pero como no sabes el total de productos de la empresa no vas a saber el tamaño de n y si creas un arreglo muy grande puede que no ocupes todos los espacios o que sea muy pequeño y te falten espacios.
en fin es cuestion de gustos, trata de trabajar punto por punto para que no te agobies y quedes en cero, piensa en como resolver el inciso 1), los demas son consecuencia del primero.