ctime.htime-t

In C language I got a error in <time.h> library about time_t


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>

struct aracbilgiturleri {
    char Plaka[50]; //licanse plate
    char Model[50]; //model
    int UretimYili; //year of production
    char TankDurumu[50]; //yes or no (not importing)
    char Renk[50]; // car's color
    struct tm GirisSaati = {0}; // idont know how its work (girissaati means entry time)
}Arac[20];// (arac==car)

void AracEkle(int GirenSayisi);
void Araclarilistele(int GirenSayisi);

int main () {
    time_t su_an; // su_an== now
    time(&su_an);

    int GirenSayisi;
    printf("Giren Arac Sayisini Giriniz ==>"); //for how many cars enter 
    scanf("%d",&GirenSayisi);
    AracEkle(GirenSayisi);

    Araclarilistele(GirenSayisi);
}

void AracEkle(int GirenSayisi) {
    for (int i = 0; i < GirenSayisi; i++)
    {
        printf(" %d. Aracin Plakasini Giriniz => ",i+1); //enter licanse plate
        scanf("%s",Arac[i].Plaka);

        printf(" %d. Aracin Modelini Giriniz => ",i+1);  //enter model  
        scanf("%s",Arac[i].Model);

        printf(" %d. Aracin Uretim Yilini Giriniz => ",i+1);    // enter year of pro..
        scanf("%d",&Arac[i].UretimYili);

        printf(" %d. Aracin Tank Durumunu (Var/Yok) Giriniz => ",i+1);    //yes o no
        scanf("%s",Arac[i].TankDurumu);

        printf(" %d. Aracin Rengini Giriniz => ",i+1);     //color
        scanf("%s",Arac[i].Renk);

        printf(" %d. Aracin Giris Yilini Giriniz => ",i+1); // entry year
        scanf("%d",&Arac[i].GirisSaati.tm_year-1900);

        printf(" %d. Aracin Giris Ayini Giriniz => ",i+1); // entry month
        scanf("%d",&Arac[i].GirisSaati.tm_mon-1);

        printf(" %d. Aracin Giris Gununu Giriniz => ",i+1); // entry day
        scanf("%d",&Arac[i].GirisSaati.tm_mday);

        printf(" %d. Aracin Giris Saatini Giriniz => ",i+1); // entry hour
        scanf("%d",&Arac[i].GirisSaati.tm_hour);

        printf(" %d. Aracin Giris Dakikasini Giriniz => ",i+1); // entry min
        scanf("%d",&Arac[i].GirisSaati.tm_min);

        printf(" %d. Aracin Giris Saniyesini Giriniz => ",i+1); // entry second
        scanf("%d",&Arac[i].GirisSaati.tm_sec);

        time_t Arac[i].GirisSaati_t = mktime(&Arac[i].GirisSaati); //İN HERE I GOT ERROR
    }
}

//lists cars
void Araclarilistele (int GirenSayisi) {
    printf("****************************** ARACLAR ******************************\n"); //means cars
    for ( int i = 0; i < GirenSayisi; i++)
    {
        printf("%d. Aracin Plakasi => %s \n",i+1,Arac[i].Plaka);
        printf("%d. Aracin Modeli => %s \n",i+1,Arac[i].Model);
        printf("%d. Aracin Uretim Yili => %d \n",i+1,Arac[i].UretimYili);
        printf("%d. Aracin Tank Durumu => %s \n",i+1,Arac[i].TankDurumu);
        printf("%d. Aracin Rengi => %s \n",i+1,Arac[i].Renk);
        printf(" %d. Aracin Giris Yili %f \n ",i+1,Arac[i].GirisSaati.tm_year);
        printf(" %d. Aracin Giris Ayin %f \n ",i+1,Arac[i].GirisSaati.tm_mon);
        printf(" %d. Aracin Giris Gunu %f \n ",i+1,Arac[i].GirisSaati.tm_mday);
        printf(" %d. Aracin Giris Saati %f \n ",i+1,Arac[i].GirisSaati.tm_hour);
        printf(" %d. Aracin Giris Dakikasi %f \n ",i+1,Arac[i].GirisSaati.tm_min);
        printf(" %d. Aracin Giris Saniyesi %f \n ",i+1,Arac[i].GirisSaati.tm_sec);
        printf("\n");
    }
}
time_t Arac[i]*.*GirisSaati_t = mktime(&Arac[i].GirisSaati);

It didn't work. vscode's gives me a error in here . What should I do?

I try too many things but everything didn't work

In short, I want carpark system

System gets car's (plate,model,color,year of production ....) and its lists for me and calculates how much time is in car park.


Solution

  • This line makes no sense:

    time_t Arac[i].GirisSaati_t = mktime(&Arac[i].GirisSaati); 
    

    It looks like you're trying to create a variable of type time_t as an extra member of a particular instance of a struct. That's not how the language works.

    What you want is to create this member when the struct is defined:

    struct aracbilgiturleri {
        char Plaka[50]; //licanse plate
        char Model[50]; //model
        int UretimYili; //year of production
        char TankDurumu[50]; //yes or no (not importing)
        char Renk[50]; // car's color
        struct tm GirisSaati;
        time_t GirisSaati_t;
    }Arac[20];
    

    And then set that member:

    Arac[i].GirisSaati_t = mktime(&Arac[i].GirisSaati);