From f1660b1be3867a1c22d58a8019ca3e9c71c648b2 Mon Sep 17 00:00:00 2001 From: Alnotz Date: Sat, 7 Jan 2023 16:20:12 +0100 Subject: [PATCH] New C projects --- csvfc.c | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ invNb.c | 66 ++++++++++++++++++++++ random.c | 95 ++++++++++++++++++++++++++++++++ sapin.c | 120 ++++++++++++++++++++++++++++++++++++++++ wcplus.c | 114 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 559 insertions(+) create mode 100644 csvfc.c create mode 100644 invNb.c create mode 100644 random.c create mode 100644 sapin.c create mode 100644 wcplus.c diff --git a/csvfc.c b/csvfc.c new file mode 100644 index 0000000..760b2a5 --- /dev/null +++ b/csvfc.c @@ -0,0 +1,164 @@ +/*****************************************\ +|* Code C pour lire un fichier CSV. *| +|* *| +|* Auteur : Frederic Henry. *| +|* Note : On peut surement faire mieux ! *| +\*****************************************/ +/*g++ -Wall -Wextra -c csvfc.c && g++ -Wall -Wextra csvfc.o -o csvfc && ./csvfc;*/ +/* Bibliotheques standards de C 90. */ +/* Entree/sortie & fichiers. */ +#include +/* Caracteres. */ +#include +/* Controles de procedures. */ +#include +/* Lignes. */ +#define LINES 8 +/* Colonnes. */ +#define ROWS 6 +/* 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... :-| */ +{ + printf("/*********************************************\\\n"); + printf("|* Section d'aide pour le programme 'csvfc'. *|\n"); + printf("|* *|\n"); + printf("|* csvfc [-h|--help] *|\n"); + printf("|* *|\n"); + printf("\\*********************************************/\n"); + printf("Pour manipuler ce programme, il suffit d'avoir"); + printf(" le fichier 'csvin.csv' dans le meme repertoire.\n\n"); + printf(" Contenu de 'csvin.csv' :\n"); + printf("\"X\",\"Y\",\"Z\",\"U\",\"V\",\"P\"\n"); + printf("1,1,1,1,1,1\n"); + printf("2,2,2,2,2,2\n"); + printf("3,3,3,3,3,3\n"); + printf("4,4,4,4,4,4\n"); + printf("5,5,5,5,5,5\n"); + printf("6,6,6,6,6,6\n"); + printf("7,7,7,7,7,7\n"); + printf("8,8,8,8,8,8\n\n"); + printf("Apres ca, on execute 'csvf'.\n"); +} +/* 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 +#include +#include +/* Opérateur puissance. */ +int puis(int nb, int i) +{ + /* Base. */ + int b=nb; + /* Multiplications. */ + if(i!=0) + { + for(long int j=0; j57) + { + /* Si non, erreur! */ + return EXIT_FAILURE; + } + } + /* Nombre littéralement inversé. */ + int nb=0; + for(long int i=0; i +/* En-tête : Bibliothèque standard pour "rand()" et "random()". */ +#include +/* Taille du tableau. */ +#define N 128 +/* Valeur aléatoire maximale. */ +#define MAXI 2147483648 +/* Fonction principale. + * Un programme pour étudier la fonction "random()", + * la distribution uniforme et celle normale. + */ +int main(void) +{ + unsigned i ; + unsigned j ; + short int flag0 = 0 ; + short int flag1 = 1 ; + long int maximum = 0 ; + long int minimum = MAXI ; + long int alea ; + unsigned table[N] ; + /* Remplissage de zéros. */ + for (i=0;i MAXI / N * j && alea < MAXI / N * (j+1)) + { + table[j] = table[j] + 1 ; + j = N ; + } + } + /* Recherche des extremums. */ + if (maximum < alea) + { + maximum = alea ; + } + if (minimum > alea) + { + minimum = alea ; + } + /* printf("N%02u = %010ld\n", i, alea) ; */ + } + printf("Highest number : %ld\n", minimum) ; + printf("Highest number : %ld\n", maximum) ; + /* Multiples binaires. */ + alea = 1 ; + i = 0 ; + while (alea < maximum) + { + alea = alea * 2 ; + i = i + 1 ; + if (alea > minimum && flag1 == 1) + { + printf("2^%2u = %ld\n", i, alea) ; + flag1 = 0 ; + } + } + printf("2^%2u = %ld\n", i, alea) ; + /* Graphe */ + printf("Graph :\n\n") ; + for (i=0;i +#include +#include +/* Une entrée numérique? */ +int estNumerique(char chaine[]) +{ + size_t taille = strlen(chaine); + for(size_t i=0; i0; i=i-1) + { + printf(" "); + } + } + if(no==1) + { + for(unsigned long int i=compteur; i>0; i=i-1) + { + printf("____"); + } + } +} +/* Fonction principale */ +int main(int argc, char* argv[]) +{ + if(argc<2) + { + printf("Pas d'argument? Ça sent le sapin!\n"); + return EXIT_FAILURE; + } + /* Aide */ + if(!strcmp(argv[1],"-h")||!strcmp(argv[1],"--help")) + { + printf("Commande : "); + printf("%s",argv[0]); + printf(" -h | --help | NOMBRE\n"); + printf("-h | --help\t\tDonne l\'aide.\n"); + printf("NOMBRE\t\tConstruit l\'arbre sur NOMBRE étages.\n"); + return EXIT_SUCCESS; + } + if(!estNumerique(argv[1])) + { + printf("Tape un nombre!\n"); + return EXIT_FAILURE; + } + /* Texte => Nombre */ + unsigned long int hauteur = strtoul(argv[1],argv,10); + /* Étoile du soir */ + multibloc(hauteur-1,0); + printf(" __/\\__\n"); + multibloc(hauteur-1,0); + printf(" \\ /\n"); + multibloc(hauteur-1,0); + printf(" \\/\\/\n"); + multibloc(hauteur-1,0); + printf("____/ \\____\n"); + /* Étages */ + for(unsigned long int i=hauteur-1; i>0; i=i-1) + { + /* Ligne 0 */ + multibloc(i,0); + printf("\\ "); + multibloc(2*(hauteur-i),0); + printf(" /\n"); + /* Ligne 1 */ + multibloc(i-1,0); + multibloc(1,1); + printf("_\\"); + multibloc(2*(hauteur-i),0); + printf("/_"); + multibloc(1,1); + printf("\n"); + } + /* Dernier étage. */ + printf("\\ "); + multibloc(2*hauteur,0); + printf(" /\n \\"); + multibloc(2*hauteur,1); + printf("/ \n"); + /* Tronc */ + for(unsigned long int i=0; i +#include +#define VERBOSE_MASKS_SIZE 3 +#define HELP_MASKS_SIZE 3 +struct t_weechat_plugin *weechat_plugin = NULL; +WEECHAT_PLUGIN_NAME("WCPlus"); +WEECHAT_PLUGIN_DESCRIPTION("Juste une autre extension"); +WEECHAT_PLUGIN_AUTHOR("Alnotz "); +WEECHAT_PLUGIN_VERSION("0.2"); +WEECHAT_PLUGIN_LICENSE("GNU GPLv3"); +WEECHAT_PLUGIN_PRIORITY(999); +void arg_test(int argc, + char **argv) +{ + weechat_printf(NULL, "%s###########%s", weechat_color("*green"), weechat_color("reset")); + weechat_printf(NULL, "%sTotal d’arguments: %s%d%s", weechat_color("red"), weechat_color("*blue"), argc, weechat_color("reset")); + for(int i=0; i