From 5f8a6dc7d15b96625a9ef9ed4bb8d063477e95fd Mon Sep 17 00:00:00 2001 From: Alnotz Date: Sat, 7 Jan 2023 22:39:42 +0100 Subject: [PATCH] CSV C project added --- csvf.cpp | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 csvf.cpp diff --git a/csvf.cpp b/csvf.cpp new file mode 100644 index 0000000..ad1c912 --- /dev/null +++ b/csvf.cpp @@ -0,0 +1,169 @@ +/*****************************************\ +|* Code C++ pour lire un fichier CSV. *| +|* *| +|* Auteur : Alnotz . *| +|* Note : On peut surement faire mieux ! *| +\*****************************************/ +/*g++ -Wall -Wextra -c csvf.cpp && g++ -Wall -Wextra csvf.o -o csvf*/ +/* Bibliotheques standards de C++ 11. */ +#include // Entree/sortie. +#include // Fichiers. +#include // Caracteres. +#include // Controles de procedures. +#define LINES 8// Lignes. +#define ROWS 6// Colonnes. +/* Fonction secondaire. */ +/* Un texte d'aide pour connaƮtre les commandes. */ +/* Une seule commande ici : '-h' pour l'aide. X-) */ +void helper(void)// Que du texte... :-| +{ + std::cout << "/*********************************************\\" << std::endl; + std::cout << "|* Section d'aide pour le programme 'csvf'. *|" << std::endl; + std::cout << "|* *|" << std::endl; + std::cout << "|* csvf [-h|--help] *|" << std::endl; + std::cout << "|* *|" << std::endl; + std::cout << "\\*********************************************/" << std::endl; + std::cout << std::endl; + std::cout << "Pour manipuler ce programme, il suffit d'avoir"; + std::cout << " le fichier 'csvin.csv' dans le meme repertoire." << std::endl; + std::cout << std::endl; + std::cout << " Contenu de 'csvin.csv' :" << std::endl; + std::cout << std::endl; + std::cout << "\"X\",\"Y\",\"Z\",\"U\",\"V\",\"P\"" << std::endl; + std::cout << "1,1,1,1,1,1" << std::endl; + std::cout << "2,2,2,2,2,2" << std::endl; + std::cout << "3,3,3,3,3,3" << std::endl; + std::cout << "4,4,4,4,4,4" << std::endl; + std::cout << "5,5,5,5,5,5" << std::endl; + std::cout << "6,6,6,6,6,6" << std::endl; + std::cout << "7,7,7,7,7,7" << std::endl; + std::cout << "8,8,8,8,8,8" << std::endl; + std::cout << std::endl; + std::cout << "Apres ca, on execute 'csvf'."<< std::endl; +} +/* Fonction principale. */ +int main(int argc, char** argv) +{ + /* Avant de commencer, a-t-on ajoute une option ? */ + if (argc == 2)// si une option... + { + /* En cas d'option '-h' ou '--help'... */ + if (strcmp(argv[1],"--help")==0 || strcmp(argv[1],"-h")==0) + { + /* Page d'aide invoquee. */ + helper(); + /* Fin du programme avec succes. */ + exit(EXIT_SUCCESS); + } + } + /* Texte memorise. */ + char text[LINES+1][5*ROWS-1]; + /* Indices ligne/colonne. */ + char i,j; + /* Matrice d'entiers. */ + int matrix[LINES][ROWS]; + /* Pour s'assurer la fin de chaque ligne. + * Une ligne = une sous-chaine. + */ + for (i=1; i> text[0]; + std::cout << text[0] << std::endl; + /* Les autres lignes. */ + std::cout << "Table CSV (corps) :" << std::endl; + for (i=1; i> text[i]; + std::cout << text[i] << std::endl; + } + /* Lecture integrale. */ + std::cout << "Table CSV (tout) :" << std::endl; + for (i=0; i