سلام ممنون میشم که برنامه ای به زبان C برام بنویسید که حروف انگلیسی کوچک را با کارکتر ستاره زیر هم چاپ کنه.
مثلا حرفb
*
*
****
****
سلام ممنون میشم که برنامه ای به زبان C برام بنویسید که حروف انگلیسی کوچک را با کارکتر ستاره زیر هم چاپ کنه.
مثلا حرفb
*
*
****
****
سلام
ببینید شما با این کارتون میخواهید به نحوی کار یک فونت ساز رو انجام بدید.
بهترین راه براتون استفاده از آرایه برای تک تک کاراکتر ها است.
ببینید نگفتم آخرین راه بلکه بهترین و راحتترین راه این هست . برای کاراکتر b کد رو قرار میدم برای کاراکتر های دیگه خودتون ادامه بدید.
bool *b_ch ={ // 8*8
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,1,1,1,1,0,0,
1,1,1,0,0,1,1,0,
1,1,1,1,1,1,1,0
};
void PrintChar(bool *b_chptr )
{
for( int j=0; j<8; j++){
cout<<"\n";
for( int i=0; i<8; i++)
if( b_chptr[j*8+i] )
cout<<"*";
else
cout<<" ";
}
}
آرایه بالا باید 8 در 8 در نظر گرفته بشود.
موفق باشید.(دست براتون کد رو ارسال کردم اگه ایرادی داشت خودتون اصلاح کنید فقط یک کار ساده چاپ هست.)
آخرین ویرایش به وسیله tdkhakpur : دوشنبه 11 خرداد 1388 در 20:54 عصر دلیل: املا
سلام خیلی ممنونم از لطفتون
اقا اين خط خطا ميدهههههههههههه
void PrintChar(bool *b_chptr )
ميگه b_chaptrچيه؟
ميشه با اينلود و بقيه جزيات كامل بنويسي تراخداااااااااااااااااااا ااااجانهركي دوست داري
سلام من تبديل كردم (درضمن من با برنامه را مينويسمC++ win)
#include<iostream.h>
int main(){
int b[8][8];
int *b_ch ={ // 8*8
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,1,1,1,1,0,0,
1,1,1,0,0,1,1,0,
1,1,1,1,1,1,1,0
};
void PrintChar(int *b_chptr )
{
for( int j=0; j<8; j++){
cout<<"\n";
for( int i=0; i<8; i++)
if( b_chptr[j*8+i] )
cout<<"*";
else
cout<<" ";
}
}
بازم خطا ميده
شرمنده ولي ميشه كمكم كني دعات ميكنم
کد تان ایراد داشت، اصلاح شد:
#include<iostream.h>
int b_ch [] ={ // 8*8
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,0,0,0,0,0,0,
1,1,1,1,1,1,0,0,
1,1,1,0,0,1,1,0,
1,1,1,1,1,1,1,0
};
void PrintChar(int *b_chptr)
{
for( int j=0; j<8; j++){
cout<<"\n";
for( int i=0; i<8; i++)
if( b_chptr[j*8+i] )
cout<<"*";
else
cout<<" ";
}
}
int main()
{
PrintChar(b_ch);
return 0;
}
جناب(sasan_vm)
خيلي ماهيييييييييييييييييييييي يييييييي
دعات ميكنم تشكر دستت درد نكنه خدا هرچي بخواي بهت بده نجاتم دادي
خيلي خوبيييييييييييييييييييييي يي
اقايون خانما جسارت است
ميشه براي تمام اعاد انگليسي بخايم چاپ كنه چكار كنم
خودم يه خورده تغير دادم a.b. را چاپ ميكنه ولي ميخوام مثل اگر حرف w را زدم w را با ستاره نشان بده يعني تصادفي حروف را انتخاب كنيم و چاپ كنه با ستاره منون ميشم بگين چطوري
يك دنيا ممنون
برای این کار باید با سیستم فونت dos آشنا باشید، در سیستم dos (خدا رحمتش کنه) شکل و شمایل کاراکتر ها (font) در جدولی 4KB ذخیره می شه. که هنگام بوت سیستم این جدول به آدرسی خاصی در حافظه منتقل میشه و نمایش هر کاراکتر Ascii با ارجاع به این جدول خواهد بود که
شما می توانید با تغییر این جدول فونت خودتان را در سیستم نصب کنید. (همه فارسی ساز های dos در ان زمان همین کار را می کردند)
در این جدول برای هر کاراکتر 16 بایت در نظر گرفته شده است که برای 256 کاراکتر Ascii می شود 4KB ، این 16 بایت را بصورت یک ماتریس 16 در 8 در نظر بگیرید، 16 سطر و 8 ستون هر خانه این ماتریس می تواند صفر (خاموش) یا یک (روشن) باشد که خانه های روشن نمایش کارکتر مورد نظر است. (تصویر ضمیمه)
شما احتیاج به خواندن این جدول دارید و برای این کار باید با interrupt های dos و نحوه استفاده ان اشنا باشید. در دوران دانشجویی یک برنامه font editor برای dos نوشتم که ضمیمه شده (این کد خیلی قدیمی و مربوط به زمان دانشجویی هست هر گونه خندیدن ممنوع ).
کلاس TFont فونت نصب شده در سیستم را به 4KB حافظه داخلی خودش کپی میکند و با 2 تابع getChar , setChar امکان خواندن و نوشتن کاراکتر مورد نظر در جدول را می دهد. (هر کاراکتر را باید بصورت یک ارایه 16 بایتی منتقل کنید.)
برای نمایش هر کاراکتر باید یک ارایه 16x8 داشته باشید و می توانید از تابع setTable کلاس TMapFont استفاده کنید. بعد از قرار گرفتن نمای کاراکاتر مورد نظر (در ارایه 16x8) می توانید هر سطر ان را در یک خط چاپ کنید.
در ضمن در dos 2 تا جدول فونت موجود است ولی در ان واحد فقط یکی فعال میشود (رجوع شود به TFont::active) در برنامه FontEditor مشهود است. برنامهII FontEdit با استفاده از Borland C++ 3.1 , Turbo Vision 2 نوشته شده است.
اقاي ساسان ولي من ميخوام مثلا اسم ali را وارد كنم اسم را با ستاره نشان دهد با زبان ++c
متشكرم
سلام . ميشه لطفا كمي كمك كنيد تا برنامه چاپ حروف به شكل ستاره حروفو از ورودي بگيره مثل يك اسم و در خروجي در يك سطر به شكل ستاره چاپ كنه ؟ خواهش مي كنم كمكم كنيد.
اين يك برنامه ساده و ابتدايي است كه نام كاربر را مي گيرد و به صورت ستاره چاپ مي كند.
در همين تايپيك ( پست 10 ) اطلاعات خوبي درباره ساختار فونتها و نرم افزار ويرايش فونت داده شده است كه مي شود به آنها مراجعه كرد. توضيحات دست و پا شكسته يي هم در برنامه من وجود دارد.
اگر كسي اين برنامه را كامل تر كرد در همين تايپيك قرار دهد.
ببخشيد . ميشه راهنمايي كنيد چه طوري حروف تو يك سطر چاپ شند نه زير هم ؟ ممنون ميشم
ممنون از راهنماييتون .
تمام عملیات در تابع print_star انجام می شود و کدی که تابع gotoxy را کنترل می کند 10 خط هم نمی شود. ممکن است اگر برنامه نویس بهتری اینکار را انجام میداد کد خواناتری می نوشت به هر حال توضیح مختصری را برایت توی یک فایل word ضمیمه کردم.
سلام . شرمنده دوست عزيز كه زودتر ازتون بابت توضيحاتتون تشكر نكردم . اميد وارم ناراحت نشده باشيد . بازم ممنون از لطفتون . موفق باشيد
خداييش خيلي خوب توضيح دادي ممنون . اگه سوالي بود ازتون ميپرسم .
سلام . من فايل ضميمه رو خواندم و خيلي خوب بود . براي چاپ همه ي حروف قطعه تابع زير كافيه ؟ يه فايل ضميمه كردم كه كدي هست كه راهنمايي كردين
يه فايل هم خودم نوشتم و كامل كردم ضميمه كردم اگه امكانش هست ببينيد و اشكالش رو بگين تو كجاست . حروف رو چاپ ميكنه ولي زير هم نه در يك سطر . ممنون ميشم .
سلام به همه ي دوستان توروخدا يكي يه نظري در باره سوالي كه داشتم بده كدم چه مشكلي داره كه حروف زير هم چاپ ميشه نه در يك سطر ؟
سلام
برنامه ای رو گه می خواید می تونید تو سایت www.downloadproje.com پیدا کنید. تو این سایت یه سری برنامه برای همین موضوع گذاشته شده.
موفق باشید.
از همه دوستن كهلطف دارن و در حل اين سوال كمك ميكنند تشكر
سلام خيلي ممنونم از شما دوست عزيز farzadyazdan .ممنون
اين آدرستون توش برنامه ي مورد نظر ما نبود يه برنامه بود كه يه حرفو چاپ ميكرد ولي ما ميخوايم يا اسمو توي يك سطر چاپ كنه
چرا این خطا میاد؟
1 21 F:\project\Untitled1.c [Error] iostream.h: No such file or directory
جان من کمک کنید
این کد برای C# هم هست سی شارپ