Skip to content
Snippets Groups Projects
Commit 0816b1ac authored by Léo POUMAER's avatar Léo POUMAER
Browse files

maj

parent 76f776a2
No related branches found
No related tags found
No related merge requests found
fly.c 0 → 100644
#include <stdio.h>
struct airline
{
char IATA_CODE_AIRLINE[2];
char AIRLINE[30];
};
struct airport
{
char IATA_CODE_AIRPORT[3];
char NAME[80];
char CITY[30];
char STATE[3];
char COUNTRY[3];
float LATITUDE;
float LONGITUDE;
};
struct flight
{
int MONTH;
int DAY;
int WEEKDAY;
char AIRLINE[2];
char ORGAIR[3];
char DEST_AIR[3];
int SCHDED_DEP;
int DEP_DELAY;
float AIR_TIME;
int DIST;
int SCHED_ARR;
float ARR_DELAY;
int DIVERTED;
int CANCELLED;
};
int q=1;
FILE *fo1;
FILE *fo2;
FILE *fo3;
fo1=fopen("airports.csv","rt");
fo2=fopen("flights.csv","rt");
fo3=fopen("airlines.csv","rt");
if( (fo1 == NULL) || (fo2 == NULL) || (fo3 == NULL) )
{
printf("Ouverture des fichiers impossible ! \n" );
exit(0);
}
struct chaine{
int cle;
struct cell *liste;
};
struct cell{
struct flight *info;
struct cell *suiv;
};
/*
int ajout_tete(struct liste_chaine** l, struct flight *info){
struct liste_chaine* newcell;
newcell=malloc(sizeof(struct liste_chaine));
newcell->info=info;
newcell->suiv=(*l);
(*l)=newcell;
}
*/
int construc_chaine(FILE *fp){
struct cell *new;
while (fscanf(fp,"%s")!=EOF){
if (fscanf(fp,"%s")=="\n")
}
}
/*
Ici on va creer une nouvelle liste chainée avec un ajout_tete qui prednra en paramettre l'aeroport
Pour faire la recherche on va se servir de la hastable de la compagnie en recherchant les aeroport dont elle est origine
En ajoutant dans la liste seulement si l'aeroport ni est pas deja
*/
int show_airports(struct flight *AIRLINE)
{
// on crée la nouvelle liste chainée vide
// Recup de la cle du paramettre
//On cherche dans la hastable les ce que l'on a besoin
// On renvoie cette info dans la liste chainée seulement si elle ni est pas encore
//on return ou on print la nvl liste chainée
}
int main(){
return 0;
}
void split_arg(char * fullstring, char **arg) //Cette fonction sépare tous les arguments séparés par un espace, valides ou non, de la requête et les stocke dans des chaînes de caractères.
{
int i=0,a=0;
char separators[]="\n";
char temp1[N]="",temp2[N]="";
arg[0]=strtok(fullstring,separators);
while ( arg[i] != NULL ) //Tant qu'il y a des arguments, c'est à dire tant qu'on ne rencontre pas un EOF.
{
i++;
//On stocke l'argument suivant.
arg[i] = strtok ( NULL, separators );
}
for (int k=i;k<14;k++) //On remplace les arguments vide par une chaîne de caractère "NULL" pour éviter les erreurs dans les manipulations de ces arguments par la suite.
{ //On ne va que jusque l'indice 13 car le nombre d'argument max que l'on puisse traiter est 14 donc on ne manipulera jamais les arguments suivants.
arg[k]="NULL"; //Le tableau arg[N] lui est plus grand que 14 pour acceuillir tous les arguments (même s'il y en a trop) de la requête.
}
strcpy(temp1,arg[i-1]);
while ((int)temp1[a] != 10)
{
temp2[a]=temp1[a]; //Pour le dernier argument de la requête on supprime le retour à la ligne pour éviter les erreurs dans les manipulations suivantes de cet argument.
a++;
}
strcpy(arg[i-1],temp2);
/*for (int j=0;j<14;j++)
{
printf("arg[%d] : %s \n",j,arg[j]); //Affichage possible.
}*/
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment