Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1765 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Gestion d'un fichier de réservation.

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion d'un fichier de réservation.

n°2043232
_ToM_343
Posté le 20-12-2010 à 10:33:12  profilanswer
 

Salut all,

 

Étant débutant en C, j'ai un projet à mettre en place et je rencontre un petit problème concernant un programme. En fait, ce n'est pas un problème purement technique mais plus un problème de "savoir faire". Explications :

 

Je dois écrire un programme pour gérer des réservations qui se décomposent à peu près comme ceci :

 

- Date.
- Heure.
- Nom client.
- Titre du film ou spectacle.

 

Donc, à chaque ajout, suppression ou modification de réservation, le programme va écrire dans un fichier et le modifie selon les désirs de l'utilisateur. Concernant l'ajout, pas de souci. En revanche, pour la suppression, je me demande comment cela va bien pouvoir se passer. En effet, j'aimerais bien qu'en choisissant l'heure et la date, on puisse supprimer la réservation entière correspondante. Ma question est donc de savoir comment m'y prendre ? Je ne vois pas trop s'il on peut utiliser des variables ou bien s'il faut passer chaque réservation dans une structure afin de pouvoir la supprimer plus facilement.

 

Pour la modification, la problématique de départ est la même, donc je suis également bloqué là-dessus.

 

Si vous voyez un truc aberrant ou si vous ne comprenez pas quelque chose dans ce que je viens d'écrire, n'hésitez pas à me le signaler.

 

Merci d'avance.

Message cité 1 fois
Message édité par _ToM_343 le 20-12-2010 à 10:51:29
mood
Publicité
Posté le 20-12-2010 à 10:33:12  profilanswer
 

n°2043238
h3bus
Troll Inside
Posté le 20-12-2010 à 10:43:09  profilanswer
 

Tu a pensé à une base de donnée?
 
Parce que là avec un fichier tu vas t'emm*** alors qu'il existe un tas de bases de données gratuites et simples qui te feraient ça sans broncher.


---------------
sheep++
n°2043245
_ToM_343
Posté le 20-12-2010 à 10:59:17  profilanswer
 

C'est une bonne idée mais malheureusement le sujet nous impose de travailler sur un fichier...

n°2043253
h3bus
Troll Inside
Posté le 20-12-2010 à 11:23:28  profilanswer
 

Bon du coup la solution la moins prise de tête (mais qui pêche un peu au niveau performance/utilisation mémoire) c'est de charger tout ton fichier dans un tableau/liste de structure, de travailler en RAM et de tout sauvegarder quand tu as fini.
 
C'est pas très compliqué à faire mais comme tu es débutant tu vas forcément galérer un petit peu.
 
Je te conseilles de te renseigner sur:
- Les structures en C
- Les listes chainées
- La sérialisation de données vers un fichier


---------------
sheep++
n°2043257
_ToM_343
Posté le 20-12-2010 à 11:46:04  profilanswer
 

Merci. Je vais explorer cette piste.
 
Si certains ont d'autres suggestion, qu'ils n'hésitent pas.
 
Je reviendrai sûrement appeler à l'aide :).

n°2043259
breizhbugs
Posté le 20-12-2010 à 11:56:02  profilanswer
 

Bonjour,
Ce genre de TP est fait pour étudier les problèmes de concurrence non (plusieurs réservation simultanée ne doivent pas réservées les mêmes sièges) ?
 

_ToM_343 a écrit :


 En effet, j'aimerais bien qu'en choisissant l'heure et la date, on puisse supprimer la réservation entière correspondante.


Euh là, c'est pour supprimer une séance toute entière?
 
Sinon c'est quoi ta structure de donnée?  
- nom de fichier = titre du spectacle, entete fichier = heure de la séance + nombre de siege total/réservé, corps du fichiers, enregistrement des sieges avec nom du client (ou pas) ?
ou
- nom du fichier = nom de salle, entete fichier = liste entete spectacle + nombre de siege de la salle, corps du fichier = liste des spectacle contenenant date / heure  + un tableau des sieges réservés/libres
ou
autres...


---------------
Seul Google le sait...
n°2043269
_ToM_343
Posté le 20-12-2010 à 13:20:40  profilanswer
 

Pour le moment je ne suis pas dans l'optique de gérer la concurrence.
 
Concernant le fichier, j'étais dans l'optique d'un seul fichier pour gérer toutes les réservations. Avec comme contenu pour chaque réservation :
 
- Nom spectacle.
- N° réservation.
- Date réservation.
- Nom.
- Place.
- Prix.

n°2043295
breizhbugs
Posté le 20-12-2010 à 15:03:36  profilanswer
 

_ToM_343 a écrit :

Pour le moment je ne suis pas dans l'optique de gérer la concurrence.
 
Concernant le fichier, j'étais dans l'optique d'un seul fichier pour gérer toutes les réservations. Avec comme contenu pour chaque réservation :
 
- Nom spectacle.
- N° réservation.
- Date réservation.
- Nom.
- Place.
- Prix.


 
Mouais,
Ce n'est pas suffisant car il te faut aussi savoir pour chaque salle de spectacle son nombre de siège; Ensuite pour savoir si une place est libre il te faut parcourir toutes les réservations...
M'est avis que tu ne peux pas tout faire avec un seul type d'enregistrement...
Moi, je verrais bien un tableau de la taille en siège de la salle et contenant (ou pas) un enregistrement du client {nom, prénom}
 
 
salle{numero: identifiant; nom :texte ; nombre de place  }
séance {salle : identifiant; date de la seance;   nom de la seance;  prix;  reservation [salle.NOMBREDEPLACE] };
 
 
Question aussi: ton fichier doit il être au format texte (donc tu écris des chaines de caractères, chiant a faire mais facile a controler manuellement) ou au format binaires (tu peux balancer tout un tableau de structures? chiant a contrôler mais facile a faire)


---------------
Seul Google le sait...
n°2043297
Un Program​meur
Posté le 20-12-2010 à 15:08:44  profilanswer
 

breizhbugs a écrit :

Ce n'est pas suffisant...


 
Il fait un exercice d'école, pas un programme a mettre en exploitation.  
 
Ce qui veut dire que la bonne solution dépend de ce qui a été vu au cours.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°2043309
_ToM_343
Posté le 20-12-2010 à 16:22:32  profilanswer
 

breizhbugs a écrit :


Mouais,
Ce n'est pas suffisant car il te faut aussi savoir pour chaque salle de spectacle son nombre de siège; Ensuite pour savoir si une place est libre il te faut parcourir toutes les réservations...
M'est avis que tu ne peux pas tout faire avec un seul type d'enregistrement...
Moi, je verrais bien un tableau de la taille en siège de la salle et contenant (ou pas) un enregistrement du client {nom, prénom}
 
 
salle{numero: identifiant; nom :texte ; nombre de place  }
séance {salle : identifiant; date de la seance;   nom de la seance;  prix;  reservation [salle.NOMBREDEPLACE] };
 
 
Question aussi: ton fichier doit il être au format texte (donc tu écris des chaines de caractères, chiant a faire mais facile a controler manuellement) ou au format binaires (tu peux balancer tout un tableau de structures? chiant a contrôler mais facile a faire)


Je n'ai pas le choix sur les critères de la réservation. Concernant le fichier, ça doit être du format texte.
 
La solution que je trouvais la plus plausible était donc, à chaque lancement du programme, de placer l'intégralité du fichier dans un tableau et ensuite de supprimer ou modifier certains champs dans ce même tableau pour enfin réécrire le tout dans le fichier à la fermeture du programme. Reste à savoir l'appliquer techniquement !
 

Un Programmeur a écrit :


Il fait un exercice d'école, pas un programme a mettre en exploitation.  
 
Ce qui veut dire que la bonne solution dépend de ce qui a été vu au cours.


En effet je suis un peu bloqué par les conditions de l'exercice !
 
Merci :jap:.

mood
Publicité
Posté le 20-12-2010 à 16:22:32  profilanswer
 

n°2043315
breizhbugs
Posté le 20-12-2010 à 16:41:29  profilanswer
 

Citation :

En effet je suis un peu bloqué par les conditions de l'exercice !
 
Merci :jap:.


C'est pas parce que le format du fichier est limité que le format en mémoire doit l'être aussi, après ca dépends de tes fonctions de sauvegarde/chargement des données...
 
Après faut voir l'intitulé exact de ton exercice...


Message édité par breizhbugs le 20-12-2010 à 16:42:12

---------------
Seul Google le sait...
n°2043348
_ToM_343
Posté le 20-12-2010 à 19:46:14  profilanswer
 

Je vais creuser tout ça et je reviendrai ici pour plus d'infos :).

n°2044072
_ToM_343
Posté le 23-12-2010 à 15:29:10  profilanswer
 

Hello !
 
Juste pour dire que je m'en sors à peu près en effectuant une lecture ligne par ligne du fichier, ce qui me permet de récupérer les infos que je désire sur les différentes réservations (finalement, le fichier texte contenant les réservations peut se gérer comme on le souhaite).  
 
Merci à vous ;).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Gestion d'un fichier de réservation.

 

Sujets relatifs
[BAT]Copier un fichier d'un bureau vers les autres profilsBatch Supprimer le caractère = contenu dans un fichier
Mise en place d'un test sur le nom d'un fichierUrgent : Récupérer fichier .db de base SQL Anywhere 5
uControleur PIC export fichier texteCreer fichier avec le nom d'une variable
Integrer un fichier dans une base oracleproblème de test de collisions et gestion des scores
modifier un fichier elf[ résolu ] [GtkAda] Selectionner un fichier avec Gtk_File_Selection
Plus de sujets relatifs à : Gestion d'un fichier de réservation.


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR