Un sapin de noel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 618 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

Et c'est quoi le nom du programme ?
Messages postés
14384
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 juin 2020
413 > Bundy
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
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 :)
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
9
une petite capture, non?
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 :)
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.