Bueno en tu caso lo que ocupas aqui a mi parecer son estructuras, eres nuevo como dices pero para hacer lo que deseas, es necesario que empaquetes tus campos o si lo prefieres que agreges un campo extra al final de cada linea, por ejemplo:
contacto1, campo1, campo2,campo3,bandera
contacto2, campo1, campo2,campo3,bandera
o con estructuras:
struct contacto:
tipo Numerodecontacto;
tipo campo1;
tipo campo2;
tipo campo3;
Ambas logicas pueden guardarse en archivos, pero la segunda se te hace el trabajo mas facil y limpio, solo una cosa usando el primer razonamiento vas a usar mas programacion para controlar tus campos y hacer lo que quieres hacer. Piensalo un poco y si tienes dudas como hacerlo por aqui andamos. Suerte y animo.