Originariamente inviato da oregon
Devi chiedere 3 valori, i parametri a, b e c della parabola per inserirli in un nodo della lista.
La scanf deve prevedere 3 variabili che devi inserire nella linea separati da uno spazio e terminati dall'invio, ad esempio
1 2 3
Innanzitutto ti ringrazio per l'aiuto che mi stai dando 
Dunque, io ho realizzato questo codice...
codice:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct PB {
int a;
int b;
int c;
struct PB *next;
};
struct PB *crea_parabole();
void visualizza_parabole(struct PB *, int x, int y);
int main() {
struct PB *parabole;
int x;
int y;
parabole = crea_parabole();
printf("Inserire le coordinate x ed y: ");
scanf("%d %d", &x, &y);
visualizza_parabole(parabole, x, y);
}
struct PB *crea_parabole(){
struct PB *p, *punt;
int i, n;
printf("Specificare il numero di nodi: ");
scanf("%d", &n);
if (n == 0) {
p = NULL;
} else {
p = (struct PB *)malloc(sizeof(struct PB));
printf("Inserisci l'elemento nel nodo 1: ");
scanf("%d %d %d", &p->a, &p->b, &p->c);
punt = p;
for (i = 2; i <= n; i++) {
punt->next = (struct PB *)malloc(sizeof(struct PB));
punt = punt->next;
printf("Inserisci l'elemento nel nodo %d: ", i);
scanf("%d %d %d", &p->a, &p->b, &p->c);
}
punt->next = NULL;
}
return(p);
}
void visualizza_parabole(struct PB *p, int x, int y) {
while (p != NULL) {
if ( y == ((p->a)*x*x) + ((p->b)*x) + (p->c) ) {
printf("Parabola trovata");
printf("%d %d %d\n", p->a, p->b, p->c);
}
p = p->next;
}
printf("NULL");
}
... che, ahimè, non funziona 
1) Prima di tutto sai dirmi quale libreria devo usare per malloc? Chi dice malloc.h, chi dice che basta stdlib.h 
2) Logicamente parlando, l'espressione per vedere se i punti corrispondo alla parabola è giusta oppure no (ovviamente parlando della logica del C, almeno l'equazione matematica della parabola la so
)
3) La parte dell'inserimento delle parabole mi sembra funzioni, ma se la funzione visualizza_parabole la scrivo in modo semplice solo per visualizzare i dati, cioè
codice:
void visualizza_parabole(struct PB *p) {
while (p != NULL) {
printf("%d %d %d\n", p->a, p->b, p->c);
p = p->next;
}
printf("NULL");
}
mi visualizza questo (ipotizzando di voler inserire tre parabole)

Dov'è che sbaglio?
PS: ho usato gli int per comodità...