Projet Sur La Programmation C
Projet Sur La Programmation C
Toute tentative à n'importe quel niveau ne peut être réalisée de manière satisfaisante sans le soutien et les conseils.
des personnes instruits. Nous aimerions exprimer notre immense gratitude à tous les enseignants de KEC en informatique
programmation pour leur soutien constant et leur motivation qui nous a encouragés à concevoir cela
projet.
Nous remercions également tous nos collègues de la section électronique A qui ont rendu leur
soutien de tout cœur à tout moment pour l'achèvement réussi de ce projet.
Résumé
Le projet, comme son nom l'indique, est basé sur le système de gestion des magasins départementaux. A
Les grands magasins se composent de produits de consommation quotidienne, ils doivent donc être gérés de diverses manières.
manières. Ce projet se concentre sur la gestion de facturation d'un grand magasin et la gestion de
le bureau du responsable. Lorsqu'un client achète des marchandises, il/elle peut obtenir une facture instantanée en utilisant cela
programme.
À cette fin, nous avons commencé notre projet par les étapes de base de la programmation. Nous avons construit
des algorithmes et a élaboré des plans pour le programme. Pour le codage, le langage de programmation C a été utilisé.
Donc, pour le projet, notre principal outil était le langage de programmation C.
Le résultat que nous avons obtenu à l'issue du projet était un programme bien conçu et efficace pour le
gestion de la facturation dans un magasin de détail. Cependant, il y a certaines limitations, dans l'ensemble, le projet est
réussi pour ce qu'il vise à accomplir.
Table des matières
y Objectifs 1
y Introduction 2
y Algorithme 3
y Exigences 11
y Discussion de projet 12
y Code 14
y Caractéristiques du projet 28
y Limitations 29
y Conclusion 30
y Références 31
Objectifs
Le projet est basé sur le processus de gestion et de facturation dans un magasin de détail. Ceci
le programme peut être simplement utilisé par un responsable de magasin départemental et un caissier. Le programme se concentre principalement
sur la manipulation de diverses fonctions par un caissier et un responsable sur la base des biens sélectionnés par le
client. Le gestionnaire peut ajouter des biens, changer les tarifs, voir le total des ventes de la journée, etc.
D'autre part, un caissier peut traiter les factures des marchandises selon le choix des clients.
Pour le processus de codage, le langage de programmation ANSI Standard C est utilisé. Les diverses efficaces
des aspects tels que les fonctions, les tableaux, les structures, les opérations sur les fichiers, etc. sont utilisés.
Algorithmes
Algorithme pour main() :
Étape 1 : Commencer.
Étape 3 : Afficher « Bienvenue dans le système de gestion de magasin départemental ».
Étape 4 : Appelez la fonction mainmenu().
Étape 5 : Arrêtez.
\b
i=i-2.
Étape 8 : i=i+1.
Étape 9 : Allez à l'étape 7.1.
Étape 10 : Assignez '\0' à key[i].
Étape 11 : si le maître et la clé sont égaux
11.1 : Ouvrir le fichier ͞ authorize1.txt͟ en mode ͞ ab+͟ et l'assigner à f1.
si f1=NULL
Ouvrir le fichier a͞ uthorize1.txt͟ en mode w
͞ b+͟ et l'assigner à f1.
si f1=NULL
Impossible d'ouvrir le fichier.
Entrez le nom d'utilisateur :
Saisir b.admin_name.
Entrez le mot de passe :
11.5:Initialiser i=0.
11.6 : Entrée p.
11.7 : si (pas != \͚ n͛ )
Entrée p.
11.8 : si p=13
allez à l'étape 19.
si (p != ͚͛ )
Affecter p à b.admin_password[i],
*
sinon
si p='\b'
Affichez " "
\b
i=i-2.
11.9 : i=i+1.
11.10: Aller à l'étape 11.6.
11.11 : Assigner '' à b.admin_password[i].
11.12 : Écrire la structure b dans f1.
11.13 : Fermez le fichier f1.
Créé avec succès !
11.14: Aller à l'étape 13.
Étape 12 : Affichez "Mot de passe invalide ! Vous ne pouvez pas créer un ID de gestionnaire."
Étape 13 : Arrêtez.
7.7 : i=i+1 ;
7.8 : Allez à l'étape 7.6.
7.9 : password1[i]='\0'.
7.10 : si (password1 = b.admin_password)
1
Bienvenue!͟
Appeler functionManagerMenu().
sinon
Mot de passe invalide !
Nom d'utilisateur non trouvé.
Allez à l'étape 7.2.
7.12 : fermer le fichier f1.
Étape 8 : si (choix3=͚C͛ ) ou (choix3=͚c͛ )
8.1 : Ouvrir le fichier "authorize2.txt" en mode "rb+" et l'assigner à f2.
Entrez le nom d'utilisateur :
8.3 : Saisir le nom2.
8.4 : Lire le fichier f12.
8.5 : si (name2 = b.user_name)
si (flag1=0)
Entrez le mot de passe :
i=0.
Allez à l'étape 8.6.
sinon
Allez à l'étape 8.11.
8.6 : si (p2 != '\n')
Entrée p2.
si (p2=13)
Allez à l'étape 7.8.
if (p2!='\b')
password2[i]=p2,
Imprimer "\b*".
sinon
si (p2='\b')
Afficher (" ")
Imprimer ("\b")
i=i-2.
8.7 : i = i + 1 ;
8.8: Allez à l'étape 8.6.
8.9: password2[i]='\0'.
8.10 : si (password2 = b.user_password
1
Bienvenue!
Appeler la fonction CashierMenu().
sinon
Mot de passe invalide !
Algorithme de facturation() :
Étape 1 : Commencer.
Étape 2 : Déclarer la structure biens b[50] et les variables itemcode[50], i, j, sum, quantity[200], cost[200],
tendre, changer.
Étape 3 : Déclarer le pointeur de fichier *f, *f1.
Étape 4 : Ouvrir le fichier g͞ oods.txt͟ en mode lecture et assigner à f.
Étape 5 : Ouvrir le fichier k͞ eeprecords.dat͟ en mode ajout et l'assigner à f1.
Étape 6 : Initialiser i=0.
Étape 7 : Affichez « Entrez les codes des articles et appuyez sur une touche lorsque vous avez terminé. »
Étape 8 : Afficher « Entrez les codes des articles : »
Étape 9 : Saisissez le code de l'article.
Étape 10 : si (strlen(itemcode)=6)
Allez à l'étape 11.
sinon
Allez à l'étape 16.
Étape 11 : Lire f.
Étape 12 : si (a.itemcode=itemcode)
nom de l'article
b[i].itemcode=a.itemcode,
b[i].itemname=a.itemname,
b[i].taux=a.taux
Entrez la quantité :
Quantité d'entrée[i],
quantity[i] * b[i].rate
somme=somme+coût[i],
c.itemcode=b[i].itemcode,
c.nomArticle=b[i].nomArticle,
c.taux=b[i].taux,
c.quantity=quantité[i],
c.cost=cost[i].
Étape 13 : Écrivez c dans f1.
Étape 14 : i++,
Étape 15 : Retourner à l'étape 8.
Étape 16 : Fermez f et f1.
Nom de l'article
Étape 17 : Afficher le code de l'article Coût
Étape 18 : Afficher -͞ ------------------------------------------------͟.
Étape 19 : Initialiser j = 0.
Étape 20 : si (j<i)
Imprimez b[j].itemcode, b[j].itemname, b[j].rate, quantity[j], cost[j].
j=j+1,
Allez à l'étape 18.
Étape 21 : Imprimer la somme.
͞ ffre :͟
Étape 22 : Afficher O
Étape 23 : Soumission d'offre.
Étape 24 : changement=somme-tender.
Étape 25 : Imprimer le changement.
Étape 26 : Imprimer le nom du caissier.
Étape 27 : Appeler la fonction CashierMenu().
Les exigences pour que le programme fonctionne ou que le code prenne effet sont basiques et peuvent être
trouvé sur n'importe quel ordinateur simple. Cependant, certaines des exigences matérielles et logicielles essentielles sont
décrit comme suit :
Matériel :
Le matériel requis pour faire fonctionner le programme est le même que celui que l'on peut trouver sur
ordinateur personnel simple (bureau, portable, etc.). Il n'y a donc pas de besoin matériel spécial pour
la mise en œuvre de ce projet.
Logiciel
Comme le langage de programmation C est utilisé à des fins de codage, le logiciel principal requis est
également la même chose. L'installation de ce logiciel n'est pas très compliquée et elle ne prend pas beaucoup de place.
espace. Les exigences système pour que le programme fonctionne sont également basiques et faciles à trouver.
Plateforme
Le programme C prend en charge des plateformes telles que Windows 98, XP, 2000, etc. Cependant, il se peut qu'il ne prenne pas en charge
Comme nous le savons, le projet est basé sur le système de gestion départementale et se concentre
sur le système de facturation. Les fonctions utilisées dans le programme ou la fonction du programme ont également l'intention dans
direction parallèle. Les principaux composants du programme sont de commencer en tant que responsable ou caissier et
vérification, entrée et affichage des marchandises, affichage de la facture, affichage des ventes totales, etc. Ces composants sont
décrits comme suit avec leur processus de travail :
Le programme prend en charge deux modes, à savoir le mode gestionnaire et le mode caissier. Au début
du programme, il est demandé de se connecter en tant qu'utilisateur existant ou nouvel utilisateur. Le nouvel utilisateur peut être en mode gestionnaire ou
en mode caissier. Pour que le nouvel utilisateur soit en mode gestionnaire, il doit entrer un mot de passe maître en tant que gestionnaire
j'ai des informations secrètes qui ne peuvent pas être divulguées aux autres membres. Chaque membre peut
ils ont également leurs propres mots de passe pour l'accès. Lorsque un utilisateur saisit un nom d'utilisateur et un mot de passe corrects, alors le
Le message de bienvenue est affiché, sinon l'utilisateur est de nouveau invité à entrer le nom d'utilisateur et le mot de passe.
correctement.
Mode manager :
Le gestionnaire est la personne principale qui gère l'achat et la vente de biens dans une
magasin départemental. Donc, un mode de gestion devrait avoir divers aspects tels que l'ajout à la liste de bons,
édition, et affichage de la bonne liste, pour voir le total des ventes d'une journée et supprimer un bon. Tous ces aspects
sont inclus dans le programme sous le mode gestionnaire.
Pour l'entrée de nouveaux biens, un gestionnaire doit sélectionner l'option « ajouter à la liste de biens ». Ensuite
on lui demande le code article du bien qui doit être ajouté. On lui demande aussi d'entrer le nom du
bon et le taux de la quantité unitaire. Si un manager souhaite voir la liste de tous ses biens, alors il peut
sélectionnez l'option « affichage de la liste des biens ». Cette option affiche tous les biens disponibles dans le format suivant :
͙͙
Un manager peut modifier la liste des biens existante. Pour cela, il doit sélectionner l'option « modifier le »
bonne liste. Dans cette option, il peut donner un nouveau code d'article, un nom et un tarif pour l'article existant. Le code du
l'élément à éditer est demandé et le nouveau code, le nom et le tarif sont attribués à la place de l'existant
Un bon gestionnaire doit tenir un registre de toutes les ventes d'une journée, ce qui peut aider de nombreuses manières.
l'avenir du grand magasin. À cet effet, il peut choisir l'option « voir le total des ventes ».
l'option affiche le total des biens vendus par jour, leur code, coût, quantité et montant total. Le total des ventes
d'une journée est affiché dans le format suivant :
͙͙ .
Enfin, un responsable peut supprimer ou arrêter l'achat ou la vente des marchandises dans le département.
conformément à l'exigence. Pour cela, il peut sélectionner l'option « supprimer le bon ». Lorsque cette option est sélectionnée
ensuite, le code de l'objet à supprimer lui est demandé. Si le code d'un objet est saisi, alors le
l'élément respectif est supprimé de la liste.
Mode Caissier
Un caissier est une personne qui prend des commandes des clients ainsi que donne et reçoit
argent. Dans le cas d'un grand magasin, un caissier calcule le montant total des biens qu'un client souhaite.
pour acheter et imprimer la facture, également un caissier prend le montant du client.
Un caissier saisit le code des articles qu'un client souhaite acheter. Ensuite, l'article
codes, noms des articles, coût, quantité et montant total sont calculés. Enfin, la facture est traitée.
la facture traitée est affichée au format d'affichage des ventes totales du mode gestion. Cependant, le changement vers
être retourné au client et le nom de la caissière est également affiché à la fin de la facture.
Ainsi, voici les principaux composants de notre programme avec leurs fonctions et leur
processus de travail.
Code source
Ce programme aide à gérer un magasin de détail en aidant à définir les biens, à conserver ses dossiers, à faire
factures, tenir des registres des ventes
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include<dos.h>
menusprincipal();
voidCréerGestionnaire();
voidCreateCashier();
void Vérification();
voidManagerMenu();
voidMenuCaissier();
voidGoodsEntry();
voidGoodsListDisplay();
voidModifierBiens();
voidDeleteGoods();
void Facturation();
voidTotalSalesDisplay();
struct biens
{
charitemcode[50];
[50]
taux int;
}a;
struct autoriser
{
[50]
[50]
charuser_name[50];
charuser_motdepasse[50];
}b;
struct biens2
{
charitemcode[50];
charitemname[50];
taux d'intérêt;
int quantité;
int coût;
}c;
charNomCaissier[50];
intgrandtotal=0;
char choix1, choix2;
vide principal()
{
longinti,j;
printf ("Bienvenue dans le SYSTÈME DE GESTION DES MAGASINS DE DÉPARTEMENT ");
Chargement
pour (i=0;i<3;i++)
{
pour (j=0;j<=200000000;j++);
printf (".");
}
menuPrincipal();
}
vide menuprincipal()
{
MENU PRINCIPAL
Entrez les choix : (L) pour se connecter. (C) pour créer un Manager/Caissier. (E) pour quitter :
demanderchoix2
choix1=getche();
switch (choix1)
{
cas 76 :
cas 108 :
Vérification();break;
cas 67 :
cas 99 :
Entrez (M) pour créerManagerID.
printf ("Entrez (C) pour créer CashierID.\n");
printf ("Entrez (R) pour revenir au menu principal: ");
askchoice1
choix2=getche();
interrupteur(choix2)
{
cas 77 :
cas 109 :
CréerManager();break;
cas 67 :
cas 99 :
CréerCaissier();break;
cas 82 :
cas 114 :
menuprincipal();break;
par défaut
{
Sélection invalide ! Entrez à nouveau :
aller demanderchoix1;
}
}interrompre;
cas 69 :
cas 101 :
sortir(1);
default
{
Sélection invalide ! Entrez à nouveau :
aller à askchoice2;
}
}
}
voidCréerGestionnaire()
{
FICHIER *f1;
createme
int i;
Entrez le mot de passe maître :
i=0;
tandis que (pas!='\n')
{
pas=getche();
si (pas==13)
pause;
si (pas!='\b')
{
pas
printf("\b*");
}
sinon si (pas=='\b')
{
printf (" ");
printf ("\b");
i=i-2;
}
i=i+1;
}
'\0';
si (strcmp(master, clé) == 0)
{
si((f1=fopen("authorize1.dat","ab+"))==NULL)
{
si ((f1=fopen("authorize1.dat","wb+"))==NULL)
{
fprintf("Impossible d'ouvrir le fichier");
getch();
}
}
Entrez le nom d'utilisateur :
gets(b.admin_name);
Entrez le mot de passe :
i=0;
tant que (p!='\n')
{
p=getche();
si (p==13)
pause;
si (p!='\b')
{
p;
printf("\b*");
}
sinon si (p=='\b')
{
printf (" ");
printf ("\b");
i=i-2;
}
i=i+1;
}
'\0';
fwrite(&b,sizeof(b),1,f1);
fflush(stdin);
fclose(f1);
Créé avec succès !
}
sinon
printf ("Mot de passe invalide ! Vous ne pouvez pas créer un ID de gestionnaire.");
getch();
menuprincipal();
}
voidCréerCaissier()
{
FICHIER *f2;
p
int i;
si((f2=fopen("authorize2.dat","ab+"))==NULL)
{
si ((f2=fopen("authorize2.dat","wb+"))==NULL)
{
Impossible d'ouvrir.
}
}
Entrez le nom du caissier :
obtenir(b.user_name);
Entrez le mot de passe :
i=0;
tant que (p!='\n')
{
p=getche();
si (p==13)
pause;
si (p!='\b')
{
p
printf("\b*");
}
sinon si (p=='\b')
{
printf (" ");
printf ("\b");
i=i-2;
}
i=i+1;
}
b.user_password[i]='\0';
fwrite(&b,sizeof(b),1,f2);
fflush(stdin);
fermer(f2);
Créé avec succès !
menuprincipal();
}
void Vérification()
{
FICHIER *f1;
FICHIER *f2;
int i,flag1=0,len,j;
char nom1[50], motdepasse1[50], nom2[50], motdepasse2[50], p1, p2;
char choix3, choix4;
Pour vous connecter en tant que responsable, appuyez sur (M).
Pour vous connecter en tant que caissier, appuyez sur (C)
Pour retourner au menu principal, appuyez sur (R) :
la1
choice3=getche();
changer (choix3)
{
cas 77 :
cas 109 :
si((f1=fopen("authorize1.dat","rb+"))==NULL)
printf ("Impossible d'ouvrir");
demanderNom
Entrez le nom d'utilisateur :
obtient(nom1);
while(fread(&b,sizeof(b),1,f1)==1)
{
si (strcmp(name1, b.admin_name) == 0)
{
tant que (flag1==0)
{
Entrez le mot de passe :
i=0;
tant que (p1!='\n')
{
p1=getche();
si (p1==13)
pause;
si (p1!='\b')
{
motdepasse1[i]=p1;
printf("\b*");
}
sinon si (p1=='\b')
{
printf (" ");
printf ("\b");
i=i-2;
}
i=i+1;
}
password1[i]='\0';
si (strcmp(mot_de_passe1,b.mot_de_passe_admin)==0)
{
1;
printf ("Bienvenue!");
MenuDuGestionnaire();
}
sinon
{
Mot de passe invalide!
pour (j=0;j<45;j++)
password1[j]='\0';
getch();
}
}
pause;
}
sinon
{
Nom d'utilisateur non trouvé.
getch();
rembobiner(f1);
allerdemanderleNom;
}
fclose(f1);
}
pause;
cas 99 :
cas 67 :
f2=fopen("authorize2.dat","rb+");
demanderNom1
Entrez le nom d'utilisateur :
obtient(nom2);
while(fread(&b,sizeof(b),1,f2)==1)
{
si (strcmp(name2,b.user_name)==0)
{
tant que (flag1==0)
{
strcpy(NomCaissier,name2);
Entrez le mot de passe :
i=0;
tant que (p2!='\n')
{
p2=getche();
si (p2==13)
faire une pause;
si (p2!='\b')
{
motdepasse2[i]=p2;
printf("\b*");
}
sinon si (p2=='\b')
{
printf (" ");
printf (" ");
i=i-2;
}
i=i+1;
}
password2[i]='\0';
si (strcmp(password2,b.user_password)==0)
{
1;
printf ("Bienvenue!");
MenuCaissier();
pause;
}
sinon
{
Mot de passe invalide !
pour (j=0;j<45;j++)
password1[j]='\0';
}
}
pause;
}
sinon
{
Nom d'utilisateur non trouvé
obtenir();
rembobiner(f2);
aller demanderNom1;
}
}
fclose(f2);
pause;
cas 114 :
cas 82 :
menuPrincipal();break;
par défaut
Sélection invalide ! Entrez à nouveau :
aller à la1;
}
}
voidMenuCaissier()
{
longinti,j;charch;
Chargement
pour (i=0;i<3;i++)
{
pour (j=0;j<=200000000;j++);
printf(".");
}
La facturation est prête !
Appuyez sur (E) pour quitter. OU Toute autre touche pour continuer la facturation:
ch=getche();
switch (ch)
{
cas 69 :
cas 101 :
sortie(1);
default
Facturation();
}
}
voidManagerMenu()
{
char choix4;
longinti,j;
Chargement
pour (i=0;i<3;i++)
{
pour (j=0;j<=200000000;j++);
printf (".");
}
Entrez (A) pour ajouter à la liste des bonnes.
Entrez (E) pour modifier la liste des biens.
Entrez (D) pour afficher la liste des biens.
Entrez (S) pour voir le total des ventes.
Appuyez sur (barre d'espace) pour supprimer de la bonne liste.
Entrez (R) pour retourner au MenuPrincipal:
choix4=getche();
changer (choix4)
{
cas 65 :
cas 97 :
EntréeMarchandise();break;
cas 69 :
cas 101 :
ModifierLesBiens(); casser;
cas 68 :
cas 100 :
AfficherListeBiens();break;
cas 32 :
SupprimerMarchandises();break;
cas 115 :
cas 83 :
TotalVentesAffichage();break;
cas 82 :
cas 114 :
menuprincipal(); casser;
défaut
Sélection invalide ! Entrez à nouveau :
aller à la2;
}
}
voidGoodsEntry()
{
FICHIER *f;
charques
si ((f=fopen("goods.txt","ab+"))==NULL)
{
si ((f=fopen("goods.txt","wb+"))==NULL)
{
Impossible d'ouvrir le fichier
getch();
}
}
while(1)
{
Entrez le code de l'article à ajouter :
obtient (a.codearticle);
Entrez le nom de l'article :
obtient (a.nomdelarticle);
Entrez le taux pour la quantité unitaire :
scanf ("%d", &a.taux);
fwrite(&a,sizeof(a),1,f);
fflush(stdin);
Appuyez sur la touche 'esc' pour quitter ou sur une autre touche pour continuer :
ques=getche();
si(ques==27)
pause;
}
fclose(f);
MenuManager();
}
afficherListeBiensInexistants()
{
FICHIER *f;
inti,j;
Chargement
pour (i=0;i<4;i++)
{
pour (j=0;j<=100000000;j++);
printf (".");
}
printf (" ");
pour (i=0;i<3;i++)
{
pour (j=0;j<=100000000;j++);
printf (".");
}
printf ("\b\b\b");
si ((f=fopen("goods.txt","rb"))!=NULL)
{
Code de l'article Nom de l'article Coût (Rs.)\n
printf ("-------------------------------------------------------\n");
faire
{
printf("%s", a.itemcode);
printf("%s",a.itemname);
si ((strlen(a.itemname)>0) && (strlen(a.itemname)<=7))
si ((strlen(a.itemname)>7)&& (strlen(a.itemname)<13))
%d
}tant que (fread(&a,sizeof(a),1,f)==1);
fermer(f);
getch();
}
MenuGestionnaire();
}
voidModifierProduits()
{
FICHIER *f;
[50]
int taille=sizeof(a);
si ((f=fopen("goods.txt","rb+"))!=NULL)
{
Entrez le code de l'article du produit :
obtient(itemcode);
fflush(stdin);
while (fread(&a,sizeof(a),1,f)==1)
{
si (strcmp(a.itemcode,itemcode)==0)
{
Entrez le nouveau code d'article :
obtient (a.itemcode);
Entrez le nom du nouvel article :
obtient (a.nomdelélément);
Entrez le tarif pour la quantité unitaire :
scanf ("%d", &a.rate);
fseek(f,-size,SEEK_CUR);
fwrite(&a,sizeof(a),1,f);
printf ("Fait. ");
getch();
pause;
}
}
fclose(f);
}
MenuGestionnaire();
}
voidSupprimerBiens()
{
FICHIER *f,*temp;
charitemcode[50];
int taille=sizeof(a);
f=fopen("goods.txt","rb");
temp=fopen("tempgoods.txt","wb");
Entrez le code de l'article du produit à supprimer :
obtient(itemcode);
tandis que (fread(&a,sizeof(a),1,f)==1)
{
si (strcmp(a.itemcode, itemcode) == 0)
continuer;
sinon
fwrite(&a,sizeof(a),1,temp);
}
renommer("tempgoods.txt", "goods.txt");
fermer(f);
fclose(temp);
Supprimé avec succès!
MenuResponsable();
}
void Facturation()
{
struct goods b[50];
FICHIER *f;
FICHIER *f1;charitemcode[50];int i=0,j,somme=0;
int quantity[200],cost[200],tender,change;
f=fopen("goods.txt","rb+");
f1=fopen("keeprecords.dat","ab+");
Entrez les codes des articles et appuyez sur n'importe quelle touche lorsque vous avez terminé.
faire
{
Entrez les codes des articles :
scanf("%s", &itemcode);
while(fread(&a,sizeof(a),1,f)==1)
{
si(strcmp(a.itemcode,itemcode)==0)
{
puts(a.nomdelarticle);
printf ("Rs.%d\n",a.rate);
strcpy(b[i].itemcode, a.itemcode);
strcpy (b[i].itemname,a.itemname);
b[i].taux=a.taux;
printf("Entrez la quantité :");
scanf ("%d", &quantity[i]);
coût[i] = quantité[i] * b[i].taux;
somme=somme+coût[i];
strcpy (c.itemcode,b[i].itemcode);
strcpy (c.itemname,b[i].itemname);
c.rate=b[i].taux;
c.quantité=quantité[i];
c.cost=coût[i];
fwrite(&c,sizeof(c),1,f1);
fflush(stdin);
i++;
pause;
}
}
rembobiner(f);
}tant que (strlen(codeArticle)==6);
fclose(f);
fclose(f1);
Code de l'article Nom de l'élément Coût
printf ("------------ ----------- ") --------- ---- ------
pour (j=0;j<i;j++)
{
printf("%s",b[j].itemcode);
printf("%s",b[j].itemname);
si ((strlen(b[j].itemname)>0)&& (strlen(b[j].itemname)<=7))
si ((strlen(b[j].itemname)>7)&& (strlen(b[j].itemname)<13))
printf("%s", c.itemname);
grandtotal=grandtotal+c.cost;
si ((strlen(c.itemname)>0) && (strlen(c.itemname)<=7))
si ((strlen(c.itemname)>7)&& (strlen(c.itemname)<13))
Les caractéristiques de tout projet sont basées sur son fonctionnement et sur son impact sur le quotidien.
la vie quotidienne d'un être humain. Un grand magasin a une grande valeur dans la vie d'un homme ordinaire. Un homme
a besoin de ses besoins fondamentaux de nourriture, de vêtements qu'il peut se procurer dans un magasin de détail. Comme ce programme est
Axé sur la bonne gestion d'un magasin de détail, il présente donc un grand potentiel dans la société.
Quoi qu'il en soit, certaines des principales caractéristiques de ce projet sont décrites sous les rubriques suivantes :
Le projet dispose de deux modes et peut être utilisé par un manager et un caissier d'un.
magasin départemental. Un manager peut manipuler les achats et les ventes des biens dans le magasin
tandis qu'un caissier traite la facture en fonction des biens qu'un client souhaite acheter. Donc, le programme
est très bénéfique pour le magasin.
Gestion
Le projet se concentre principalement sur la gestion adéquate de la vente d'articles dans un département.
magasin. Diverses options de recherche et de modification sont fournies dans le programme. Ces options aident dans le
bonne gestion du magasin. Un gestionnaire a beaucoup plus d'options qu'un caissier. Cela rend
Le mode gestionnaire est plus vulnérable. Donc, le besoin de sécurité était notre effort principal.
Sécurité
Une autre caractéristique du programme est sa sécurité. Le système de mot de passe est implicite pour chaque
et chaque membre utilisant ce programme. Un gestionnaire détient un mot de passe maître, ce qui donne le
mode de gestion sécurité supplémentaire. Ainsi, tout programme sécurisé est beaucoup plus convivial et a un grand impact dans
société mise à disposition dans notre projet.
Messages conviviaux
Tout programme peut être populaire parmi les utilisateurs s'il est convivial. Le programme utilise
les messages conviviaux pour l'interface avec l'utilisateur. Cela aide à l'application facile du programme
parmi les utilisateurs. Les messages ne sont pas difficiles à comprendre et sont rédigés en anglais simple.
Par conséquent, voici les principales caractéristiques de notre projet. Ces caractéristiques sont incluses dans notre
le programme et chacune de ces fonctionnalités est le bijou de notre projet.
Limitations
Aucun projet n'est parfait. Chaque projet a ses limitations. Notre projet a également des
certaines limitations. Ces limitations peuvent être dues au fait qu'il s'agit d'un mini-projet et que nous ne sommes pas non plus des experts.
Certaines des principales limitations du projet ou programme sont énumérées comme suit :
L'attrait visuel du programme est faible. Aucune graphique intéressant n'est utilisé car il n'y en a pas d'utilité.
de <graphics.h> dans le programme.
Aucune utilisation de la fonction date et heure.
L'option de mot de passe modifiable n'est pas utilisée compte tenu de la longueur du programme.
Le programme se concentre uniquement sur la fourniture d'options à un gestionnaire et à un caissier, mais il ne peut pas fournir
Nous pouvons donc conclure que le projet a été couronné de succès pour ce qu'il vise.
effectuer. Ce programme dans le cadre du projet peut être utilisé dans un grand magasin pour le bon
gestion des achats et des ventes de biens ainsi que la gestion de la facturation.
Ainsi, bien que le projet ait certaines de ses limites, l'effort maximal a été ciblé.
pour atteindre son objectif c'est-à-dire le système de gestion des grands magasins.
Références