Why will this code not print the %f values?
Code:
#include<stdio.h>
#include<conio.h>
struct database{
char prod[30];
float amount[5];
float cal[5];
float prot[5];
float carb[5];
float fat[5];
};
struct database main_m[200];
struct database side[200];
struct database sweet[200];
int i;
int main()
{
for (i = 0; i < 4; i++)
{
printf("\nEnter product name for main %d:", i);
scanf("%s", main_m[i].prod);
printf("\nEnter amount of product in grams for %d:", i);
scanf("%f", main_m[i].amount);
printf("Enter calorie amount for %d:", i);
scanf("%f", main_m[i].cal);
printf("Enter protien value in grams for %d", i);
scanf("%f", main_m[i].prot);
printf("Enter Carbohydrate value in grams for %d:", i);
scanf("%f", main_m[i].carb);
printf("Enter fat content in grams for %d:", i);
scanf("%f", main_m[i].fat);
}
FILE *fp = fopen("output.dat", "wb");
fwrite(main_m, 1, sizeof(struct database) * 200, fp);
FILE *fpp = fopen("output.dat", "rb");
fread (main_m, 1, sizeof(struct database) * 200, fpp);
for (i = 1; i < 5; i++) {
printf("%s\n", main_m[i].prod);
printf("%f\n", main_m[i].amount);
printf("%f\n", main_m[i].cal);
printf("%f\n", main_m[i].prot);
printf("%f\n", main_m[i].carb);
printf("%f\n", main_m[i].fat);
getch();
}
}