Exercice fichier
zoey
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
1. Définir un stock de produits. Un stock se caractérise par son nom, adresse, le nombre d’unités de stockage réservées pour chaque catégorie. 2. Afficher les informations concernant chaque produit (nombre , Marque, Prix unitaire à l’achat, etc.) 3. Ajouter, modifier et supprimer un produit. 4. Ajouter, modifier et supprimer une catégorie. 5. Afficher la capacité globale de stockage encore disponible.
1. Définir un stock de produits. Un stock se caractérise par son nom, adresse, le nombre d’unités de stockage réservées pour chaque catégorie. 2. Afficher les informations concernant chaque produit (nombre , Marque, Prix unitaire à l’achat, etc.) 3. Ajouter, modifier et supprimer un produit. 4. Ajouter, modifier et supprimer une catégorie. 5. Afficher la capacité globale de stockage encore disponible.
A voir également:
- Exercice fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
en complément
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
edit: finalement non, y'a effort de la personne en essayant de comprendre
non, j'essaie mais j'avais des problémes au nivau de compilation et aussi l'exercice est compliqué j'ai pas bien compris
#include <stdio.h> #include <stdlib.h> typedef struct { char mq[50]; /*marque d'un produit*/ char taille[50]; /*taille*/ int prix,nbr; /*nombre de produit de stockage reservees*/ } pr ; /*produit */ typedef struct { pr nom[100]; char ad [100]; /* adresse de chaque catégorie*/ int nbsv; /*le nombre d'unités de stockage reservees*/ int nbst; /*le nombre maximum d'unités de stockage*/ }stock; /*---dédinir un stock de produit---*/ void def (stock st[] ,int *N) { FILE * f=fopen("stock.txt","a"); int i; if(f!=NULL) {printf("donner nombre de categories "); scanf("%d",N); do { for (i=0;i<*N;i++) { printf("donner le nom du %d eme categorie \n",i); scanf("%s",st[i].nom); fprintf(f,"%s",st[i].nom); printf("donner l'adresse du %d eme categorie \n",i); scanf("%s",st[i].ad); fprintf(f,"%s",st[i].ad); printf(" donner le nombre d'unités de stockage reservees \n",i); scanf("%d",st[i].nbsv); fprintf(f,"%d",st[i].nbsv); printf("donner le nombre maximum d'unités de stockage \n "); scanf("%d",st[i].nbst); fprintf(f,"%d",st[i].nbst); } } while(st[i].nbsv<st[i].nbst); } fclose(f); } /*---fonction modifier---*/ void modife (stock st[]) { char nm [20]; int i=0; FILE*f=fopen("stock.txt","r+"); rewind(f); if(f==NULL) printf("fichier null"); else { while(feof(f)!=0) { printf("donner le categorie a modifie : \n"); scanf(f,"%s",nm); if(strcmp(nm,st[i].nom)==0) {st[i].nom=nm; printf("le catégorie a été modifier %s",st[i].nom); } i+=1; fclose(f); } } } /*---fonction supprime---*/ void supprime(stock st[]) { } /*---affichage des informations de chaque produit---*/ void affiche ( pr t[],stock st [],int *N) { FILE * f=open("produit.txt","a"); int j,i ; if(f!=NULL) { for (j=i ; j<*N ; j++) { printf("pour le produit suivant : %s\n", st[j].nom); printf("marque:\n"); scanf("%s",t[j].mq); fprintf(f,"%s",t[j].mq); printf("taille:\n"); scanf("%s",t[j].taille); fscanf(f,"%s",t[j].taille); printf("prix:\n"); scanf("%d",t[j].prix); fscanf(f,"%d",t[j].prix); printf("nombre:\n"); scanf("%d",st[j].nbsv); fscanf(f,"%d",st[j].nbsv); } fclose(f); FILE * f=open("produit.txt","r"); int j; if(f!=NULL) { for (j=0 ; j<*N ; j++) { fscanf(f,"%s",t[j].mq); printf("marque %s\n",t[j].mq); fscanf(f,"%s",t[j].taille); printf("taille:%s\n",t[j].taille); fscanf(f,"%d",t[j].prix); printf("prix:%d\n",t[j].prix); fscanf(f,"%d",st[j].nbsv); printf("nombre:%d\n",st[j].nbsv); } } fclose(f); } } int main() { stock st[100]; pr t[100]; int n; ajouter(st,&n); affiche(t,st,&n); return 0; }Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages.