Ajout de fonction de tri

doc
Rémi LAVERGNE 1 year ago
parent 35e56abbef
commit 2e13a15cb8
No known key found for this signature in database
GPG Key ID: 8861D8A4AD21A032

@ -0,0 +1,85 @@
/**
* @file sort.c
* @brief Fonctions de tri des tableaux de données (articles et clients).
* @version 1.0
* @date 2023-10-30
*/
#include "main.h"
/**
* @brief Tri des clients par ordre croissant de leur identifiant (clientID).
* @param clientID: tableau des identifiants des clients
* @param cagnotte: tableau des cagnottes des clients
* @param suspended: tableau de l'état du compte des clients
* @param isAdmin: tableau de l'état d'administrateur des clients
* @param tlog: taille logique des tableaux des clients
*/
int sortClient(int clientID[], float cagnotte[], int suspended[], int isAdmin[], int tlog)
{
int i, j, tempID, tempSuspended, tempIsAdmin;
float tempCagnotte;
for (i=0; i<tlog; i++)
{
for (j=0; j<tlog; j++)
{
if (clientID[j] > clientID[j+1])
{
// Variables temporaires pour le tri
tempID = clientID[j];
tempCagnotte = cagnotte[j];
tempSuspended = suspended[j];
tempIsAdmin = isAdmin[j];
clientID[j] = clientID[j+1];
cagnotte[j] = cagnotte[j+1];
suspended[j] = suspended[j+1];
isAdmin[j] = isAdmin[j+1];
clientID[j+1] = tempID;
cagnotte[j+1] = tempCagnotte;
suspended[j+1] = tempSuspended;
isAdmin[j+1] = tempIsAdmin;
}
}
}
return 0;
}
/**
* @brief Tri des articles par ordre croissant en fonction de leur référence.
* @param reference: tableau des références des articles
* @param weight: tableau des poids des articles
* @param volume: tableau des volumes des articles
* @param unitPrice: tableau des prix à l'unité des articles
* @param tlog: taille logique des tableaux des articles
*/
int sortArticle(int reference[], float weight[], float volume[], float unitPrice[], int tlog)
{
int i, j, tempReference;
float tempWeight, tempVolume, tempUnitPrice;
for (i=0; i<tlog; i++)
{
for (j=0; j<tlog; j++)
{
if (reference[j] > reference[j+1])
{
tempReference = reference[j];
tempWeight = weight[j];
tempVolume = volume[j];
tempUnitPrice = unitPrice[j];
reference[j] = reference[j+1];
weight[j] = weight[j+1];
volume[j] = volume[j+1];
unitPrice[j] = unitPrice[j+1];
reference[j+1] = tempReference;
weight[j+1] = tempWeight;
volume[j+1] = tempVolume;
unitPrice[j+1] = tempUnitPrice;
}
}
}
return 0;
}
Loading…
Cancel
Save