Un sapin de noel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 31 305 fois - Téléchargée 32 fois

Contenu du snippet

Il dessine un joli sapin de noel sur la sortie standard :)

Source / Exemple :


/*

    • sapin.c for Sapin de Noel
    • Made by ali mdidech
    • Started on Sat Oct 11 14:19:02 2003
    • Last update Tue Oct 21 03:37:25 2003
  • /
#include <stdio.h> void my_putchar(char c) { write(1, &c, 1); } int last_line(int taille) { int i; int jump; int lastline; lastline = 7; jump = 6; for (i = 1; i < taille; i++) { if ((i % 2) != 0) lastline += jump; else if (i != 1) { jump += 2; lastline += jump; } } return (lastline); } int first_line(int taille) { int i; int jump; int firstline; firstline = 1; jump = 4; for (i = 1; i < taille; i++) { if ((i % 2) != 0) firstline += jump; else if (i != 1) { jump += 2; firstline += jump; } } return (firstline); } void draw(int num, int taille) { int i; int j; int jump; int blank; int stars; int hauteur_branche; blank = last_line(taille) / 2 - first_line(num) / 2; stars = first_line(num) - 1; jump = 4; hauteur_branche = num + 3; for (i = 0; i < hauteur_branche; i++) { for (j = 0; j < blank; j++) my_putchar(' '); for (j = 0; j < stars; j++) my_putchar('*'); blank--; stars += 2; my_putchar('*'); my_putchar('\n'); } } void draw_tronc(int taille) { int i; int j; int blank; int largeur_tronc; int hauteur_tronc; if ((taille % 2) != 0) largeur_tronc = taille; else largeur_tronc = taille + 1; hauteur_tronc = taille; blank = (last_line(taille) / 2) - (largeur_tronc / 2); for (i = 0; i < hauteur_tronc; i++) { for (j = 0; j < blank; j++) my_putchar(' '); for (j = 0; j < largeur_tronc; j++) my_putchar('|'); my_putchar('\n'); } } void sapin(int taille) { int i; if (taille > 0) { i = 1; while (i <= taille) { draw(i, taille); i++; } draw_tronc(taille); } } int trans(char *arg, int length) { int res; int p; res = 0; p = 1; res += (arg[(length--)] - '0'); while ((length >= 0) && (arg[length] != '-')) { p *= 10; res += ((arg[length--] - '0') * p); } return (res); } int main(int argc, char **argv) { int length; if (argc == 2) { length = 0; while(argv[1][length] != 0) length++; length--; sapin(trans(argv[1], length)); } else printf("Veuillez entrer la taille du sapin\n"); }

Conclusion :


Tapez le nom du programme avec un entier en argument pour specifier la taille du sapin :)

A voir également

Ajouter un commentaire Commentaires
Et c'est quoi le nom du programme ?
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596 > Bundy
16 déc. 2016 à 19:33
BONSOIR si si un peu de politesse est appréciée par ici.

Ça n'est pas un programme, c'est un snippet, c'est à dire un petit bout de code source à intégrer dans un projet. C'est déposer dans la catégorie C/C++, le type du fichier est .c alors n'importe quel EDI et/ou compilateur C devrait convenir à utiliser ce snippet
alimdi
Messages postés
7
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
7 novembre 2003

7 nov. 2003 à 03:44
Copie, compile, lance et tu verra le joli sapin :)
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
4 nov. 2003 à 21:17
une petite capture, non?
alimdi
Messages postés
7
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
7 novembre 2003

4 nov. 2003 à 02:04
Ca va je m'en suis pas trop mal sorti.. :)
Euhh la zeromatique je suis entrain, j'essayerais de la poster d'ailleurs :)
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.