codice:
void newRecord(SOCKET m_socket,clientData &client)
{
fp=fopen("database.txt","r");
while(fscanf(fp,"%d %s %s %s",&postoauto.i, &postoauto.cognome, &postoauto.nome, &postoauto.targa)!=EOF ){
printf("%s %s %s","targa trovata", postoauto.targa , "cliente gia presente in parcheggio");}
if(!strcmp(client.automobile, postoauto.targa)) {
fp=fopen("database.txt","a+");
fseek(fp,0, SEEK_END);
int tmp=ftell(fp);
if((tmp/52)<30){
fwrite((char*)&client,sizeof(struct clientData),1,fp );
cout<<"Il record # "<< (tmp/52) << "è stato inserito " << endl;
cout<< client.firstName <<endl;
cout<< client.lastName<<endl;
cout<< client.automobile<<endl;
int x;
x=send(m_socket,(char*)&tmp, 8 , 0);
fclose(fp);
} else printf("non ci sono posti disponibili");
} else {
printf("%s %s %s %s %s ","Cliente", client.firstName, client.lastName, client.automobile, " gia presente in parcheggio");
printf("il cliente sta uscendo dal parcheggio? Y/N");
char ch;
cin>>ch;
if(ch=='y'){
delete(client);
printf("il cliente è uscito");
};
}
fclose(fp);
}
non passi postoauto
poi, attento che la scanf("%s" restituisce la stringa finche non trova uno spazio, un tab o un \n,