تابع اولی رو که چک کردم مشکلی نداشت مشکل توی این قسمت هست:
for (i=0; fscanf(fp1,"%lf",&nytimer)!=EOF; i++)
{
fscanf(fp1,"%lf",&nytimer[i]);
}
قسمت شرط حلقه for اشتباه هست.
برنامتو یه کم تغییر دادم. مقدار menu رو 1 وارد کن تا خروجی تابع اول رو ببینی
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
//*******************ny til gammel******************///
void nytilgammel(double *nytimer, int *gtime, int *gmin, int *gsek,int n)
{
int i;
for (i=0; i<n; i++)
{
nytimer[i] *= (24./20.);
gtime[i] = (int) nytimer[i];
nytimer[i] -= gtime[i];
nytimer[i] *= 60;
gmin[i] = (int) nytimer[i];
nytimer[i] -= gmin[i];
nytimer[i] *= 60;
gsek[i] = (int) nytimer[i];
}
}
//*********************end**************************//
//*******************gammel til ny*********************//
void gammeltilny (int *time, int *min, int *sek,double *nytid, int n)
{
int i;
for (i=0; i<n; i++)
{
nytid[i] = ((((sek[i]/60.)+ min[i])/60.)+ time[i])*(20./24.);
}
}
//**********************end************************* **//
int main()
{
FILE *fp1, *fp2;
FILE *fp3, *fp4;
int gtime[80], gmin[80], gsek[80];
double nytimer[80];
int time[80], min[80], sek[80];
double nytid [80];
int menu;
double a, b,c;
double d,e,f;
int i;
printf("\n\t1. for ny til gammel");
printf("\t2. for gammel til ny\n");
printf("\t3.for Exit");
scanf("%d",&menu);
//***********************************************//
if (menu==1)
{
fp1 = fopen("inddata1.txt","r");
fp2 = fopen("uddata.txt", "w");
for (i=0; i<10; i++)
{
fscanf(fp1,"%lf",&nytimer[i]);
}
nytilgammel( nytimer, gtime, gmin, gsek,i);
for (int j=0; j<10; j++)
fprintf(fp2,"Gammel timer: %02d %02d %02d\n\n\n\n",gtime[j],gmin[j],gsek[j]);
}
//**************************************//
else if (menu==2)
{
fp3 = fopen("ind.txt","r");
fp4 = fopen("ud.txt", "w");
for (i=0; fscanf(fp1,"%d%d%d",&time,&min,&sek)!=EOF; i++)
{
fscanf(fp3,"%d%d%d",&time[i],&min[i],&sek[i]);
}
gammeltilny (time,min,sek,nytid,i);
fprintf(fp4,"Ny tid: %0.04lf\n\n\n",nytid[i]);
}
else if (menu==3)
{
exit(0);
}
else
{
printf("Error");
}
getch();
}