structure doublement chainee
2 participants
Page 1 sur 1
structure doublement chainee
Bonjour, tout le monde
j'ai ce projet à réaliser mais je n'ai pas assez de temps pour le réaliser.
Pourriez vous bien m'aider ?
En me donnant certains trucs et astuces dont j'aurai besoin pour le réaliser le plus rapidement possible
merci d'avance
voici le projet
Le fichier sevice.txt comporte les données suivantes :
Exemple : Une scannérisation se fait au prix de 15 gdes. (Scénarisation 15)
Donc lors de l’exécution de l’application, les données des fichiers sont chargées dans des listes chaînées respectives au fin de maximiser le temps d’exécution des transactions.
A noter que pendant l’exécution du programme, le fichier sevice.txt peut être mis à jour ; dans ce cas, on utilisera une option permettant de mettre à jour la liste correspondante.
Etant donné que le fichier sevice.txt est sujet à des modifications, les transactions seront placées dans une liste doublement chaînée et enregistrées au moment voulu dans un fichier transaction_date.txt, où "date" est la date du jour.
Offrir un service quelconque à tout Instant T est une transaction du genre :
Utiliser une touche de raccourci pour la sélection du service. Une fois le service sélectionné, on précisera la quantité, puis Enter pour valider la transaction.
Si toutes ces conditions sont respectées, il sera possible d’afficher les unes après les autres, en appuyant sur la touche SpaceBarre, toutes les transactions effectuées pour une date déterminée.
j'ai ce projet à réaliser mais je n'ai pas assez de temps pour le réaliser.
Pourriez vous bien m'aider ?
En me donnant certains trucs et astuces dont j'aurai besoin pour le réaliser le plus rapidement possible
merci d'avance
voici le projet
Le fichier sevice.txt comporte les données suivantes :
- Code:
Impression_noir 10
Impression_couleur 25
Scannarisation 15
Plastification_Petite 20
Plastification_Grande 40
Reliure_Petit 30
Reliure_Grande 50
Exemple : Une scannérisation se fait au prix de 15 gdes. (Scénarisation 15)
Donc lors de l’exécution de l’application, les données des fichiers sont chargées dans des listes chaînées respectives au fin de maximiser le temps d’exécution des transactions.
A noter que pendant l’exécution du programme, le fichier sevice.txt peut être mis à jour ; dans ce cas, on utilisera une option permettant de mettre à jour la liste correspondante.
Etant donné que le fichier sevice.txt est sujet à des modifications, les transactions seront placées dans une liste doublement chaînée et enregistrées au moment voulu dans un fichier transaction_date.txt, où "date" est la date du jour.
Offrir un service quelconque à tout Instant T est une transaction du genre :
- Code:
Service
Date/Heure Description Quantité Prix/Unité Prix/Total
22/06/2010 :14 :12 :54 Scannarisation 7 15 105
Utiliser une touche de raccourci pour la sélection du service. Une fois le service sélectionné, on précisera la quantité, puis Enter pour valider la transaction.
Si toutes ces conditions sont respectées, il sera possible d’afficher les unes après les autres, en appuyant sur la touche SpaceBarre, toutes les transactions effectuées pour une date déterminée.
don1design- Messages : 6
Date d'inscription : 02/07/2010
Fichier et list chainee
Bonjour, tout le monde
Pouriez vous me dire toute les fonctions et commnades dont j'ai besoin en C pour pouvoir
Creer/editer/sauvegarder/afficher------ un fichier .txt
Charger un fichier dans une liste chainee
Creer/editer/sauvegarder/afficher------ une liste chainee ou doublement chainee
Merci pour votre aide
Pouriez vous me dire toute les fonctions et commnades dont j'ai besoin en C pour pouvoir
Creer/editer/sauvegarder/afficher------ un fichier .txt
Charger un fichier dans une liste chainee
Creer/editer/sauvegarder/afficher------ une liste chainee ou doublement chainee
Merci pour votre aide
don1design- Messages : 6
Date d'inscription : 02/07/2010
Re: structure doublement chainee
Pour gérer un fichier texte :
http://www.bien-programmer.fr/notes.php#fichiers
Pour gérer une liste chainée (il faut tout écrire 'à la main')
http://www.bien-programmer.fr/listes_chainees.htm
Fait de ton mieux et poste ton code pour commentaires.
http://www.bien-programmer.fr/notes.php#fichiers
Pour gérer une liste chainée (il faut tout écrire 'à la main')
http://www.bien-programmer.fr/listes_chainees.htm
Fait de ton mieux et poste ton code pour commentaires.
Re: structure doublement chainee
Bonjour, tout le monde
j'ai une liste dinformation ds un fichier txt comme suit
Impression_noir 10
Impression_couleur 25
Scannarisation 15
Plastification_Petite 20
Plastification_Grande 40
Reliure_Petit 30
Reliure_Grande 50
jaimerais les charger ds une liste chaine puis ds une liste doublement chainee
pourriez vous bien maider a le faire car mes neurones sont en flammes
merci davance pour votre aide si precieuse
j'ai une liste dinformation ds un fichier txt comme suit
Impression_noir 10
Impression_couleur 25
Scannarisation 15
Plastification_Petite 20
Plastification_Grande 40
Reliure_Petit 30
Reliure_Grande 50
jaimerais les charger ds une liste chaine puis ds une liste doublement chainee
pourriez vous bien maider a le faire car mes neurones sont en flammes
merci davance pour votre aide si precieuse
don1design- Messages : 6
Date d'inscription : 02/07/2010
Re: structure doublement chainee
Tu as oublié de poster le code qui ne fonctionne pas ...don1design a écrit:Bonjour, tout le monde
j'ai une liste dinformation ds un fichier txt comme suit
Impression_noir 10
Impression_couleur 25
Scannarisation 15
Plastification_Petite 20
Plastification_Grande 40
Reliure_Petit 30
Reliure_Grande 50
jaimerais les charger ds une liste chaine puis ds une liste doublement chainee
pourriez vous bien maider a le faire car mes neurones sont en flammes
merci davance pour votre aide si precieuse
Re: structure doublement chainee
je viens de debuter avec
les liste chainee, je ne les maitrise pas donk je sais pas comment my prendre pour le realiser
pourriez vous bien vouloir maider
les liste chainee, je ne les maitrise pas donk je sais pas comment my prendre pour le realiser
pourriez vous bien vouloir maider
don1design- Messages : 6
Date d'inscription : 02/07/2010
Re: structure doublement chainee
Beaucoup d'infos ici : https://bien-programmer.forum-actif.net/exercices-f3/structure-doublement-chainee-t112.htm#527
Est-il utile que je fasse un copier collé de mon article ?
Commence par les liste chainées simples. Une difficulté à la fois ... Si tu connais déjà, tu n'auras aucun mal à fire les listes chainées doubles ...
Est-il utile que je fasse un copier collé de mon article ?
Commence par les liste chainées simples. Une difficulté à la fois ... Si tu connais déjà, tu n'auras aucun mal à fire les listes chainées doubles ...
Re: structure doublement chainee
bonjour, tout monde
j'ai un fichier service.txt qui contient des infos comme suit
jaimerais charge chaque service plus son tarif dans une liste chainee.
jai ecrit le programme que jai compile avec code::blocks
qui ne me montre aucune erreur mais lorsque je lexecute il se plante
pourriez vous bien maider a trouver lerreur.
voici le code
j'ai un fichier service.txt qui contient des infos comme suit
- Code:
Impression_noir 10
Impression_couleur 25
Scannarisation 15
Plastification_Petite 20
Plastification_Grande 40
Reliure_Petit 30
Reliure_Grande 50
jaimerais charge chaque service plus son tarif dans une liste chainee.
jai ecrit le programme que jai compile avec code::blocks
qui ne me montre aucune erreur mais lorsque je lexecute il se plante
pourriez vous bien maider a trouver lerreur.
voici le code
- Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define TAILLE_MAX 100
//les prototypes
int calculNbrDeService();
void chargement();
void affichage();
//les variables globales
int qtyService=0, i;
//services service[qtyService];
//Declaration de la structure SERVICE
typedef struct services services;
struct services
{
char type[50];
int tarif;
struct services *precedent;
struct services *suivant;
};
//Declation et initialisation de variable structuree
services *debut=NULL;
services *fin=NULL;
services *nouveau;
services *courant;
//FONCTION principale
int main()
{
int calculNbrDeService();
printf("Le nombre de service est ");
qtyService = calculNbrDeService();
printf("%d", qtyService);
printf("\nLes service sont\n");
chargement();
affichage();
return 0;
}
//Calcul du nombre de services disponible
int calculNbrDeService()
{
int nbrService=0;
FILE* fichier = NULL;
char chaine[TAILLE_MAX] = "";
fichier = fopen("service.txt", "r");
if (fichier != NULL)
{
while (fgets(chaine, TAILLE_MAX, fichier) != NULL) // On lit le fichier au complet
{
nbrService++; //augmentation du nombre de service
}
fclose(fichier);
}
return nbrService;
}
//CHARGEMENT des services dans la liste chainee
void chargement()
{
//CREATION du pointeur FILE
FILE* fichier = NULL;
char ttype[50];
int ttarif;
//OUVERTURE du fichier service.txt
fichier = fopen("service.txt", "r");
//Allocation d. de memoire
nouveau=(services*)malloc(sizeof(services));
if(nouveau!=NULL)
{
for ( i=0 ; i<qtyService ; i++ )
{
fscanf(fichier, "%s %d\n", ttype, &ttarif);
nouveau->type[0]=&ttype[0];
nouveau->tarif=ttarif;
nouveau->precedent=NULL;
nouveau->suivant=debut;
debut->precedent=nouveau;
debut=nouveau;
}
}
fclose(fichier);
}
//Affichage de la liste
void affichage()
{
courant=debut;//Point de depart
while(courant!=NULL)
{
printf("%s %d", courant->type, courant->tarif);
courant=courant->suivant;
}
getch();
}
don1design- Messages : 6
Date d'inscription : 02/07/2010
Re: structure doublement chainee
J'ai arrangé un peu ton code pour qu'il soit lisible et portable :
D'autres part, on a pas besoin des ces globales... Les cas où les globales sont indispensables sont rares et avancés...
- Code:
#include <stdio.h>
#include <stdlib.h>
#define TAILLE_MAX 100
/* les variables globales */
int qtyService = 0, i;
/* Declaration de la structure SERVICE */
typedef struct services services;
struct services
{
char type[50];
int tarif;
struct services *precedent;
struct services *suivant;
};
/* Declation et initialisation de variable structuree */
services *debut = NULL;
services *fin = NULL;
services *nouveau;
services *courant;
/* Calcul du nombre de services disponible */
int calculNbrDeService (void)
{
int nbrService = 0;
FILE *fichier = NULL;
char chaine[TAILLE_MAX] = "";
fichier = fopen ("service.txt", "r");
if (fichier != NULL)
{
while (fgets (chaine, TAILLE_MAX, fichier) != NULL) /* On lit le fichier au complet */
{
nbrService++; /* augmentation du nombre de service */
}
fclose (fichier);
}
return nbrService;
}
/* CHARGEMENT des services dans la liste chainee */
void chargement (void)
{
/* CREATION du pointeur FILE */
FILE *fichier = NULL;
char ttype[50];
int ttarif;
/* OUVERTURE du fichier service.txt */
fichier = fopen ("service.txt", "r");
/* Allocation d. de memoire */
nouveau = (services *) malloc (sizeof (services));
if (nouveau != NULL)
{
for (i = 0; i < qtyService; i++)
{
fscanf (fichier, "%s %d\n", ttype, &ttarif);
nouveau->type[0] = &ttype[0];
nouveau->tarif = ttarif;
nouveau->precedent = NULL;
nouveau->suivant = debut;
debut->precedent = nouveau;
debut = nouveau;
}
}
fclose (fichier);
}
/* Affichage de la liste */
void affichage (void)
{
courant = debut; /* Point de depart */
while (courant != NULL)
{
printf ("%s %d", courant->type, courant->tarif);
courant = courant->suivant;
}
getchar ();
}
/* FONCTION principale */
int main (void)
{
printf ("Le nombre de service est ");
qtyService = calculNbrDeService ();
printf ("%d", qtyService);
printf ("\nLes service sont\n");
chargement ();
affichage ();
return 0;
}
- Code:
-------------- Build: Debug in hello ---------------
Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c: In function 'chargement':
C:\dev\hello\main.c:66: warning: assignment makes integer from pointer without a cast
Output size is 62.38 KB
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 1 warnings
D'autres part, on a pas besoin des ces globales... Les cas où les globales sont indispensables sont rares et avancés...
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|