#include
void GetltemName(char *item, FILE *file); int GetltemPrice(FILE *file); void AcceptMoney(int price); //symbolic constant definitions
#define CAPACITY 10 //max number itemavailable to vend
int main(void) {
char name[CAPACITY][20]={0}; int price[CAPACITY]={0}; FILE *stockfile; int i,Nitems,choice; int listend;
stockfile=fopen(\ if(stockfile==NULL) {
printf(\ } else {
//read stock from file listend=0; Nitems=0; do {
price[Nitems]=GetltemPrice(stockfile); GetltemName(name[Nitems],stockfile); if(price[Nitems]>0) {
Nitems++; } else {
listend=1; } }
while(Nitems printf(\ for(i=0;i printf(\ } //request selection printf(\ do { printf(\ scanf(\ } while(choice<0||choice>Nitems-1); printf(\ AcceptMoney(price[choice]); printf(\ } fclose(stockfile); return 0; } void GetltemName(char *item,FILE *file) { int len; if(feof(file)) { item[0]='\\0'; } else { fgets(item,20,file); len=strlen(item); if(item[len-1]=='\\n') { item[len-1]='\\0'; } } } void AcceptMoney(int price) { int money=0,coin,left; printf(\ do { left=price; printf(\ do { printf(\ scanf(\ } while(coin!=1&&coin!=2&&coin!=5&&coin!=10); money=money+coin; left=price-money; } while(left>0); printf(\} int GetltemPrice(FILE *file) { int j; if(feof(file)) { j='\\0'; } else { fscanf(file,\ } return j; } COMMODITY FILE : pricelist.txt 40Mars Bar 40Toffee Crisp 30Kit Kat 25Toblerone 40bounty 50Topic 0