[C] - Developpement d'un annuaire.

- Developpement d'un annuaire. [C] - C++ - Programmation

Marsh Posté le 04-10-2002 à 12:26:17    

Bonjour,
 
bon ben je dois creer un annuaire de pages jaune en C pour l'ecole, nous sommes 5 a devoir bosser dessus, bref, on doit utiliser les fichiers et je voudrais savoir s'il est necessaire et optimale d'utilisé plusieur fichiers... Je m'explique :  
 
On a un fichier DATA dans lequel se trouve les information des societes ( nom, prenom, tel, adresse, cp, ville ID_metier)
 
Un fichier METIER dans le quel on retrouve (ID_metier, nom_du_metier)
 
pour moi c'est mieux de mettre les metiers dans un autre fichier -> gain de place sur le disque dur,  plus rapide si on veux afficher juste un seul metier etc...
 
 
mes potes eux, veulent tout faire en un seul fichier ( je me tue a leur dire que c'est pas une bonne idee, que c'est n'importe quoi .. cf: SGBDR ) mais ils ne veulent rien entendre,...  
 
j'attends vos avis la dessus, car ca me prend la tete.
 
Merci d'avance


Message édité par Schtroumpheur le 04-10-2002 à 12:27:06

---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 12:26:17   

Reply

Marsh Posté le 04-10-2002 à 12:46:17    

T'as pas le droit d'utiliser une base de données ?

Reply

Marsh Posté le 04-10-2002 à 12:49:02    

si je pense mais a mon avis on aura moins de points car c'est bcp plus simple avec une db .


Message édité par Schtroumpheur le 04-10-2002 à 12:49:17

---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 12:53:30    

Schtroumpheur a écrit a écrit :

si je pense mais a mon avis on aura moins de points car c'est bcp plus simple avec une db .




Vous êtes noté sur la quantité de code produit, ou sur la qualité du soft ? Si vous avez droit a un sgbd vous seriez bien cons de vous en passer. Et acceder a mysql en C, c'est trivial.

Reply

Marsh Posté le 04-10-2002 à 12:57:56    

Sans y connaitre grand chose, si le ID_metier est un code métier numérique, ça semble plus logique pour savoir duquel il sagit en cherchant le nom associé (nom_du_metier) !
 
Répéter le métier littéral à chaque personne, ça encombre énormément.
 
Ce qu'il faudrait faire pour "juger" est de simuler sur papier chaque scénario et estimer le volume : un fichier unique : quoi dedans, comment on le gère (recherche d'infos), quel taille ?
Le second avec deux fichiers : personnes, métiers. Volume total, accès, modifs, consultations.
 
Faut écrire avant coder, ça permet de voir les points où ça coince(ra) et les pbs qui vont arriver selon ce qu'on veut faire.
 
Ex : trier par métier : si faut faire comparaison de chaîne, long ! Par ID, plus facile (integer ou long) et rapide. Etc..
 
EDIT : ils veulent peut-être les faire réfléchir à comment on peut organiser ça de façon ordonnée ? Tout dépend en effet du contexte estudiantin.


Message édité par Carbon_14 le 04-10-2002 à 13:00:28
Reply

Marsh Posté le 04-10-2002 à 13:04:49    

lorill a écrit a écrit :

 
Vous êtes noté sur la quantité de code produit, ou sur la qualité du soft ? Si vous avez droit a un sgbd vous seriez bien cons de vous en passer. Et acceder a mysql en C, c'est trivial.




Le prob c'est que on va se ramener avec notre disquette et ca devrait marcher le jour de l'examen, a mon avis on pourra pas commencer a installer apache etc... tu vois donc MySQL jepense que c foutu deja.
 


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 13:05:47    

carbon_14 a écrit a écrit :

Sans y connaitre grand chose, si le ID_metier est un code métier numérique, ça semble plus logique pour savoir duquel il sagit en cherchant le nom associé (nom_du_metier) !
 
Répéter le métier littéral à chaque personne, ça encombre énormément.
 
Ce qu'il faudrait faire pour "juger" est de simuler sur papier chaque scénario et estimer le volume : un fichier unique : quoi dedans, comment on le gère (recherche d'infos), quel taille ?
Le second avec deux fichiers : personnes, métiers. Volume total, accès, modifs, consultations.
 
Faut écrire avant coder, ça permet de voir les points où ça coince(ra) et les pbs qui vont arriver selon ce qu'on veut faire.
 
Ex : trier par métier : si faut faire comparaison de chaîne, long ! Par ID, plus facile (integer ou long) et rapide. Etc..
 
EDIT : ils veulent peut-être les faire réfléchir à comment on peut organiser ça de façon ordonnée ? Tout dépend en effet du contexte estudiantin.




 
C'est ce que je pense aussi,  
en fait on a pu entre-voir le projet d'eleves de l'annee passee et ils ont tous utilisé des fichiers donc, la DB c pas une bonne idee, ...


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 13:11:08    

Schtroumpheur a écrit a écrit :

 
Le prob c'est que on va se ramener avec notre disquette et ca devrait marcher le jour de l'examen, a mon avis on pourra pas commencer a installer apache etc... tu vois donc MySQL jepense que c foutu deja.




 
Qui a parlé d'apache ??
Mais c'est vrai que si faut que tu te pointe avec une d7 et que t'as pas le temps de faire une install propre faut peut-etre oublier.

Reply

Marsh Posté le 04-10-2002 à 13:11:55    

lorill a écrit a écrit :

 
 
Qui a parlé d'apache ??
Mais c'est vrai que si faut que tu te pointe avec une d7 et que t'as pas le temps de faire une install propre faut peut-etre oublier.




 
il y a d'autres moyen d'utiliser mySQL en C ???


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 13:25:37    

mySQL is not Apache !
 
Ca n'a rien à voir du tout. C'est juste que l'utilisation la plus courrante de mySQL c'est en passant par des pages php hébergées sur un serveur Apache. En général, mySQL ne tourne même pas sur la même machine que Apache.

Reply

Marsh Posté le 04-10-2002 à 13:25:37   

Reply

Marsh Posté le 04-10-2002 à 13:30:23    

lol... à mon avis, le but c'est que ça marche et bien ! donc se passer d'une base de données serait totalement débile (ou alors juste pour l'exercice, mais alors, je trouve l'exemple débile, mais bon.. passons !)
 
Utilise une base de données, ou alors là tu auras une mauvaise note !!!! parce que franchement, faudrait vraiment pas être futé pour ne pas en utiliser pour ce type d'info !
Ne normalise pas trop trop la base, ce n'est ensuite pas forcément plus simple de retrouver ou rechercher toutes les données, il vaut mieux que la base soit un poil plus grosse et que les accès soient mieux et plus rapides !


---------------
Tout cul tendu mérite son dû
Reply

Marsh Posté le 04-10-2002 à 13:37:55    

Eventuellement, vous pouvez avoir du quasi SGDB en utilisant des libs comme la libdb2, mais tout sera linké en statique et le résultat sera stocké dans des fichiers sur votre disque.
 
http://packages.debian.org/testing/base/libdb2.html

Reply

Marsh Posté le 04-10-2002 à 13:38:17    

Schtroumpheur a écrit a écrit :

 
il y a d'autres moyen d'utiliser mySQL en C ???  




 
Ouh la la... Je te conseilles de te documenter sur ce qu'est une base de données. Les buts, les moyens mis en oeuvre pour y arriver et les manières d'accéder a la base.  
 
Si vraiment t'es a la bourre, lit tout de suite http://www.mysql.com/doc/en/C.html mais ca serait dommage si tu n'a pas compris.

Reply

Marsh Posté le 04-10-2002 à 13:46:10    

Kristoph a écrit a écrit :

Eventuellement, vous pouvez avoir du quasi SGDB en utilisant des libs comme la libdb2, mais tout sera linké en statique et le résultat sera stocké dans des fichiers sur votre disque.
 
http://packages.debian.org/testing/base/libdb2.html
 




 
j'ai telechargé la lib mais je ne sais pas comment l'installer dans BC++5, excuse mon ignoranc, mais j'ai jamais fait ca :/
 
merci


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 13:48:58    

Schtroumpheur a écrit a écrit :

 
Le prob c'est que on va se ramener avec notre disquette et ca devrait marcher le jour de l'examen, a mon avis on pourra pas commencer a installer apache etc... tu vois donc MySQL jepense que c foutu deja.
 
 




 
c'est pour un bts ?
 
pq si c ca t aura le temps de l instalé ton soft ;)
 

Reply

Marsh Posté le 04-10-2002 à 13:54:15    

veryfree a écrit a écrit :

 
 
c'est pour un bts ?
 
pq si c ca t aura le temps de l instalé ton soft ;)
 
 




 
Non c'est pas un BTs je suis belge  et en belgique :D
je fais un modeste petit graduat, et on doit faire ce projet en 2 mois. vala


---------------
J'ai une pierre à la place du coeur, et au milieu de cette pierre il y a un coeur.
Reply

Marsh Posté le 04-10-2002 à 14:00:05    

Schtroumpheur a écrit a écrit :

 
 
Non c'est pas un BTs je suis belge  et en belgique :D
je fais un modeste petit graduat, et on doit faire ce projet en 2 mois. vala




 
comme ca a été dit plus hat, mysql ne s instal pas obligatoirement avec apache
alors vu que c un simple exe, ca s instal en 5 mins voila...

Reply

Marsh Posté le 04-10-2002 à 14:08:26    

Remarque au passage... Si tu veux vraiment tout faire (sans bdd) tu pourrais peut-être utiliser plus de deux fichiers !
Par exemple :
- ID_metier <-> metier,
- CP <-> ville,
- le reste (nom, prénom, tel, adresse, CP, ID_metier)
 
Rq :
Tu peux toujours concaténer ces fichiers et mettre une en-tête du style : décaler la tête de lecture de XXX pour arriver à la zone de correspondance ID_metier/metier, idem pour la correspondance CP/ville et le 'reste'...
 
Peut-être que ce n'est tout de même pas la bonne méthode ;) mais bon au moins j'aurais essayé de proposer quelque chose.

Reply

Marsh Posté le 04-10-2002 à 14:11:14    

Schtroumpheur a écrit a écrit :

 
 
j'ai telechargé la lib mais je ne sais pas comment l'installer dans BC++5, excuse mon ignoranc, mais j'ai jamais fait ca :/
 
merci




 
Désolé, mais ce lien n'est pas très utile. Celui la le sera plus pour toi :
 
http://elib.cs.berkeley.edu/admin/ [...] win32.html
 
http://elib.cs.berkeley.edu/admin/ [...] f/toc.html
 
Sinon, essaye avec cygwin à la place de BC++ car c'est fourni avec ;)

Reply

Marsh Posté le 04-10-2002 à 14:24:40    

Pour ID_metier <-> metier, un fichier de int/char *
idem pour CP <-> ville,  
pour le reste (nom, prénom, tel, adresse, CP, ID_metier), une structure "classique" dans les exemples de comment créer une structure.
 
Si les champs chaîne ont une longueur fixe, ça aide beaucoup !
Après faut voir comment gérer l'écriture de structures et les relire quand on cherche un champ précis.
 
En QBasic/VB, ça peut aller vite (je dis ça quand on a un peu de pratique :ange:), en C, c plus long..
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed