#include <cstdlib> //
#include <iostream> // dichiarazione librerie
#include <stdio.h> //
unsigned int sequence(void) // funzione sequences per aumentare ilvalore all'interno di un file
{
FILE* fs;// descrittore file e indica da quale file bisogna leggere valore di ritorno
unsigned int n;// dichiarazione variabile
//apertura del file txt
fs=fopen("number.txt","r+");
if(fs==NULL)
return 0;
//lettura da file dell'ultimo valore utilizzato
if (fscanf(fs,"%u",&n)!=1)
{
fclose(fs);
return 0;
}
//generazione nuovo valore da utilizzare
n++;
//salvataggio su file del nuovo valore
fseek(fs, 0, SEEK_SET);
fprintf(fs,"%u",n);
fclose(fs);// chiusura del file
return n;
}
unsigned char righe(void)
{
FILE* fr;
int conta_righe=0; //contatore delle righe
char str[255];//stringa di appoggio
if ((fr=fopen("cognomi.txt","r"))==NULL)//se il file è vuoto ti da errore
{
printf("errore");
}
else//altrimenti conta le righe
{
while((fgets(str,255,fr))!=NULL)//fgets usa null per vedere se la lettura è andata a buon fine
{
conta_righe++;//incrementa il contatore di uno ad ogn i riga
}
}
fclose(fr); // chiude il file
printf("Nel file sono presenti %i conomi ",conta_righe);//visualizzazione del numero di cognomi
getchar();
return conta_righe;
}
unsigned int stampa_cognomi(void)
{
FILE* fsc;
char str [255];
if((fsc=fopen("cognomi.txt","r"))==NULL)
{
printf("errore");
}
while((fgets(str,255,fsc))!=NULL)
{
printf(str,255,"/n");//visualizzazione nome
}
fclose(fsc);
return 0;
}
using namespace std;
int main()
{ int a;//variabile per funzione sequence
int b;//variabile per funzione righe
char c[255];
b=righe();
for(int i=0;i<b;i++)
{
a=sequence();
cout<<a<<endl;
}
c[0]=stampa_cognomi();
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}