ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de don
JesusQuintana
Messages postés5Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention19 juin 2005
-
1 juin 2005 à 22:41
sfkuhvdlkufgs
Messages postés31Date d'inscriptionjeudi 16 décembre 2004StatutMembreDernière intervention 4 mai 2007
-
2 juin 2005 à 17:46
Salut à tous.
J'aimerais réaliser un programme utilisé par le standardiste pour
saisir les commandes, et fournir les bons aux pizzaiolos......mais en
utilisant ni Access, ni MySQL......mais des algo ou Pascal...c'est le
principal inconvénient.
1) Les clients (noms, numéros et
adresse) et les pizzas (noms, prix, taille) constituent des informations que
lon souhaitenconserver dans deux fichiers.
Préciser les types T_client,
T_pizza , ainsi que ceux des fichiers.
types :
T_client = enregistrement
nom : chaîne de caractères
numtel : chaîne de carateres
adresse : chaîne de caracteres
T_pizza =
enregistrement
type : chaîne de caractères
taille : entier
Fichiers :
F_client =
fichier de T_client
F_pizza =
fichier de T_pizza
ps : Pour la taille pour simplifier ça sera soit 2 ou 4 personnes.
2) Les procédures charges_clients et charge_pizzas lisent les informations concernant les pizzas et les clients dans les fichiers
et les mémorisent dans des structures et les mémorisent dans des structures de
données dynamiques.
Quelles structures je dois choisir
(elles peuvent être différentes) ?
Pour le problème de la taille fixe, je
peux probablement fixer une longueur maximale pour les champs et remplir avec
du vide (des caractères espace en général). Je perds de la place en mémoire,
mais c'est plus rapide pour chercher. Si je ne souhaites pas stocker les champs
avec des longueurs fixes, il est possible de séparer les différents champs par
des caractères prédéfinis (mais ça oblige à tout lire) ou de commencer par la
taille du champ à venir. Si je me retrouves avec beaucoup de clients à stocker
(le beaucoup est difficile à définir, mais c'est en gros quand la recherche
commence à prendre trop de temps), il devient peut-être préférable d'utiliser
différents fichiers (en triant par exemple suivant le nom ; on peut se baser
sur des fonctions de hachage), indexes ou une méthode un peu plus recherchée
que le stockage séquentiel. ???
3) je dois écrire la procédure cherche_client qui détermine si un client est déjà connu. Si cest
le cas la procédure fournit son adresse.
5) je dois spécifier la structure de données
qui mémorise une commande.
Tableau à une seule dimension (données
fixes)?????
6) je dois spécifier la structure de données
qui mémorise les commandes.
Listes chaînées (données dynamiques)?????
7) La saisie dune commande seffectue
à laide dune procédure nommée saisie_commande.
Elle permet de saisir toutes les
informations qui seront écrites sur le bon, et elle détermine le temps
dattente.
Ce temps est calculé de la manière
suivante : 15 mn + nb*5 mn, nb étant le nombre de commandes en attente et
qui ne sont pas encore entre les mains dun pizzaïolo.
La je coince....
8) La procédure prochaine_commande
affiche sur lécran du standardiste la prochaine commande quil doit
fournir au 1er pizzaïolo qui sera libre.
Procédure prochaine_commande
((d) v : vecteur, (d) i :
entier) : entier
spécification {lsuivant :
indice du debut de la 1ere commande soit lindice i dans v...
début
tant que v[i] <> *
faire i := i+1 ;
commnde suivante := i+1 ;
pas terrible...
9) je dois écrire la procédure sauve_client qui mémorise lensemble des
clients dans un fichier.
Je ne vois pas comment faire...
Voila ça serait sympa si quelqu'un pouvait m'aider en me donnant des pistes ou/et en améliorant ca que j'ai fait.
Merci.J'attends vos réponses avec imppatience.
A voir également:
ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de don
sfkuhvdlkufgs
Messages postés31Date d'inscriptionjeudi 16 décembre 2004StatutMembreDernière intervention 4 mai 2007 2 juin 2005 à 17:46
pourquoi tu fais pas une structure enregistrement commande, qui a :
client : T_client (ou un identifiant du client)
pizza : liste chainée de pizza (en pascal je sais pas comment on fait) c'est au cas ou un client commande plusieurs pizza.
plus a la limite un num de commande
et ensuite tu fais une liste chainée commandes de commande et temps d'attente .
comme ca a chaque fois qu'une commande est livrée tu la supprime, une nouvelle commande s'ajoute facilement. et tu peut trouver la commande suivante (c'est la première après avoir effacer celle qui vient d'etre livrée ).
pour les temps d'attente il suffit de compter le nombre d'elements de la chaine ou mieux, de regarder le dernier temps de la chaine et d'ajouter ce qu'il faut (a mettre a jour a chaque commande effectué)
Le pb c'est que si ton programme pour une raison x ou y s'arrete les comandes sont perdues.