1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
// declaration des librairies
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// Définie les pointeurs de fichier
FILE *fichier_demandeur;
FILE *fichier_historique;
// definie les numeros des entres de commande
# define NUM_FICHIER_DEMANDEUR 1
# define NUM_FICHIER_HISTORIQUE 2
# define LONGUEUR_LIGNE 255
typedef struct demandeur
{
char identifiant [50];
char prenom [50];
char nom [50];
char date_de_naissance [50];
char adresse [50];
char ville [50];
char chomeur;
} demandeur;
// sous programme permettant de visusalliser les données données d'un utilisateur
int view()
{
// declaration des variables
char rechercher_nom;
printf("Tapez quelques lettres pour rechercher un demandeur\n");
scanf("%s",recherche_nom);
//mon probleme se trouve a se niveau je n'ai aucune idée pour afficher seulement les identifiants
// ki commance par rercher_nom et je ne sais meme pas si cette commande d'affichage est valable
printf(demandeur.identifiant,demandeur.nom,demandeur.prenom)
}
//prog principale
int main( int argc, char *argv[])
{
// declaration des variables
int erreur_commande=0;
char choix;
char *tmp;
char ligne[LONGUEUR_LIGNE];
// Debut des verification
// Verification du bon nombre de mot en entree
if ( argc < NUM_FICHIER_HISTORIQUE )
{
erreur_commande++;
}
if ( argc > NUM_FICHIER_HISTORIQUE +1 )
{
erreur_commande++;
}
// Ouverture des fichiers ssi pas d'erreur de commande
if ( !erreur_commande )
{
// Ouverture du fichier demandeur
fichier_demandeur = fopen ( argv[NUM_FICHIER_DEMANDEUR], "r");
if( fichier_demandeur == NULL )
{
erreur_commande++;
}
else
{
// stockage des données dans la structure
while (fgets(ligne,sizeof ligne, fichier_demandeur)
// copie de lidentifiant du fichier source dans demandeur.idenfiant
tmp = strtok(ligne,';');
strcpy(demandeur.identifiant,donne);
//copie du nom dans demandeur.nom
tmp = strtok(NULL,';');
strcpy(demandeur.nom,donne);
//copie du prenom dans demandeur.prenom
tmp = strtok(NULL,';');
strcpy(demandeur.prenom,donne);
//copie de la date de naissance dans demandeur.date_de_naissance
tmp = strtok(NULL,';');
strcpy(demandeur.date_de_naissance,donne);
//copie de l'addresse dans demandeur.adresse
tmp = strtok(NULL,';');
strcpy(demandeur.adresse,donne);
//copie de la ville dans demandeur.ville
tmp = strtok(NULL,';');
strcpy(demandeur.ville,donne);
//copie de du statut dans demandeur.chomeur
tmp = strtok(NULL,';');
strcpy(demandeur.chomeur,donne);
//Ouverture du fichier historique
fichier_historique = fopen ( argv[NUM_FICHIER_HISTORIQUE], "r")
if( fichier_historique == NULL )
{
erreur_commande++;
}
printf("VIEW : v ou V --> Consulter les informations\n");
printf("UPDATE : u ou U --> Mettre ` jour les informations d'un demandeur\n");
printf("DELETE : d ou D --> Supprimer un demandeur\n");
printf("ADD : a ou A --> Ajouter un demandeur\n");
printf("SHOW : s ou S --> Montrer la reprisentation de l'arbre binaire\n");
printf("Commande:");
choix=getchar();
choix=tolower(choix);
switch(choix)
{
case 'v' :
case 'V' :
// je ne sais pas quoi echange comme variable avec mon sous programme
view();
break;
case 'u' :
case 'U' :
printf("cool-2\n");
break;
case 'd' :
case 'D' :
printf("cool-3\n");
break;
case 'a' :
case 'A' :
printf("cool-4\n");
break;
case 's' :
case 'S' :
printf("cool-5\n");
break;
default :
printf("ERREUR Commande invalide\n");
break;
}
}
}
} |
Partager