Hola gente, a ver si me podeis orientar un pelín con un problemilla que tengo con este intento de programa. Se supone que es un listin telefonico (guardado en .txt), el cual el usuario puede ver el contenido, añadir nuevos numeros/nombres, borrarlos...
Mi problema está en el hecho de que, tengo 2 arrays (uno para nombres, otro para los numeros), y los rellené haciendo pruebas... y ahora el de los numeros no hay manera alguna de borrarle el contenido. A su vez, el de nombres sigue yendo bien.
Solo necesito una orientación de cómo puedo hacer que se borre el contenido. Ya probé de inicializarlo a 0, y nada.
Os dejo el código y si a alguien se le ocurre dónde está el error... en cuanto a las funciones, solo puedo usar : fscanf, fopen, fclose, feof
(he traducido al castellano lo que he podido, ya que lo tenia en catalan)
Gracias de antemano
#include <stdio.h>
#include <iostream>
int main (){
bool sortir=false; // bolea, controla sortida 5
while(!sortir){ //bucle , sortida seleccio 1 - 5
int seleccio;
bool ok_seleccio=false; //boolea per controlar letras
//while(!ok_seleccio){ //controla que sean numeros
printf("\n********************\n");
printf("Menu ");
printf("\n********************\n");
printf("1.Introducir nuevo telefono \n2.Buscar por nombre \n3.Guardar en disco \n4.Cargar listado \n5.Salir\n\nSeleccion: ");
scanf("%d",&seleccio);
bool in_sortir=false; //boolea case 2
FILE *fp;
int espais=1;
//case 1, guarda numero i nom de contacte , variables
int afegir=0;
int numero[10];
char contacte[10];
switch(seleccio){
case 1:
printf("Introduce el numero : ");
scanf("%d", &numero[afegir]);
printf("Introduce el nombre del contacto : ");
scanf("%s", &contacte[afegir]);
afegir++;
break;
case 2:
while(!in_sortir){
char nom[15];
printf("Introduce el nombre : ");
scanf("%s",&nom);
//... falta desarrollar ...
}
break;
case 3:
afegir = afegir -1;
printf("Guardando cambios....");
fp=fopen("telefons.txt","a");
fprintf(fp,"%s %d\n" ,contacte,numero);
printf("\nTots els canvis han sigut guardats");
fclose(fp);
for (int i=0;i<10;i++){ contacte[i]=0; numero[i]=0; }
break;
case 4:
printf("Carregant llisti telefonic...\n");
fp = fopen("telefons.txt","r");
char content[20];
while(!feof(fp)){
fscanf (fp, "%s", &content);
printf("\n%s ", content);
espais++;
if(espais==2){ printf("\n"); espais=0;}
}
fclose(fp);
break;
case 5:
printf("Saliendo del programa...");
sortir=true;
break;
default:
if(seleccio<0 || seleccio>6){
printf("error en la seleccion, las opciones son del 1 al 5");
}
break;
}
}
system("PAUSE");
return 0;
}