begin process at 2012 05 29 11:39:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de données!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de données!!!

mercredi 1 juin 2005 à 22:41:50 | ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de données!!!

JesusQuintana

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 l’on 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) ?

=>Listes chaînées ou tableaux dynamique ???

(---------------------------------------------------------------------------------------------------------------)

sauve
pour tout client
    ecrit fichier nom
    ecrit fichier tel
fin pour tout

lit
pour tout client
    nom <- lit fichier taille nom
    tel <- lit fichier taille tel
fin pour tout

(--------------------------------------------------------------------------------------------------------------)

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 c’est le cas la procédure fournit son adresse.

(---------------------------------------------------------------------------------------------------------------)

procédure cherche_client (var fichier : F_client ;
nom : chaine de caracteres ;
adresse : chaine de caracteres ; )
variables :
trouvé : booléen ;
x,ad : T_client ;

début
ré initialiser le fichier reset (fic)
seek (fic , 0)
trouvé := faux

Tant que (fin_de_fichier (fic) faire
lire (fic , x)
si (x.nom = nom) alors
trouvé := vrai ;
affiche client (x) -->créer procédure affiche_client
affiche adresse (ad)

Si (trouvé = false) alors
écrire ('il n'existe pas')
fermer (fic);
fin

Paramètre : donnée (x)

procédure affiche_client

début
écrire (' Client : ' , x.nom, ' ' , x.adresse) ;
fin

(---------------------------------------------------------------------------------------------------------------)

4) La procédure ajout_client qui ajoute un client dans la structure dynamique qui contient des clients.

Ajoute_client (en fin de fichier) et affiche pourquoi pas sa position...
(---------------------------------------------------------------------------------------------------------------)
Parametres : (modification) fic , (donnée) Client
(var fic : F_client ;
client : T_client ) ;

début
ré initialiser (fic) seek (fic);
seek (fic, Filesize (fic));
écrire (fic , client) ;
écrire ( ‘Après ajout , pos = ‘) ;
écrire (FilePos (fic)) ;
fermer (fic) ;
fin
(---------------------------------------------------------------------------------------------------------------)

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 d’une commande s’effectue à l’aide d’une 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 d’attente.

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 d’un pizzaïolo.

La je coince....

8) La procédure prochaine_commande affiche sur l’écran du standardiste la prochaine commande qu’il doit fournir au 1er pizzaïolo qui sera libre.

Procédure prochaine_commande

((d) v : vecteur, (d) i : entier) : entier

spécification {l<i<libre}=>suivant : indice du debut de la 1ere commande soit l’indice 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 l’ensemble 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.

jeudi 2 juin 2005 à 17:46:38 | Re : ébauche pour logiciel de gestion de pizzas...mais sans utiliser les bases de données!!!

sfkuhvdlkufgs

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.



Cette discussion est classée dans : fichier, données, client, procédure, fic


Répondre à ce message

Sujets en rapport avec ce message

fseek [ par deck_bsd ] Bonjour a tous, Voila j'ai un gros problème. Je crée un programme de gestion d'appel téléphonique et dans celui si on doit pouvoir modifier les donné Comment stocker des données depuis un fichier dans un tableau [ par Jarod1980 ] Bonjour tout le monde,En fait, mon fichier se compose de 3 colonnes distinctes qui contiennent chacune des chiffres. Je voudrais savoir comment stocke DCC SEND NICK FICHIER ? [ par atifelkhachine ] Bonjour, je suis entrain de realiser un client irc (bot). Comment je p faire pour repondre à une command comme DCC SEND NICK FICHIER. normalement quan Appareillage de 2 fichiers [ par radada ] Waza!J'ai un gros soucis pour le taf, et c'est assez complexe, donc cela risque d'être long, mais si une âme charitable comprends tout, ce serait le t Pointeur sur les données [ par Ensias ] Est ce qu'il y a une fonction qui retourne un pointeur sur les données d'un fichier , je veux dire par cela directement sur les données du fichier , c Lecture d'un fichier de données en C [ par sandy27 ] Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient de Récupérer des Données d'un fichier texte??? [ par mouss_PO ] voila, je dois récupérer une liste de double dans un fichier texte en C++ et je ne sais vraiment pas comment faire.En gros mon travail total est d'ouv Fichier accès direct [ par ricomiracle ] Bonjour,Je dois réaliser une interface type base de donnée avec un fichier de données. Pour optimiser les perf, j'utilise un fichier d'accès direct (j comment lire un fichier texte et affecter les données lus dans un tableaux ? [ par nidalo ] bonjour, j'ai programmé une heuristique qui génerent des instances aléaotoires et les enregistrent dans un fichier texte sous cette forme : 1 3 8 Rangement des données d'un fichier WAV [ par Mitchoooo ] Bonjour tout le monde j'ai un probleme avec mon programme en C je veux ranger les données de mon fichier WAV dans un tableau mais il ne les range pas


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,379 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales