Ajout des fonctions d'affichage et modification à vide de la modif des clients

doc
louis.germain 2 years ago
parent 2e737c5731
commit 00dee87482

@ -0,0 +1,49 @@
#include "main.h"
void displayItem(int reference[], float weight[], float volume[], float unitPrice[], int tlog)
{
int reference, index;
printf("Entrez la référence de l'article cherché: ");
scanf("%d", &reference);
index = recherche(reference, reference[], tlog);
if (index == -1)
{
printf("La référence cherchée n'existe pas");
exit(1);
}
printf("%d\t%f\t%f\t%f", reference[index], weight[index], volume[index], unitPrice[index]);
}
void displayItemList(int reference[], float weight[], float volume[], float unitPrice[], int tlog)
{
int i;
printf("reference\tpoids\tvolume\tprix");
for (i=0; i<tlog; i++)
{
printf("%d\t%f\t%f\t%f", reference[i], weight[i], volume[i], unitPrice[i]);
}
}
void displayClient(int clientID[], float cagnotte[], int suspended[], int tlog)
{
int id, index;
printf("Entrez le numéro du client cherché: ");
scanf("%d", &id);
index = recherche(id, clientID, tlog);
if (index == -1)
{
printf("Le client cherché n'existe pas");
exit(1);
}
printf("%d\t%f\t%d", clientID[index], cagnotte[index], suspended[index]);
}
void displayClientList(int clientID[], float cagnotte[], int suspended[], int tlog)
{
int i;
printf("num Client\tcagnotte\tsuspended");
for (i=0; i<tlog; i++)
{
printf("%d\t%f\t%d", clientID[i], cagnotte[i], suspended[i]);
}
}

@ -3,14 +3,13 @@
void inputClient(void) void inputClient(void)
{ {
int numClient, suspended = 0; int numClient;
float cagnotte = 0;
FILE *client; FILE *client;
client = fopen("client.txt", "a"); client = fopen("client.txt", "a");
if (client == NULL) if (client == NULL)
{ {
printf("Erreur lors de l'ouverture de 'client.txt'\n"); printf("Erreur lors de l'ouverture de 'client.txt'\n");
return; //? return est-il mieux placer que exit() dans ce cas ? exit(1);
} }
while (numClient) while (numClient)
@ -22,73 +21,14 @@ void inputClient(void)
printf("Erreur, le numéro du client doit être positif, entrez le numéro du client ou 0 si vous souhaitez arrêter la saisie: "); printf("Erreur, le numéro du client doit être positif, entrez le numéro du client ou 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &numClient); scanf("%d", &numClient);
} }
fprintf(client, "%d\t%f\t%d", numClient, cagnotte, suspended); //? Pourquoi créer les variables 'suspended' et 'cagnotte' ? Mettre directement 0 suffit. fprintf(client, "%d\t0\t0", numClient);
} }
fclose(client); fclose(client);
} }
void modifyClient(void) void modifyClient(void)
{ {
int numClient = 1, suspended, searchedNumClient; // à modifier dans un tableau, sauvegarde dans fichier avec fct de sauvegarde
float cagnotte, cagnotte_add;
char choice;
FILE *client;
client = fopen("client.txt", "r+"); //Ouverture en read and write pour chercher puis modifier des données
if (client == NULL)
{
printf("Erreur lors de l'ouverture de 'client.txt'\n");
return;
}
while (numClient) //?! whut
{
printf("Entrez le numéro du client cherché ou 0 si vous souhaitez arrêter la saisie: ");
scanf("%d%*c", &searchedNumClient);
while (searchedNumClient < 0)
{
printf("Erreur, le numéro du client doit être positif, entrez le numéro du client cherché ou 0 si vous souhaitez arrêter la saisie: ");
scanf("%d", &searchedNumClient);
}
printf("Entrez la modification voulue ('s' pour suspendre ou réactiver le compte du client, 'c' pour modifier la cagnotte): ");
scanf("%c%*c", &choice);
while (choice != 's' || choice != 'c')
{
printf("Mauvaise saisie, les valeurs correctes sont 's' pour suspendre ou réactiver le compte du client et 'c' pour modifier la cagnotte: ");
scanf("%c%*c", &choice);
}
// Faire une recherche du numéro client
fscanf(client, "%d%f%d", &numClient, &cagnotte_add, &suspended);
while(!feof(client))
{
if (numClient == searchedNumClient)
{
if (choice == s'') //TODO Misplace là x)))
if (suspended == 1)
{
suspended = 0;
// Ecrire la modif
}
else if (suspended == 0)
{
suspended = 1;
// Ecrire la modif
}
else if (choice == 'c')
{
printf("Entrez le montant à ajouter à la cagnotte");
scanf("%f", &cagnotte_add);
cagnotte += cagnotte_add;
// Ecrire la modif
}
fscanf(client, "%d%f%d", &numClient, &cagnotte_add, &suspended);
}
fclose(client);
return;
}
printf("Le numéro client entré n'existe pas")
}
fclose(client);
} }
void inputItem(void) void inputItem(void)

@ -25,3 +25,12 @@ void modifyClient(void);
//! GESTION STOCKS //! GESTION STOCKS
void inputItem(void); void inputItem(void);
//! AFFICHAGE DES DONNEES
void displayAItem(int reference[], float weight[], float volume[], float unitPrice[], tlog);
void displayItemList(int reference[], float weight[], float volume[], float unitPrice[], log);
void displayClient(int clientID[], float cagnotte[], int suspended[], tlog);
void displayClientList(int clientID[], float cagnotte[], int suspended[], tlog);
//! RECHERCHE
int recherche(int val, int tab[], int tlog);

@ -5,11 +5,24 @@
#include "main.h" #include "main.h"
int recherche(int val, int tab[], int tlog) // Recherche de l'index d'un id (de client ou d'article)
{
int i;
for (i=0, i<tlog, i++)
{
if (tab[i] == val)
return i;
}
return -1;
}
void chargeDonnees(int reference[], float weight[], float volume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[]) void chargeDonnees(int reference[], float weight[], float volume[], float unitPrice[], int clientID[], float cagnotte[], int suspended[])
{ {
int tLogArticle, tLogClient;
chargeArticles(reference, weight, volume, unitPrice); chargeArticles(reference, weight, volume, unitPrice);
chargeClients(clientID, cagnotte, suspended); chargeClients(clieed);
} }ntID, cagnotte, suspend
int chargeArticles(int reference[], float weight[], float volume[], float unitPrice[]) int chargeArticles(int reference[], float weight[], float volume[], float unitPrice[])
{ {

Loading…
Cancel
Save