Un sapin de noel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 26 696 fois - Téléchargée 30 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

Irsla
Messages postés
8
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2003
-
ca va c'etait pas trop dur la piscine ? ;)
bon courage pour la bistro ;)lol
alimdi
Messages postés
7
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
7 novembre 2003
-
Ca va je m'en suis pas trop mal sorti.. :)
Euhh la zeromatique je suis entrain, j'essayerais de la poster d'ailleurs :)
cs_LordBob
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
8 -
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
-
Copie, compile, lance et tu verra le joli sapin :)
Et c'est quoi le nom du programme ?

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.