IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Gestion de patients


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 3
    Par défaut Gestion de patients
    Bonjour,

    Alors voila mon souci, j'espere que vous pourrez m'aider. Je dois faire un programme de gestion d'hopital, j'utilise un tableau de 26 entrées dont chaque entrée contient la tete et queue de la liste des patients, la premiere contient la tete et queue de la liste des patients dont le nom commence par a et ainsi de suite. la liste des patients est trié par ordre croissant suivant le nom/prénom, Nom est un pointeur vers une chaine de car, et chaque patient a une liste de médicament, possiblement vide.

    Je dois faire ca en lisant un fichier texte qui se présente comme suit:

    Jean michelle Penniclinie1 9 zenat 12 Mascot 25

    Pierre sylvain Med1 20 Med2 12

    julien tacbot med1 12 med2 13 med3 14 med4 18 med5 19 med6 21 med7 22 med8 23 med9 24 med10 25

    Madi Said Cormed 12

    j'ai fait un while ( fgets ( line, sizeof line, file ) != NULL ) pour lire chaque ligne, puis je bloque sur comment lire mot a mot la ligne et allouer correctement les différents champs.

    Avez vous des idées ?

    Merci

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 260
    Par défaut
    Regardes du coté de strtok, Attention cette fonction modifie son entrée.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Avec strtok() on pourra lire un à un chacun des "mots", et avec atoi() on pourra si c'est un nombre le convertir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    char* pc = strtok(strExtraite, " ");     // séparer 1er mot
    if ( pc != NULL ) {
        char* prenom = malloc(strlen(pc)+1);
        strcpy(prenom, pc);
        pc = strtok(NULL, " ");      // séparer 2nd mot
        if ( pc != NULL ) {
            char* nom = malloc(strlen(pc)+1);
            strcpy(nom, pc);
            //// on peut créer ici le Patient et le mettre dans la table
            pc = strtok(NULL , " ");      // 1er medicament
            while ( pc != NULL ) {
                char* medicament = malloc(strlen(pc)+1);
                strcpy(medicament, pc);
                pc = strtok(NULL , " ");
                if ( pc == NULL ) {
                    printf("pas de quantite pour le medicament '%s' du patient %s %s\n", medicament, prenom, nom);
                    free(medicament);
                }
                else {
                    int quantite = atoi( pc ); // convertir chaîne en entier
                    //// on peut ajouter le médicament au Patient ici
                    pc = strtok(NULL , " ");   // essayer de lire médoc suivant
                }
            }
        }
        else {
            printf("pas de nom pour le patient '%s'\n", prenom);
            free(prenom);
        }
    }
    Mais attention, ne fonctionnera pas si la ligne lue utilise autre chose qu'un unique espace pour séparer; Le caractère \n ne sera pas géré correctement, il n'y a pas de contrôle si les prenom/nom/medicament dépassent la taille des buffers temporaires.

Discussions similaires

  1. [MCD] Gestion des patients
    Par Seb2913 dans le forum Schéma
    Réponses: 2
    Dernier message: 01/09/2016, 14h37
  2. [MCD] Gestion des patients dans une clinique (Etudiant)
    Par dez_1980 dans le forum Schéma
    Réponses: 10
    Dernier message: 12/07/2010, 10h39
  3. [MCD] Gestion des patients (BTS)
    Par dez_1980 dans le forum Schéma
    Réponses: 0
    Dernier message: 16/06/2010, 03h33
  4. Logiciel de gestion de patients
    Par herlock dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 21/01/2008, 14h52
  5. [Stratégie] Gestion du veuillez patienter
    Par tnodev dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 29/10/2007, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo