تبلیغات
پروژه های رایگان برنامه نویسی و آموزش زبان C++ و C# - آموزش برنامه نویسی C جلسه 3
 
پروژه های رایگان برنامه نویسی و آموزش زبان C++ و C#
برنامه بدون خطا رویاست Program is impossible without an error
درباره وبلاگ


انجام پروژه های برنامه نویسی سی و سی پلاس پلاس و سی شارپ

انجام پروژه های الکترونیکی و رباتیکی

مدیر وبلاگ : سجاد سلطانی
مطالب اخیر
نویسندگان
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :














free counters

انتقال مکان نما در صفحه خروجی


گاهی ممکن است بخواهید مکان نما را در صفحه خروجی به محل خاصی منتقل کنید و اطلاعات را از آنجا دریافت و یا چاپ کنید برای این منظور از تابع gotoxy() استفاده می کنیم که در فایل conio.h قرار دارد و به صورت زیر است


Gotoxy(int x , int y);


کهx  شماره ستون و y شماره سطر می باشد .

 

چاپ اعداد نوع short و long


برای چاپ اطلاعات عددی از نوع long و short از کاراکترهای خاصی استفاده می شود کاراکتر L به همراه d برای چاپ مقادیر long و کاراکتر h به همراه d برای چاپ مقادیر short به کار می رود البته شکلهای دیگری هم داره ولی همین بسه .

 

مثال :


#include <conio.h>
#include <stdio.h>


int main()
{
            short int x = 15 ; 
            long int m = 35789 ; 
            clrscr() ;
            gotoxy(20,10) ;
            printf("\n x=%hd, m=%ld",x,m) ;
            getch() ;
            return 0 ;
}


تعیین طول میدان در تابع Printf()


با استفاده از امکانات دیگری که در تابع printf() وجود دارد ، می توان مشخص کرد که هر کدام از اطلاعاتی که به خروجی می رود چند بایتاز فضای خروجی را اشغال کنند . فضایی را که هر قلم اطلاعات اشغال می کند طول میدان خروجی می گویند .


طول میدان مقادیر صحیح به صورت %wd است که w طول میدان می باشد اگر طول میدان بیشتر از تعداد ارقام باشد عدد در سمت راست میدان قرار می گیرد و سمت چپ آن خالی می ماند و اگر طول میدان کمتر از تعداد ارقام باشد طول میدان نادیده گرفته می شود و تمام ارقام به خروج می رود .


طول مقادیر اعشاری به صورت %w.df است که در آن w طول کل میدان و d تعداد ارقام اعشار و البته نقطه هم یکی از تعداد طول میدن است . اگر تعداد ارقام اعشار از طول میدان اعشار بیشتر باشد قسمت اعشار گرد می شود یعنی اگر بزرگتر از 5 باشد یک رقم به قسمت اعشار اضافه می شود و اگر کمتر باشد رقم حذف می شود .

 

 

مثال :


#include <stdio.h>
#include <conio.h>


int main()
{
        int x = 125 , y = 1468 ;
        float m = 327.348, n = 4351.32 ;


         clrscr() ;
        printf(“x = %5d, y = %3d, sum = %d”,x,y,x+y) ;
        printf(“\n m = %7.2f, n = %6.2f”,m,n) ;
        printf(“\n%5.10s”,”this is a sample output.”) ;
        getch() ;


        return 0 ;
}


اگه خودتون این مثال و تست کنید بهتر می فهمید چه اتفاقی می افته .


اگر برای چاپ یک عدد صحیح ، از طول میدانی به شکل %w.dd استفاده شود ، d حداقل طول میدان را مشخص می کند . اگر طول میدان رشته ها به صورت %w.ds باشد ، w حداقل طول میدان و d حداکثر کاراکترهای قابل چاپ را مشخص می کند .

 

 

ورود اطلاعات توسط تابع scanf()


این تابع برای ورود اطلاعات از صفحه کلید مورد استفاده قرار می گیرد و یک تابع همه منظوره در ورود داده ها است .


الگوی این تابع در فایل stdio.h قرار دارد .این تابع ، تمام انواع داده ها را می تواند از ورودی بخواند و آنها را در حافظه ذخیره نماید . اگر این تابع با موفقیت اجرا شود ، تعداد متغیرهایی را که از ورودی خوانده است برمی گرداند و در صورت بروز خطا ، EOF توسط تابع برگردانده می شود . EOF مقداری است که بیانگر عدم اجرای صحیح تابع scanf() است . این تابع به صورت زیر به کار می رود :


 ;(< عبارت 2 > , "< عبارت 1 >" scanf


<عبارت 2> آدرس متغیرهایی است که باید از ورودی خوانده شوند و <عبارت 1> مشخص می کند که مقادیر ورودی چگونه باید خوانده شوند و در متغیرهایی که آدرس آنها در <عبارت 2> مشخص شده است قرار گیرند <عبارت 1> شامل سه نوع کاراکتر است :


1. کاراکترهای فرمت : این کاراکترها مشخص می کنند که چه نوع اطلاعاتی باید از ورودی خوانده شوند و با % شروع می شوند .


کاراکتر       اطلاعاتی که خوانده می شوند 


%c               یک کاراکتر           


%d               اعداد صحیح دهدهی


%f                اعداد اعشاری ممیز شناور


%s               رشته ها 


%p               یک اشاره گر


%n               مشخص کننده تعداد کاراکترهایی است که تا %n از ورودی خوانده شده اند


2. کاراکترهای فضای خالی : وجود فضای خالی در <عبارت 1> موجب می شود تا تابع scanf() از فضای خالی موجود در ابتدای اطلاعات ورودی صرفنظر کند . کاراکتر های جدول بندی (tap) ، خط جدید (new line) و رد کننده صفحه (form feed) نیز به عنوان فضای خالی محسوب می شوند .

 

 

3. کاراکترهای غیر از فضای خالی و فرمت : وجود چنین کاراکتری موجب می شود تا چنانچه همان کاراکتر در رشته ورودی و جود داشته باشد ، آن را خوانده از آن صرفنظر کند . به عنوان مثال ، “%d,%d” موجب می شود تا یک عدد صحیح خوانده شود ، سپس یک کاما خوانده و از آن صرفنظر شود و سپس عدد صحیح دیگری خوانده شود . اگر کاراکتر مشخص شده در <عبارت 1> در رشته ورودی وجود نداشته باشد ، تابع scanf() خاتمه می یابد . برای خواندن و سپس صرفنظر از علامت % باید %% را در <عبارت 1> به کار برد .


وقتی دستور scanf() اجرا می شود ، منتظر می ماند تا داده ها را از صفحه کلید دریافت نماید . هنگام وارد کردن داده ها ، هر یک از اقلام داده را با یک فاصله یا کاما از هم جدا کنید و پس از ورود داده ها ، کلید Enter را فشار دهید .

مثال :


#include <stdio.h>
#include <conio.h>


int main()
{


int x , y , area , p ; 

    
clrscr() ;     
printf(“Enter length and width :”) ;     
scanf(“%d%d”, &x , &y) ;     
area = x * y ;     
p = (x + y) * 2 ;     
printf(“ Area = %d, p = %d”, area , p) ;     
getch() ;     


return 0 ;     
}


ورودی برنامه ، طول و عرض مستطیل اند که آنها را به ترتیب در x و y قرار می دهد .


عرض * طول = مساحت مستطیل ß  که مقدار به دست آمده در متغیر area ذخیره می شود


2 * (عرض + طول ) = محیط مستطیل ß  که مقدار به دست آمده در متغیر p ذخیره می شود


و حاصل توسط تابع  printf() چاپ می شود .

 

مثال :


#include <stdio.h>
#include <conio.h>


int main()
{
int x , y , n ;      
float ave ;      


clrscr() ;      
printf(“\nEnter three integers :”) ;     
scanf(“%d%d%d”, &x , &y , &n) ;     
ave = (float)( x + y + n) / 3 ;     
printf(\nave = %6.2f” , ave) ;     
getch() ;     
return 0 ;     
}


این مثال سه عدد از ورودی دریافت می کند و میانگین آنها را حساب می کند .


چون هر سه عدد از نوع صحیح هستند ، مجوع آنها نیز صحیح خواهد بود . پس از تقسیم شده مجموع بر عدد 3 حاصل نیز صحیح خواهد شد یعنی تقسیم یه صورت صحیح انجام می شود در حالی که انتظار داریم تقسیم به صورت اعشاری انجام شود و میانگین اعشاری چاپ شود . برای این منظور باید تبدیل نوع صورت گیرد . چون می خواهیم تقسیم به صورت اعشاری باشد ، قیل از تقسیم ، نوع اعشاری ، یعنی float را دز داخل پرانتز قرار می دهیم . این روش تبدیل نوع را type casting گویند .

 


مثال :


#include <conio.h>
#include <stdio.h>


int main()
{
int x , y ;       


clrscr() ;       
printf(“\n Enter two integers :”) ;       
scanf(“%d%d”, &x , &y) ;       
printf(“\n before change : x = %d , y = %d”,x , y) ;       
x += y ;       
y = x – y ;       
x -= y ;       
printf(“\n after change : x = %d , y = %d”, x , y) ;       
getch() ;       


return 0 ;





نوع مطلب : آموزش برنامه نویسی ++C، 
برچسب ها : آموزش برنامه نویسی c، آموزش،
لینک های مرتبط :

       نظرات
چهارشنبه 2 بهمن 1387
سجاد سلطانی
یکشنبه 20 مرداد 1398 12:25 قبل از ظهر
Hi there, everything is going perfectly here and ofcourse every one is sharing information, that's
in fact good, keep up writing.
سه شنبه 15 مرداد 1398 04:41 بعد از ظهر
I am sure this post has touched all the internet visitors, its really really
pleasant post on building up new weblog.
شنبه 12 مرداد 1398 02:09 قبل از ظهر
I'm impressed, I must say. Rarely do I come across a
blog that's both equally educative and entertaining, and let me tell
you, you've hit the nail on the head. The problem is something too few
men and women are speaking intelligently about.
I am very happy that I stumbled across this in my hunt for something regarding this.
شنبه 5 مرداد 1398 12:06 قبل از ظهر
Hello to every one, the contents existing at this site are actually remarkable for people
knowledge, well, keep up the good work fellows.
یکشنبه 2 تیر 1398 09:51 بعد از ظهر

Thank you, Great information!
prezzo cialis a buon mercato we choice free trial of cialis cialis side effects dangers venta de cialis canada ou acheter du cialis pas cher brand cialis generic brand cialis nl dose size of cialis cialis for sale in europa precios cialis peru
یکشنبه 2 تیر 1398 06:36 قبل از ظهر

Well voiced genuinely! !
where to buy cialis in ontario cialis official site overnight cialis tadalafil the best site cialis tablets cialis 5 mg para diabeticos female cialis no prescription only now cialis for sale in us side effects for cialis cialis dosage recommendations dosagem ideal cialis
شنبه 1 تیر 1398 02:09 بعد از ظهر

With thanks. I value this!
warnings for cialis deutschland cialis online interactions for cialis cialis online cialis kaufen wo we use it 50 mg cialis dose order cialis from india generic cialis 20mg tablets effetti del cialis cialis flussig
جمعه 31 خرداد 1398 10:07 بعد از ظهر

Kudos, Quite a lot of content!

cialis lowest price cialis tablets for sale achat cialis en itali cialis bula tadalafil 5mg viagra vs cialis vs levitra recommended site cialis kanada cialis dosage amounts cialis purchasing low cost cialis 20mg
جمعه 31 خرداد 1398 06:26 قبل از ظهر

You stated this effectively.
cialis coupon buy cialis online cheapest cialis dose 30mg cialis y deporte get cheap cialis cialis cost cialis 5 mg effetti collateral brand cialis nl cialis 5 mg effetti collateral price cialis best
پنجشنبه 30 خرداد 1398 01:14 بعد از ظهر

Cheers, An abundance of advice!

buy cialis sample pack brand cialis nl cialis generic tadalafil buy cialis official site cialis wir preise we choice free trial of cialis cialis pills in singapore online prescriptions cialis we choice cialis pfizer india prices on cialis 10 mg
چهارشنبه 29 خرداد 1398 07:08 بعد از ظهر

Nicely put. Thanks a lot!
look here cialis cheap canada cilas tadalafil 20mg we use it 50 mg cialis dose il cialis quanto costa cialis for sale cialis daily we recommend cialis best buy free cialis cialis dose 30mg
شنبه 25 خرداد 1398 05:02 قبل از ظهر

Appreciate it. Numerous advice!

cialis daily dose generic cialis free trial cialis professional yohimbe cialis super acti buy cialis sample pack warnings for cialis cialis rckenschmerzen brand cialis nl generic cialis pill online click here take cialis
جمعه 24 خرداد 1398 02:53 بعد از ظهر

Terrific stuff. Thanks a lot!
we choice cialis uk cialis online deutschland buy cialis cheap 10 mg cialis 20mg preis cf we like it cialis price cialis without a doctor's prescription cialis italia gratis buy cialis uk no prescription we choice cialis pfizer india cialis vs viagra
جمعه 24 خرداد 1398 12:34 قبل از ظهر

You mentioned that exceptionally well!
safe dosage for cialis generic cialis 20mg tablets only here cialis pills low dose cialis blood pressure cialis sans ordonnance buy generic cialis india cialis 100mg cost cialis canada online prescriptions cialis tadalafil 20 mg
پنجشنبه 23 خرداد 1398 10:58 قبل از ظهر

With thanks. I appreciate it.
cialis vs viagra cialis generic cialis generico lilly overnight cialis tadalafil the best site cialis tablets cipla cialis online cialis 5 mg buy cialis kamagra levitra generic cialis at the pharmacy safe site to buy cialis online
چهارشنبه 22 خرداد 1398 08:51 بعد از ظهر

You said it nicely.!
tesco price cialis buy generic cialis cialis usa cost canadian drugs generic cialis viagra vs cialis buying cialis overnight generic cialis click here to buy cialis click here take cialis cialis uk
دوشنبه 20 خرداد 1398 08:33 بعد از ظهر

You stated this fantastically.
low cost cialis 20mg cialis 20mg 200 cialis coupon cialis 5mg generic cialis at walmart cialis sicuro in linea canadian drugs generic cialis cialis for sale south africa cialis from canada cialis online
یکشنبه 19 خرداد 1398 02:45 بعد از ظهر

With thanks. Quite a lot of tips.

tadalafil 20 mg buy brand cialis cheap safe dosage for cialis acheter du cialis a geneve non 5 mg cialis generici only best offers cialis use cialis generic availability we use it cialis online store generic for cialis cialis 30 day sample
شنبه 18 خرداد 1398 09:10 قبل از ظهر

You revealed that effectively.
cialis 20 mg cost generic cialis review uk order generic cialis online where cheapest cialis cialis reviews achat cialis en europe wow cialis tadalafil 100mg cialis reviews cialis reviews 40 mg cialis what if i take
جمعه 17 خرداد 1398 11:45 بعد از ظهر

It's in fact very complicated in this busy life to listen news on TV, therefore I only use the web for that purpose, and get the most recent information.
شنبه 11 خرداد 1398 12:18 بعد از ظهر
Your means of telling all in this post is actually good,
all be capable of without difficulty know it, Thanks a lot.
چهارشنبه 8 خرداد 1398 10:31 بعد از ظهر
This is a really good tip especially to those fresh to the blogosphere.

Simple but very accurate info… Thanks for sharing this one.
A must read post!
شنبه 24 فروردین 1398 03:11 قبل از ظهر

Superb material, Regards.
aarp recommended canadian online pharmacies canadian pharmacy world canada drugs online canadian pharmacys northwest pharmacies online canadian discount pharmacies canadian medications canada viagra canadian pharmacies-24h canadian online pharmacies legitimate
چهارشنبه 7 تیر 1391 10:34 قبل از ظهر
واقعا عالیییییییییییییییییییییییی بود.مرسی
سه شنبه 26 مهر 1390 12:27 بعد از ظهر
سلام ممنون از زحمتی که کشیدید
آموزش جلسات 4و..رو چطور تهیه کنم؟
اگه جواب بدیدممنونتون میشم
مرسی!
سجاد سلطانیsallam
felan naneveshtam
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر