I wrote this code but it does'nt write to the file all the things the user inputs. The user inputs 2 different dates and the name of the car and for how much it was purchased for but none of that show up in the file. What could be the problem with it?
Code:
#include <stdio.h>
#define s 20
#define sof 10
typedef struct {
int day;
int month;
int year;
} Date;
typedef struct {
float cost;
} Price;
typedef struct {
char make[s];
Date purchaseDate;
Date manufactureDate;
Price purchasePrice;
} Car;
int displaycar (Car car[]);
int main()
{
Car car[sof];
int i,j;
FILE *outp;
for(i=0; i<sof; i++)
{
printf("Please Enter the name of the car: ");
scanf("%s",&car[i].make);
printf(" Please enter the day of purchase: ");
scanf("%d", &car[i].purchaseDate.day);
printf(" Please enter the month of purchase: ");
scanf("%d", &car[i].purchaseDate.month);
printf(" Please enter the year of purchase: ");
scanf("%d", &car[i].purchaseDate.year);
printf(" Please enter the day of manufacture: ");
scanf("%d", &car[i].manufactureDate.day);
printf(" Please enter the month of manufacture: ");
scanf("%d", &car[i].manufactureDate.month);
printf(" Please enter the year of manufacture: ");
scanf("%d", &car[i].manufactureDate.year);
printf(" Please enter the price the car was bought for: ");
scanf("%f", &car[i].purchasePrice.cost);
}
outp =fopen("c:\\Car.txt", "w");
for(j=0; j<=sof; j++)
{
fprintf(outp,"%c\n", car[j]);
}
displaycar(car);
return 0;
}
int displaycar (Car car[])
{
printf(" The name of the car is %s \n", car->make);
printf(" The car was purchased on the %d of the %d of the year %d\n", (car->purchaseDate).day, (car->purchaseDate).month, (car->purchaseDate).year);
printf(" The car was manufactured on the %d of the %d month of the year %d \n",(car->manufactureDate).day, (car->manufactureDate).month, (car->manufactureDate).year);
printf(" The car was bought for %lf \n",(car->purchasePrice).cost);
return 0;
}