Hey all, Can someone help me with writing to a file? No matter how much I try to understand and get it to work i just can't do it... My program gets the clients details when the 'add client' option is chosen and puts them in the structure. That all seems to work, but how do I write that to a file, and how do I allow the user to input a long list of clients?
Any help would be really appreciated, heres the code I wrote so far:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef struct
{
char first_name[15];
char second_name[25];
char pharmacy_address[25];
char pharmacy_postcode[9];
char pharmacy_tel[13];
char dealing_with[15]; /* person within company dealing with client */
char bank[30];
char solicitors[30];
char accountants[30];
char notes[50];
} CLIENT;
int f_menu ();
void f_create ();
CLIENT f_add();
void f_edit ();
void f_search ();
void f_displayall ();
char* f_validate_string_length ( int max_length );
void main()
{
int menu = 0;
CLIENT customer;
menu = f_menu ();
do
{
switch (menu)
{
case 1 :
f_add ();
break;
case 2 :
f_edit ();
break;
case 3 :
f_search ();
break;
case 4 :
f_displayall ();
break;
case 5 :
printf("Exiting Program\n\n");
break;
}
} while (menu != 5);
}
int f_menu ()
{
int menu = 0;
printf("\n\n Medical Finance Ltd\n\n");
printf(" 1. Add Client\n 2. Edit Client\n 3. Search Client\n 4.Display All Clients\n 5.Exit\n ");
printf("\nEnter choice: ");
do
{
scanf("%d", &menu);
fflush(stdin);
if((menu < 1 ) || (menu > menu))
{
printf("Invalid choice. Try again: ");
}
} while ((menu < 1 ) || (menu > menu));
return (menu);
}
void f_create ()
{
}
char* f_validate_string_length ( int max_length )
{
char input[200];
do
{
gets(input);
if ( strlen(input) > max_length)
{
printf("invalid input (too many characters). Please re-enter: ");
}
} while( strlen(input) > max_length);
return(input);
}
CLIENT f_add ()
{
CLIENT customer;
printf("Enter client first name : ");
strcpy(customer.first_name,f_validate_string_length ( 14 ));
printf("Enter second name : ");
strcpy(customer.second_name,f_validate_string_length ( 24 ));
printf("Enter pharmacy address : ");
strcpy(customer.pharmacy_address,f_validate_string_length ( 24 ));
printf("Enter pharmacy postcode : ");
strcpy(customer.pharmacy_postcode,f_validate_string_length ( 8 ));
printf("Enter pharmacy telephone number : ");
strcpy(customer.pharmacy_tel,f_validate_string_length ( 12 ));
printf("Enter name of person dealing with : ");
strcpy(customer.dealing_with,f_validate_string_length ( 14 ));
printf("Enter name of clients bank : ");
strcpy(customer.bank,f_validate_string_length ( 29 ));
printf("Enter clients solicitors : ");
strcpy(customer.solicitors,f_validate_string_length ( 29 ));
printf("Enter clients accountants : ");
strcpy(customer.accountants,f_validate_string_length ( 29 ));
printf("Enter any notes reletive to client : ");
strcpy(customer.notes,f_validate_string_length ( 49 ));
return (customer);
}
void f_edit ()
{
}
void f_search ()
{
}
void f_displayall ()
{
}