الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج من تصميمي يقوم بطباعة اسمك على شكل نجوم

بدأه باسم الموجي في 26 أبريل 2008 · 7 رد · 1,673 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا البرنامج تقوم بإدخال اسمك إليه فيقوم بطباعته على الشاشة على صورة نجوم

#include<stdio.h>
#include<conio.h>
#include<ctype.h>   
void charA(int i,int n);
void charB(int i,int n);
void charC(int i,int n);
void charD(int i,int n);
void charE(int i,int n);
void charF(int i,int n);
void charG(int i,int n);
void charH(int i,int n);
void charI(int i,int n);
void charJ(int i,int n);
void charK(int i,int n);
void charL(int i,int n);
void charM(int i,int n);
void charN(int i,int n);
void charO(int i,int n);
void charP(int i,int n);
void charQ(int i,int n);
void charR(int i,int n);
void charS(int i,int n);
void charT(int i,int n);
void charU(int i,int n);
void charV(int i,int n);
void charW(int i,int n);
void charX(int i,int n);
void charY(int i,int n);
void charZ(int i,int n);

void main()
{
int i=0,j=0,n;
		char name[11];

clrscr();

printf("The size recommended to be 7\n");
printf("Enter the size : ");
scanf("%i%c",&n);
n=n+1-n%2;
printf("The name recommended to be less than six characters\n");
printf("Please Enter your name : ");
		do
		{
  scanf("%c",&name);
				name=toupper(name);
}while(name[i++] != 10 && i<11);

for(i=0;i<n;i++)
		{
  printf("\n");
				j=0;
  do
				{
   switch(name[j])
   {
	case 'A':
	 charA(i,n);
										printf("  ");
	 break;
	case 'B':
	 charB(i,n);
										printf("  ");
	 break;
	case 'C':
	 charC(i,n);
										printf("  ");
	 break;
	case 'D':
	 charD(i,n);
										printf("  ");
	 break;
	case 'E':
	 charE(i,n);
										printf("  ");
	 break;
	case 'F':
	 charF(i,n);
										printf("  ");
	 break;
	case 'G':
	 charG(i,n);
										printf("  ");
	 break;
	case 'H':
	 charH(i,n);
										printf("  ");
	 break;
	case 'I':
	 charI(i,n);
										printf("  ");
	 break;
	case 'J':
	 charJ(i,n);
										printf("  ");
	 break;
	case 'K':
	 charK(i,n);
										printf("  ");
	 break;
	case 'L':
	 charL(i,n);
										printf("  ");
	 break;
	case 'M':
	 charM(i,n);
										printf("  ");
	 break;
	case 'N':
	 charN(i,n);
										printf("  ");
	 break;
	case 'O':
	 charO(i,n);
										printf("  ");
	 break;
	case 'P':
	 charP(i,n);
										printf("  ");
	 break;
	case 'Q':
	 charQ(i,n);
										printf("  ");
	 break;
	case 'R':
	 charR(i,n);
										printf("  ");
	 break;
	case 'S':
	 charS(i,n);
										printf("  ");
	 break;
	case 'T':
	 charT(i,n);
										printf("  ");
	 break;
	case 'U':
	 charU(i,n);
										printf("  ");
	 break;
	case 'V':
	 charV(i,n);
										printf("  ");
	 break;
	case 'W':
	 charW(i,n);
										printf("  ");
	 break;
	case 'X':
	 charX(i,n);
										printf("  ");
	 break;
	case 'Y':
	 charY(i,n);
										printf("  ");
	 break;
	case 'Z':
	 charZ(i,n);
										printf("  ");
	 break;
   }
				}while(name[j++] != 10 && j<10);
}
		printf("\n\nIf the name doesn't appear correctly reduce size and/or number of characters\n");
getch();
}

void charA(int i,int n)
{
		int j;
if (i>=0 && i<(n+1)/2)
{
  for(j=0;j<((n+1)/2-1-i);j++)
   printf(" ");
  printf("*");
  for(j=0;j<(2*i-1);j++)
   if(i==0 || i==((n+1)/2-1))
	printf("*");
   else
	printf(" ");
  if (i != 0)
   printf("*");
  for(j=0;j<((n+1)/2-1-i);j++)
   printf(" ");
}
else
{
				printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
  printf("*");				
}
}

void charB(int i,int n)
{
int j;
if (i==0 || i==n/2 || i==n-1)
{
  for(j=0;j<n-2;j++)
   printf("*");
  if (n>7)
   printf("  ");
  else
				 printf(" ");
		}
else if (i==1 || i==n/2-1 || i==n/2+1 || i==n-2)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("*");
  if (n>7)
				 printf(" ");
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
				 printf(" ");
  printf("*");
		}
}

void charC(int i,int n)
{
int j;
if (i==0 || i==n-1)
{
  printf(" ");
  for(j=0;j<n-3;j++)
   printf("*");
  printf(" ");
}
else if (i==1 || i==n-2)
{
  printf("*");
  for(j=0;j<n-3;j++)
   printf(" ");

				printf("*");
}
else
		{
  printf("*");
  for(j=0;j<n-2;j++)
				 printf(" ");
		}
}

void charD(int i,int n)
{
int j;
if (i==0 || i==n-1)
{
  for(j=0;j<n-2;j++)
   printf("*");
  printf("  ");
		}
else if (i==1 || i==n-2)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("* ");  
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
				 printf(" ");
  printf("*");
		}
}

void charE(int i,int n)
{
		int j;
if (i==0 || i==n/2 || i==n-1)
  for(j=0;j<n-1;j++)
   printf("*");
else			
		{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
		}
}

void charF(int i,int n)
{
		int j;
if (i==0 || i==n/2)
  for(j=0;j<n-1;j++)
   printf("*");
else			
		{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
		}
}

void charG(int i,int n)
{
int j;
if (i==0 || i==n-1)
{
  printf(" ");
  for(j=0;j<n-3;j++)
   printf("*");
  for(j=0;j<(n-5)/2+2;j++)
   printf(" ");
}
else if (i==1 || (i>n/2 && i<n-1))
{
  printf("*");
  for(j=0;j<n-3;j++)
   printf(" ");

  printf("*");
  for(j=0;j<(n-5)/2+1;j++)
				 printf(" ");
}
else if (i==n/2)
{
  printf("*");
  for(j=0;j<(n-5)/2+1;j++)
   printf(" ");
				for(j=0;j<n-2;j++)
   printf("*");
		}
		else
		{
  printf("*");
  for(j=0;j<(3*n-5)/2-1;j++)
				 printf(" ");
		}
}

void charH(int i,int n)
{
		int j;
if (i==n/2)
  for(j=0;j<n-1;j++)
   printf("*");
else			
		{
  printf("*");
  for(j=0;j<n-3;j++)
   printf(" ");
				printf("*");
		}
}

void charI(int i,int n)
{
		int j;
if (i==0 || i==n-1)
  for(j=0;j<n-2;j++)
   printf("*");
else			
		{
  for(j=0;j<n/2-1;j++)
				 printf(" ");
  printf("*");
  for(j=0;j<n/2-1;j++)
   printf(" ");
		}
}

void charJ(int i,int n)
{
int j;
if (i==n-1)
{
  printf(" ");
  for(j=0;j<n-3;j++)
				 printf("*");
  printf(" ");
}
else if (i==n-2)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("*");
		}
else if (i==0)
{
  for(j=0;j<(n-1)/2;j++)
   printf(" ");
  for(j=0;j<(n-1)/2;j++)
				 printf("*");
		}
else
		{
  for(j=0;j<n-2;j++)
   printf(" ");
  printf("*");
		}
}

void charK(int i,int n)
{
int j;
printf("*");
if (i<n/2)
		{
  for(j=0;j<n/2-i;j++)
   printf(" ");
  printf("*");
  for(j=0;j<i;j++)
   printf(" ");
}
else
{
  for(j=0;j<i-n/2;j++)
   printf(" ");
  printf("*");
  for(j=0;j<n-1-i;j++)
   printf(" ");
		}
}

void charL(int i,int n)
{
int j;
		printf("*");
		for(j=0;j<n-1;j++)
		 if(i==n-1)
   printf("*");
  else 
   printf(" ");
}

void charM(int i,int n)
{
		int j;
printf("*");
if (i==0 || i==n-1)
  for(j=0;j<2*n-5;j++)
				 printf(" ");
else
{
  for(j=0;j<i-1;j++)
   printf(" ");
  printf("*");
				for(j=0;j<2*n-5-2*i;j++)
   printf(" ");
				if (i != n-2)
   printf("*");
  for(j=0;j<i-1;j++)
   printf(" ");  
}
		printf("*");
}

void charN(int i,int n)
{
int j;
printf("*");
if (i==0 || i==n-1)
  for(j=0;j<n-2;j++)
				 printf(" ");
else
{
  for(j=0;j<i-1;j++)
   printf(" ");
  printf("*");
				for(j=0;j<n-2-i;j++)
   printf(" ");				  
}
		printf("*");

}

void charO(int i,int n)
{
		int j;
if (i==0 || i==n-1)
{
  printf(" ");
  for(j=0;j<n-2;j++)
   printf("*");
				printf(" ");
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
				printf("*");
}
}

void charP(int i,int n)
{
int j;
if (i==0 || i==n/2)
{
  for(j=0;j<n-2;j++)
   printf("*");
  if (n>7)
   printf("  ");
  else
				 printf(" ");
		}
else if (i==1 || i==n/2-1)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("*");
  if (n>7)
				 printf(" ");
}
else if (i>1 && i<n/2-1)
{
  printf("*");
  for(j=0;j<n-2;j++)
				 printf(" ");
  printf("*");
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
  if (n>7)
				 printf(" ");
		}
}

void charQ(int i,int n)
{
		int j;
if (i==0 || i==n-1)
{
  printf(" ");
  for(j=0;j<n-2;j++)
   printf("*");
  if (i==n-1)
   printf("*");
  else
				 printf(" ");
}
else
{
  printf("*");
  for(j=0;j<n-3;j++)
   printf(" ");
  if (i==n-2)
   printf("*");
  else
				 printf(" ");
  printf("*");
}
}

void charR(int i,int n)
{
int j;
if (i==0 || i==n/2)
{
  for(j=0;j<n-2;j++)
   printf("*");
  printf("  ");
}
else if (i==1 || i==n/2-1 || i==n/2+1)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("* ");
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
				 printf(" ");
  printf("*");
		}
}

void charS(int i,int n)
{
		int j;
if (i==0 || i==n-1)
{
  printf(" ");
  for(j=0;j<n-3;j++)
				 printf("*");
  printf(" ");
}
else if (i==1 || i==n-2)
{
  printf("*");
  for(j=0;j<n-3;j++)
				 printf(" ");
  printf("*");
}
else if (i==n/2)
{
  for(j=0;j<(n-3)/2;j++)
   printf(" ");
  printf("**");
  for(j=0;j<(n-3)/2;j++)
   printf(" ");
}
else if (i>1 && i<n/2)
{
  for(j=0;j<i-1;j++)
   printf(" ");
  printf("*");
  for(j=0;j<n-1-i;j++)
   printf(" ");
}
else
{
  for(j=0;j<i;j++)
   printf(" ");
  printf("*");
  for(j=0;j<n-2-i;j++)
   printf(" ");
		}
}

void charT(int i,int n)
{
		int j;
if (i==0)
  for(j=0;j<n;j++)
   printf("*");
else			
		{
  for(j=0;j<n/2;j++)
				 printf(" ");
  printf("*");
  for(j=0;j<n/2;j++)
   printf(" ");
		}
}

void charU(int i,int n)
{
		int j;
if (i==n-1)
{
  printf(" ");
  for(j=0;j<n-2;j++)
   printf("*");
				printf(" ");
}
else
{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
				printf("*");
}
}

void charV(int i,int n)
{
		int j;
if (i<=n/2)
{
  printf("*");
  for(j=0;j<n-2;j++)
   printf(" ");
				printf("*");
}
else if (i==n-1)
{
  for(j=0;j<n/2;j++)
   printf(" ");
				printf("*");
  for(j=0;j<n/2;j++)
   printf(" ");
		}
else
{
  for(j=0;j<i-n/2;j++)
   printf(" ");
  printf("*");
  for(j=0;j<2*n-2*i-3;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<i-n/2;j++)
   printf(" ");
		}
}

void charW(int i,int n)
{
int j;
		printf("*");
if (i==0 || i==n-1)
  for(j=0;j<2*n-5;j++)
   printf(" ");
else if (i==1)
		{
  for(j=0;j<n-3;j++)
   printf(" ");
  printf("*");
  for(j=0;j<n-3;j++)
   printf(" ");
}
else
{
  for(j=0;j<n-2-i;j++)
   printf(" ");
  printf("*");
  for(j=0;j<2*i-3;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<n-2-i;j++)
   printf(" ");				
		}
		printf("*");

}

void charX(int i,int n)
{
		int j;
if (i==n/2)
{
  for(j=0;j<i;j++)
   printf(" ");
  printf("*");
  for(j=0;j<i;j++)
				 printf(" ");
}
else if (i<n/2)
{
  for(j=0;j<i;j++)
   printf(" ");
  printf("*");
				for(j=0;j<n-2*i-2;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<i;j++)
				 printf(" ");
}
else
{
  for(j=0;j<n-1-i;j++)
   printf(" ");
  printf("*");
				for(j=0;j<2*i-n;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<n-1-i;j++)
				 printf(" ");
		}
}

void charY(int i,int n)
{
		int j;
if (i<n/2)
{
  for(j=0;j<i;j++)
   printf(" ");
  printf("*");
				for(j=0;j<n-2*i-2;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<i;j++)
				 printf(" ");
}
else
{
  for(j=0;j<n/2;j++)
   printf(" ");
  printf("*");
  for(j=0;j<n/2;j++)
				 printf(" ");
}
}

void charZ(int i,int n)
{
int j;
if (i==0 || i==n-1)
  for(j=0;j<n;j++)
   printf("*");
else
{
  for(j=0;j<n-1-i;j++)
				 printf(" ");
				printf("*");
  for(j=0;j<i;j++)
				 printf(" ");
		}
}

اتمنى أن يعجبكم البرنامج

نظرا لطول البرنامج قمت بوضعه في المرفقات

ملحوظة : في البداية سيطلب منك البرنامج حجم الخط ثم سيطلب منك كتابة الكلمة التي تريد تحويلها إلى نجوم

asteriskName.rar

تم تعديل هذه المشاركة بواسطة باسم الموجي في 26 أبريل 2008 في 18:23

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#2

اتعرف افضل شئ ... انه يتم رسم الحروف ديناميكيا .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

برنامج جميـــــــــــــل

شوقتني لأيّام الدوس، وأيام التربو سي++

#4

فكرة مبتكرة أخي باسم

لكن , هل توجد طريقة لاختصار العمليات المتشابهة المكررة ؟

دوارة مثلا ؟

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#5
اقتباس
فكرة مبتكرة أخي باسم

لكن , هل توجد طريقة لاختصار العمليات المتشابهة المكررة ؟

دوارة مثلا ؟

ممكن يتم وضعها في دالة ويتم استدعاء الدالة لتنفيذ العمليات المتشابهة باستخدام بارامتر مثلا

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#6

مشكووور

حلو كتيرر تسلم

انا بجربه

استغفر الله واتوب اليه

اللهم اتنا في الدنيا حسنة وفي الاخرة حسنة وقنا عذاب النار

لااله الا انت سبحانك اني كنت من الظالمين

اللهم اني اسألك الهدى والتقى والعفاف والغنى

اللهم استجب دعـــــــــــــائي الصالح يارب

#7

البرنامج رائع وأعجبتني فكرة تحديد حجم الخط.

على فكرة البرنامج لا يعمل مع vs 2008 لا أدري ما السبب لكنه (يكرش) :) أقصد it crashes ----> ماعرفت أعربها.

جربته مع ++Dev وعمل تمام.

لكن الدالة clrscr لم يجدها المترجم

يمكن وضع CLS")system") الموجودة في مكتبة stdlib.h .

#8

برنامج أكثر من رائع وشكرأ علي الكود الذي بذلت فيه مجهود كبير

فأنت قمت بعمل كل الحروف بصورة رائعة.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…