Enregistrement dans tableaux - Algo - Programmation
Marsh Posté le 08-06-2009 à 16:02:48
Bonjour,
Peut-on m'aider svp? J'aurais absolument besoin de savoir pour pouvoir avancer en tte confiance et surtout pour faire fonctionner le prog. correctement.
Merci d'avance pour votre aide.
Marsh Posté le 08-06-2009 à 16:13:12
Tu utilises une grosse chaine de caractères qui contient toutes les infos du bouquin...
On ne vous a pas appris les bases de données à l'école ou quoi ?
Marsh Posté le 08-06-2009 à 16:17:59
Sisi pourquoi tu voudrais que je procède comment? Mais dans le code est juste malgré tout???
Marsh Posté le 08-06-2009 à 16:43:39
Zoba a écrit : Sisi pourquoi tu voudrais que je procède comment? |
De la seule façon dite "normale" pour gérer ce genre de cas : une base de données
Zoba a écrit :
|
Ton code est faux car en cas de diminution de stock, tu rajoutes un nouveau bouquin dans ta liste avec le nouveau stock sans virer l'ancien. En plus tu as fais une confusion entre tes variables "num" et "code". Enfin tu décrémentes le stock après avoir inscrit le nouveau bouquin dans ta liste, donc tu auras toujours le même stock.
Marsh Posté le 08-06-2009 à 16:56:50
On ne peut vendre un livre que si le stock est >0. Lorsque l'on vend un livre, son stock diminue de 1 et la caisse augmente du prix de vente.
Lorsqu'on reprend un livre, son stock augmente de 1 et la caisse diminue du prix de vente. Attention on ne pourra reprendre un livre que si la caisse est assez remplie... Lors de toute manipulation d'argent le cahier de caisse doit être mis à jour, dans le fichier "caisse.txt".
Procédure vente_livre()
Variable num,isbn,titre, auteur,editeur,px_vente,stock, truc en alphanum
Debut
Ecrire "Entrez isbn"
Lire num
Ouvrir "livre.txt" sur 1 en lecture
stock <- 50
Tant que (non(EOF(fichier livre.txt)))
Lire fichier (1), truc
isbn <- mid (truc, 1,20)
titre <- mid (truc, 21,50)
auteur <- mid(truc,71,50)
editeur <- mid(truc,121,50)
px_vente <- mid(truc,171,6)
stock<- mid(truc,177,3)
si num <> isbn alors
Ecrire"Le livre n'existe pas"
sinonsi stock>0 alors
stock <- stock - 1
Ecrire isbn & titre & auteur & editeur & px_vente & stock
finsi
Fin tant que
Fermer(1)
Fin
Voilà j'ai un peu modifié ce qui effectivement devait être changé!!! :s
Est ce que tu peux m'aider concrètement après mes quelques modifs pour obtenir un code JUSTE?
Merci de ton aide
Marsh Posté le 08-06-2009 à 17:10:03
C'est mieux, mais tu ne vires toujours pas l'ancien bouquin avec les anciennes infos de stock. Là ce que tu fais, c'est inscrire 2 bouquins identiques avec des stocks différents
edit: l'idéal serait de remplacer juste les infos modifiées au lieu de supprimer/recréer, d'où l'utilité d'une base de données
Marsh Posté le 08-06-2009 à 17:34:04
Bonjour,
Je ne vois pas comment faire malheureusement, je comprends bien ce ke tu veux dire mais je ne vois pas comment procéder.
Aide moi stp
Marsh Posté le 08-06-2009 à 17:47:05
Ben c'est pas compliqué... Ta variable "truc" contient le bouquin en cours d'utilisation. Si ce bouquin est acheté (donc si son stock est décrémenté), alors tu as le choix entre 2 opérations :
- soit tu supprimes ce bouquin de ton stock, en prenant soin de sauvegarder toutes ses caractéristiques, et tu le recréés avec ses caractéristiques, mais en décrémentant son stock
- soit tu te contentes de mettre à jour son stock dans le fichier, sans le supprimer entièrement.
Tu dois faire ça à la fin de ton test, juste après avoir décrémenté le stock
Marsh Posté le 08-06-2009 à 17:58:40
Là tu touches le point où j'voulais arriver!!!! Je dois effectivement sauvegarder les données dans un tableaux selon moi, mais je ne sais pas justement comment procéder. En vérité je l'ai fais avec un ajout dans fichier mais ce n'est pas la bonne méthode car il s'agit de sauvegarder tt ceci dans un tableaux... Comment procéder alors??
Marsh Posté le 08-06-2009 à 18:04:08
Je sais que dans un tableau de deux dimensions(matrice),chaque ligne correspond à un vente(titre ,auteur,editeur,...) .puis je peux accéder à chaque informations en sachant ces coordonnées ,(je dois utiliser redim). Mais pour la mise en "code" c'est plus compliqué!!!
Marsh Posté le 08-06-2009 à 18:13:59
Je te l'ai dit dés le début, ce genre de cas se traite avec une base de données.
Tu peux éventuellement utiliser un fichier texte standard (on appelle ça un fichier plat), mais c'est beaucoup moins souple à utiliser, et ça devient lourdingue quand il faut faire des remplacements, comme c'est le cas ici.
Une autre solution, est d'utiliser un fichier texte au format XML, que tu parseras avec une librairie adéquate.
Mais la base de données est ce qu'il y a de plus adapté. Après, pour l'implémentation, ça dépend du langage que tu utilises
Marsh Posté le 08-06-2009 à 18:20:46
Pas de langage particulier, il s'agit du code c tout mais dis moi comment procéder le plus simplement du monde stp. Comment le faire via les tableaux si poss. car avec une base de données je vois pas? Merci
Marsh Posté le 08-06-2009 à 19:36:01
Les tableaux, c'est du domaine de l'implémentation, là tu en es encore au stade de la conception, ça n'a rien à voir. On t'a demandé d'écrire un algo de sortie de stock d'un bouquin, tu l'as écrit, c'est parfait. Maintenant, tout le coté technique appartient au domaine de l'implémentation, et les tableaux en font partie.
Si ton exo consiste juste à écrire l'algo, alors ton exo est fini.
Marsh Posté le 08-06-2009 à 21:40:15
Oui mais l'exercice demande également d'insérer un tableau pour pouvoir sauvegarder les modifications de l'exo...Je pense donc que je dois insérer un tableau (i,j) avec une boucle pour mais je ne sais pas l'écrire.... ça ne sort pas du bic!!!!
Marsh Posté le 09-06-2009 à 00:40:12
Il serait temps que sa sorte !!!
Demain tu me remets les feuilles à 21h35 !!
Bien à toi,
Ton Prof
Marsh Posté le 08-06-2009 à 09:07:18
Bonjour,
J'ai un exercice à résoudre, voici ma résolution mais j'aurais besoin de 2-3 conseils:
Ex:
On ne peut vendre un livre que si le stock est >0. Lorsque l'on vend un livre, son stock diminue de 1 et la caisse augmente du prix de vente.
Lorsqu'on reprend un livre, son stock augmente de 1 et la caisse diminue du prix de vente. Attention on ne pourra reprendre un livre que si la caisse est assez remplie... Lors de toute manipulation d'argent le cahier de caisse doit être mis à jour, dans le fichier "caisse.txt".
Procédure vente_livre()
Variable num,isbn,titre, auteur,editeur,px_vente,stock, truc en alphanum
Debut
Ecrire "Entrez isbn"
Lire num
Ouvrir "livre.txt" sur 1 en lecture
stock <- 50
Tant que (non(EOF(fichier livre.txt)))
Lire fichier (1), truc
isbn <- mid (truc, 1,20)
titre <- mid (truc, 21,50)
auteur <- mid(truc,71,50)
editeur <- mid(truc,121,50)
px_vente <- mid(truc,171,6)
stock<- mid(truc,177,3)
si code <> isbn alors
Ecrire"Le livre n'existe pas"
sinonsi stock>0 alors
Ecrire isbn & titre & auteur & editeur & px_vente & stock
stock <- stock - 1
finsi
Fin tant que
Fermer(1)
Fin
Peut-on me dire si le code suivant est juste et comment puis-je enregistrer ses informations dans un tableaux en sachant que je dois réutiliser les informations figurant dans le tableaux par après?
Merci