250 likes | 477 Views
جامعة الدمام كلية العلوم والآداب بالنعيرية. مقدمة في البرمجة الفصل الثالث : إدخال وإخراج البيانات إعداد : د . محمد لطفي عبد الرحيم أستاذ الحاسب الآلي المساعد بجامعة الدمام ربيع الأول 1434 هـ. كتابة حرف واحد على الشاشة.
E N D
جامعة الدمامكلية العلوم والآداب بالنعيرية مقدمة في البرمجة الفصل الثالث : إدخال وإخراج البيانات إعداد : د. محمد لطفي عبد الرحيم أستاذ الحاسب الآلي المساعد بجامعة الدمام ربيع الأول 1434 هـ د. محمد لطفي عبد الرحيم
كتابة حرف واحد على الشاشة • الإجراء putchar يسمح بكتابة حرف واحد على الشاشة. مثلا، الإجراء التالي يسمح بكتابة حرف a على الشاشة : • Putchar (‘a’); • هذا الإجراء يتطلب متغيرا واحدا يمثل المتغير المطلوب كتابته. • يمكن استخدام الإجراء putchar عن طريق كتابة ترتيب الحرف في جدول ASCII. • Putchar (98); : b طباعة حرف يمكن استخدام الإجراء putchar مع الأحرف غير المطبوعة : Putchar (‘\t’); حرف الجدولة : 8 مسافات بيضاء Putchar (‘\n’);يجعل الكتابة يبدأ من السطر التالي د. محمد لطفي عبد الرحيم
كتابة مجموعة من الحروف • لكتابة مجموعة من الحروف stringيجب استخدام الإجراء puts. هذا الإجراء يتطلب متغيرا واحدا يمثل مجموعة الحروف : • Puts (“This is a test”); هذا الإجراء يقوم بكتابة • الجملة ونقل المؤشر إلى السطر الموالي. • لكتابة النصوص يجب استخدام علامة التنصيص المزدوجة، ولكتابة الحروف يجب استخدام علامة التنصيص المفردة. • يمكن استخدام الإجراء puts مع متغير يحمل قيمة الحروف المطلوب كتابتها : • Puts ( name ); د. محمد لطفي عبد الرحيم
كتابة مجموعة من الحروف • يمكن استخدام الحروف الغير مطبوعة مع الإجراء puts : • Puts(“Column A\t\tColumn B\t\tColumn C”); • النتيجة ستكون على النحو التالي : Column A Column B Column C الإجراء puts يعوض \t بحرف الجدولة. \t هو من الحروف غير المطبوعة. الحروف غير المطبوعة الأخرى هي : - \b : حرف للخلف (Backspace) - \n : سطر جديد د. محمد لطفي عبد الرحيم
كتابة مجموعة من الحروف : مثال #include <stdio.h> Void main (void) { Char name[80]; Int count; Puts (“ Please type your name : “); Gets (name); For (count = 0; count < 10; count ++ ); Puts (name); } د. محمد لطفي عبد الرحيم
الإجراء printf • بالإضافة إلى كتابة النصوص على الشاشة، يقوم الإجراء printf بعمليات التنسيق والتهيئة. • يمكن استخدام الإجراء printf لطباعة النصوص العادية (على طريقة الإجراء puts ) : • Printf (“ C is not difficult “); • بعد كتابة الجملة، لا يتم الانتقال تلقائيا إلى السطر الموالي كما هو الحال مع الإجراء puts. مثلا، إذا كتبنا العبارات التالية : • Printf (“ Learning “); Printf (“ C “); Printf (“ is fun “); • النتيجة ستكون : Learning C is fun د. محمد لطفي عبد الرحيم
الإجراء printf • يمكن استخدام حرف السطر \n إذا كان يجب الانتقال إلى السطر الموالي : • printf (“One\nTwo\nThree”); • النتيجة ستكون على النحو التالي : • One • Two • Three د. محمد لطفي عبد الرحيم
الإجراء printf • يمكن استخدام الإجراء printf لتهيئة النصوص والأرقام قبل طباعتها. مثلا : • Printf (“The count is now : %d. “,count ); • الإجراء printf سيكتب النص الموجود بين علامتي التنصيص المزدوجة، ثم يعطي قيمة المتغير count. مثلا، إذا كانت قيمة count عند تنفيذ الإجراء تساوي 5، فإن النتيجة ستكون على النحو التالي : • The count is now : 5 • %d : تستخدم لطباعة أو كتابة عدد عشري صحيح. د. محمد لطفي عبد الرحيم
الرموز المستخدمة مع الإجراء printf يمكن استخدام أكثر من رمز داخل النص د. محمد لطفي عبد الرحيم
مثال على استخدام الرموز مع الإجراء printf #include <stdio.h> Void main (void) { Char letter; Printf (“Letter\tDecimal\tHex\n\n”); For (letter = 32; letter < 127; letter ++ ); Printf (“%c\t%d\t%x\n”, letter, letter, letter); } د. محمد لطفي عبد الرحيم
مثال على استخدام الرموز مع الإجراء printf #include <stdio.h> Void main (void) { Char name[80]; Int count; Puts (“ Please type your name : “); Gets (name); Count = strlen (name); Printf ( “Your name : [%s] consists of %d characters. “, name, count ); } د. محمد لطفي عبد الرحيم
التحكم في عرض النتائج • يتيح الإجراء printf تحديد شكل وطريقة عرض عرض الأرقام أو الحروف المكتوبة. مثلا : • Printf (“%3d\n ,count ); • هذا الإجراء سيكتب القيمة الموجودة في المتغير count في 3 خانات. إذا كانت القيمة الموجودة في المتغير أقل من 3 خانات فإن الإجراء سيضع مسافات خالية على يسار الرقم. د. محمد لطفي عبد الرحيم
التحكم في عرض النتائج #include <stdio.h> Void main (void) { Int count; For (count = 0; count < 101; count ++ ); printf (“%3d\n”, count ); } د. محمد لطفي عبد الرحيم
التحكم في عرض النتائج #include <stdio.h> Void main (void) { Int count; For (count = 0; count < 101; count ++ ); printf(“%04d\n”, count ); } د. محمد لطفي عبد الرحيم
التحكم في عرض النتائج #include <stdio.h> Void main (void) { Char string[ ] = “Testing”; Int count; For (count = 1; count <= 10; count ++ ); printf (“%-10s : %2d\n”, string, count ); } د. محمد لطفي عبد الرحيم
قراءة حرف واحد من لوحة المفاتيح • 1- الإجراء getchar : يكتب رقم ASCII للحرف الذي تم إدخاله من طرف المستخدم. هذا الإجراء ينتظر حتى يضغط المستخدم أمر الإدخال. #include <stdio.h> Void main (void) { Char ch; Printf (“Please type a letter and press Enter : ”); Ch = getchar ( ); Printf (“ You typed : %c ASCII No : %d . “, ch, ch ); } د. محمد لطفي عبد الرحيم
قراءة حرف واحد من لوحة المفاتيح • 2 – الإجراء getch والإجراء getche : هذان الإجراءان يقومان بنفس المهمة وهي قراءة حرف واحد والعودة إلى البرنامج برقم الحرف في جدول ASCII دون انتظار أمر الإدخال. • الفرق بين الإجراءين getch و getche هو أن الإجراء getche يكتب الحرف الذي يقرأه على الشاشة قبل أن يعود إلى البرنامج. أما الإجراء getch فيعود إلى البرنامج مباشرة دون طباعة الحرف. • الإجراءان getch و getche متوافقان مع Borland C ولكنهما غير متوافقين مع Visual C د. محمد لطفي عبد الرحيم
قراءة حرف واحد من لوحة المفاتيح #include <stdio.h> #include <conio.h> Void main (void) { Char ch; Printf (“Please type a letter : ”); Ch = getch ( ); Printf (“\nYou typed : %c ASCII No : %d .\n\n “, ch, ch ); Printf (“Please type another letter : ”); Ch = getche ( ); Printf (“\nYou typed : %c ASCII No : %d . “, ch, ch ); } د. محمد لطفي عبد الرحيم
قراءة مجموعة من الحروف • لقراءة مجموعة من الحروف يمكن استخدام الإجراء gets. #include <stdio.h> Void main (void) { Char string [80]; Printf (“Enter a string of characters : ”); Gets (string) Printf (“You entered the string : \n\n%s\n\n “, string ); Printf (“Please type another letter : ”); Printf (“Which contains %d characters. “, strlen ( string ) ); } د. محمد لطفي عبد الرحيم
الإجراءscanf • الإجراء scanf يتيح مرونة كبيرة عند القراءة من لوحة المفاتيح. فيمكن استخدامه لقراءة حرف واحد أو مجموعة من الحروف أو أعداد صحيحة... • الإجراء scanf يحتاج إلى متغيرين : نوع البيانات التي ستتم قراءتها والمكان الذي ستخزن فيه البيانات المقروءة. • Int num; • Scanf (“%d”,&num); هذا الإجراء سيقوم بقراءة عدد صحيح ويخزنه بعد ذلك في المتغير num. د. محمد لطفي عبد الرحيم
الإجراءscanf #include <stdio.h> Void main (void) { Char string [80]; Intnum; Char ch; Printf(“Enter a string of characters : ”); Scanf (“%s”, string); Fflush (stdin); Printf (“Enter a number : “ ); Scanf (“%d”, &num); Fflush (stdin); Printf (“Enter a single character : ”); Scanf (“%c”, &ch); Printf(“\n\nThe string was : %s\n ”, string); Printf (“The number was : %d\n ”, num ); Printf (“The character was : %c ”, ch ); } د. محمد لطفي عبد الرحيم
الإجراءscanf #include <stdio.h> Void main (void) { Int day, month, year; Printf (“Enter your birthday (dd/mm/year) : ”); Scanf (“%d/%d/%d”, &day, &month, &year ); Printf(“\nThe year was : %d.\n ”, year); Printf (“The month was : %d.\n ”, month ); Printf (“The day was : %d.\n ”, day ); } د. محمد لطفي عبد الرحيم