Ciao a tutti... ho bisogno di una mano per questo problema:
Ho questo file .txt diviso in colonne da spazi, nalla prima ho il codice vestito(6cifre), nella seconda la marca nella terza il prezzo in euro:
106077 diesel 78.5
283211 carrera 54.0
965789 adidas 64.3
164300 lacoste 30.0
140045 allstar 39.9
IMP: il file txt (chiamato dati_indumenti.txt) puo avere il numero di righe variabili.
Lo scopo del programma è eseguire una di 3 opzioni:
- inserimento di un altra riga (non nel txt, ma nella struttura dinamica)
- modifica di una riga o di uno dei sui dati (non nel txt, ma nella struttura dinamica)
- eliminazione di una riga (non nel txt, ma nella struttura dinamica)
Io ho scritto questo codice :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
int codice;
char marca [20];
double prezzo;
}dati_indumenti_t;
int main (void)
{
int numero_righe = 0,
carattere = 0;
dati_indumenti_t indumento;
FILE *file_dati_indumenti;
if ((file_dati_indumenti = fopen("dati_indumenti.txt","r")) == NULL)
printf("ERRORE in apertura del file\n");
else
{
while((carattere = fgetc(file_dati_indumenti)) != EOF )
{
if(carattere == '\n')
numero_righe++;
}
rewind(file_dati_indumenti);
fscanf(file_dati_indumenti, "%d %s %lg", &indumento.codice, indumento.marca, &indumento.prezzo);
while(!feof(file_dati_indumenti))
{
printf("%d %s %lg\n",indumento.codice, indumento.marca, indumento.prezzo);
fscanf(file_dati_indumenti, "%d %s %lf", &indumento.codice, indumento.marca, &indumento.prezzo);
}
printf("visualizzo\n%d %s %lg\nnum_righe:%d\n",indumento.codice, indumento.marca, indumento.prezzo, numero_righe);
fclose(file_dati_indumenti);
}
return (0);
}
Io eseguendo questo codice riesco a vsualizzare esattamente tutto il file txt stampando i singoli valori che assumono le variabili della struct, ed anche il numero di righe del .txt.
Il problema è più di uno:
alla fine io visualizzo i valori della struttura e ovviamente mi stampa solo i 3 valori dell'ultima riga,
COME DEVO FARE PER MEMORIZZARE TUTTI I DATI IN UNA STRUCT O UNA STRUTTURA DINAMICA E POTER FARE LE 3 OPERAZIONI???
Es: posso usare una matrice dinamica ??? se si come ?? perchè se fosse statica l'operazione di eliminazione non sarebbe possibile dato che in una matrice i dati nn possono essere eliminati. o mi sbaglio ??
VI PREGO RISPONDETE,,,,