Ciao,
-La funzione rand() genera sempre lo stesso numero se non inizializzi il seme prima di chiamare la funzione ( ovvero prima di scrivere rand()%num ) ----> Per inizializzare il seme devi scrivere srand(time(NULL))...(non dimenticarti di includere la time.h);
-Per assegnare dei colori al testo stampato puoi utilizzare la libreria conio.h
-Per pulire lo schermo, dato che sei sul linguaggio C, puoi usare system("cls");
Infine ti consiglio questo sito per acquisire molte delle informazioni necessarie alla creazione del tuo programma:
https://www.w3schools.com/c/index.ph
Buona Programmazione!