قم بالتعاون مع زملائك بتصميم مجموعة من البرامج لتنفيذ هذه العمليات
تحديد الدور الخاص بكل طالب لعرض ما تم التوصل إليه
تشاور معهم في نقاط البناء لهذه البرامج
اظهار الصورة الأحسن لكل برنامج
تحديد الدور الخاص بكل طالب لعرض ما تم التوصل إليه
تشاور معهم في نقاط البناء لهذه البرامج
اظهار الصورة الأحسن لكل برنامج
9 التعليقات:
حتى الآن قمنا بالطباعة على الشاشة باستخدام الدالة printf لطباعة الخرج وفقا لصيغة محددة (فورمات). و لكن قد يحتاج المبرمج لإدخال البيانات في وقت تنفيذ البرنامج ويستلزم ذلك استخدام دوال لإدخال البيانات، وهو ما سنتعرض له الآن بشيء من التفصيل.
أما الدالة المناظرة للدالة printf، والمخصصه لإدخال البيانات وفقا لصيغة محددة، فهي الدالة scanf ، ويعتبر الحرف " f" الذي تنتهي به كل من الدالتين هو الحرف الأول من كلمة "format "
والمثال التالي يوضح كيفية استخدام الدالة scanf لإدخال البيانات.
CODE
#include
main()
{
float x,y,z;
scanf (“%f”,&x);
scanf (“%f”,&y);
z=x+y;
printf(“the sum of the numbers you entered is : %.2f\n”,z);
}
يبدأ البرنامج بالإعلان عن ثلاثة متغيرات من النوع الحقيقي " x,y,z " ثم يتم استقبال قيمة المتغير " x" من لوحة الأزرار بموجب العبارة :
CODE
scanf ("%f",&x)
ثم يتم استقبال المتغير الثاني"y" بعبارة مماثلة ثم يتم جمع المتغيرين " x,y " وتخصيص الناتج للمتغير " z"
وفي النهاية نطبع قيمة المتغير " z " المحتوي على المجموع.
عند تشغيل البرنامج سوف ينتظر إدخال قيمة المتغير "x" فإذا أدخلنا العدد المطلوب وأتبعنا ذلك بالضغط على الزر Enter ، فإن البرنامج يتوقف مرة أخرى منتظرا إدخال قيمة المتغير " y " متبوعة بالضغط على الزر Enter وعندئذ يوافينا البرنامج بالنتيجة.
والآن فلننظر بتفحص لإحدى العبارات التي تحتوي على الدالة scanf فنلاحظ ما يلي:
1- ضرورة استخدام توصيف للفورمات بنفس الأسلوب المتبع مع الدالة printf وفي المثال السابق قد استخدمنا التوصيف " %f " الذي يناظر المتغير الحقيقي "x" أو " y".
2- لم تستخدم الدالة المتغير " x" أو "y" صراحة بل استخدمت صورة محورة منه وهي (&x) ، وهذه الصورة الجديدة تسمى مؤشر العنوان ( address operator ) وهي عبارة عن عنوان المتغير لا المتغير نفسه. أما المؤثر الجديد & فيسمى مؤثر العنوان إلى ( address-of operator)
إدخال أكثر من قيمة متغير واحد بنفس العبارة:
تماما كما مع الدالة printf يمكننا مع الدالة scanf استخدام عبارة واحدة ودالة واحدة لاستقبال قيم عدة متغيرات كما في المثال التالي
CODE
#include
main()
{
float x,y,z;
scanf (“%f%f”,&x,&y);
z=x+y;
printf(“the sum of the numbers you entered is : %.2f\n”,z);
}
نلاحظ أن الجزء الخاص بالفورمات ( والواقع بين علامتي الاقتباس ) يحتوي على توصيفين للفورمات " %f %f " بنفس عدد المتغيرات التي تأتي مفصولة عن بعضها البعض باستخدام الفاصلة " , " ( أنظر العبارة المحتوية على الدالة scanf)
ومن الملاحظات الهامه أن ترتيب الفورمات في الدالة scanf يجب أن يكون بنفس ترتيب المتغيرات التي سيتم إدخالها. وهذه الملاحظة غير واضحة في المثال السابق نظرا لأن كلا المتغيرين المراد إدخالهما من نفس النوع.
تعليق :
ابراهيم زكريا
مثال 1 :
هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include
main()
{
float a,b,c;
cout<<"enter 2 number";
cin>>a>>b;
sum=a+b;
c=sum/2;
cout<<"sum="<<sum<<"\n average ="<<c;
}
مثال 2:
أكتب برنامج يقوم بإدخال رقمين وجمع هذين الرقمين و إظهار الناتج باستخدام لغة C++؟
الرقم الأول F
الرقم الثاني S
الرقم الثالث TOT
1-الحل باستخدام لغة C++:
#Include<iostream.h>
main( )
{
int F,S,TOT;
cin>> F;
cin>> S;
TOT =F+S;
cout<< TOT;
return 0;
}
التوثيق :
www.raneem.net/showthread.php?t=860
شيماء البيلى أحمد البيلى
الفرقة الرابعة
شعبة إعداد معلم الحاسب الالى
مثال1:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include
main()
{
float a,b,c;
cout<<"enter 2 number";
cin>>a>>b;
sum=a+b;
c=sum/2;
cout<<"sum="<> x;
if ( x>=0)
cout<<"\n The number"<<x<<"is Positive";
cout<<\n The Number "<<x<<"is Negative
أحمد نصر الدين السيد
مثال:
#include "string.h"
#include "stdio.h"
int main(void)
{
char string[15];
char *ptr, c = 'r';
strcpy(string, "This is a string");
ptr = strchr(string, c);
if (ptr) // OR if( ptr != NULL )
printf("The character %c is at position: %dn", c, ptr-string);
else
printf("The character was not foundn");
return 0;
}
مثال يحسب عدد الحروف و الأرقام في جملة معينة :
#include "stdio.h"
#include "ctype.h"
void main()
{
char str[10] ;
int d_count ; // digit counter
int c_count ; // char counter
int i; // for the loop
d_count = c_count = i = 0 ;
printf(" Please Enter a string: ");
gets(str);
while ( str[i] != '' )
{
if( isalpha(str[i]) != 0 )
c_count++ ;
else if ( isdigit (str[i]) != 0 )
d_count++ ;
i++ ;
}
printf("There is %d digits and %d chat... ",d_count, c_count);
return 0 ;
}
التوثيق:
http://pramgnet.ahlamontada.com/t497-topic
تعليق:
سالى الدالى
دالة الإدخال العامة Scanf ( ) *
هى دالة الإدخال الرئيسية التى تسمح بإدخال جميع أنواع البيانات وهى تأخذ نفس المعاملات التى تأخذها الدالة Print f ( )
مثال :
# include < stdio.h >
main ( )
{
int a , b , c ;
float r , s , t ;
char name [10];
printf ( " \n \n enter your name : " ) ;
scanf ( " % s " , name ) ;
printf ( " a = " ) ;
scanf ( " % d " , & a ) ;
printf ( “ b = " ) ;
scanf ( % d " , & b ) ;
printf ( " r = " ) ;
scanf ( " % f " , &r ) ;
printf ( " s= " ) ;
scanf ( " % f " & s ) ;
printf ( " \n welcome % s " , name ) ;
printf ( " \n \n c = a + b = % d " , a + b ) ;
printf ( " \n \n t = r + s = % d " , r + s ) ;
}
ملاحظات على الحل
· يتم الإعلان عن المتغيرات a , b , c , r , s , t , name
· تطبع الدالة printf() الرسالة enter your name
· تستقبل الدالة scan f ( ) العبارة الحرفية التى يدخلها المستخدم ونصفها فى المتغير name 0000 كذلك المتغيرات الأخرى
· تستقبل الدالة scan f ( ) فى سطر ( “ % d " , &a ) scan f ( ) قيمة صحيحه وتخزنها فى المتغير a
# ماذا يعنى المؤشر # &
&a : تعنى تخزين القيمة الصحيحة فى المكان المخزن عنوانه فى المتغير a بمعنى أن a يشير إلى عنوان المكان الذى تخزن فيه القيمة حيث العلامة & تجعل المتغير يشير إلى عنوان المكان
* الناتج :-
enter your name : ahmed
a = 5
b = 10
r = 20
s = 30
welcome ahmed
c = a + b = 15
t = r + s = 50
دالة الإدخال العامة Scanf ( ) *
هى دالة الإدخال الرئيسية التى تسمح بإدخال جميع أنواع البيانات وهى تأخذ نفس المعاملات التى تأخذها الدالة Print f ( )
مثال :
# include < stdio.h >
main ( )
{
int a , b , c ;
float r , s , t ;
char name [10];
printf ( " \n \n enter your name : " ) ;
scanf ( " % s " , name ) ;
printf ( " a = " ) ;
scanf ( " % d " , & a ) ;
printf ( “ b = " ) ;
scanf ( % d " , & b ) ;
printf ( " r = " ) ;
scanf ( " % f " , &r ) ;
printf ( " s= " ) ;
scanf ( " % f " & s ) ;
printf ( " \n welcome % s " , name ) ;
printf ( " \n \n c = a + b = % d " , a + b ) ;
printf ( " \n \n t = r + s = % d " , r + s ) ;
}
ملاحظات على الحل
· يتم الإعلان عن المتغيرات a , b , c , r , s , t , name
· تطبع الدالة printf() الرسالة enter your name
· تستقبل الدالة scan f ( ) العبارة الحرفية التى يدخلها المستخدم ونصفها فى المتغير name 0000 كذلك المتغيرات الأخرى
· تستقبل الدالة scan f ( ) فى سطر ( “ % d " , &a ) scan f ( ) قيمة صحيحه وتخزنها فى المتغير a
# ماذا يعنى المؤشر # &
&a : تعنى تخزين القيمة الصحيحة فى المكان المخزن عنوانه فى المتغير a بمعنى أن a يشير إلى عنوان المكان الذى تخزن فيه القيمة حيث العلامة & تجعل المتغير يشير إلى عنوان المكان
* الناتج :-
enter your name : ahmed
a = 5
b = 10
r = 20
s = 30
welcome ahmed
c = a + b = 15
t = r + s = 50
....
التوثيق:
http://www.absba.org/showthread.php?t=180163
......
محمد جمال الدين محمود
بالاضافة إلى الشرح المبسط السابق فى الجزء الخاص بعمليات الادخال السابقة فى المدونة يتم الآن سرد بع الأمثلة التطبيقية لعمليات الادخال المختلفة كالتالى:-
المثال التالي يوضح استخدام الدالة()scanf حيث يقوم باستقبال مجموعة قيم مختلفة النوع وطباعتها على الشاشة.
#include
void main(){
int a;
float b;
char ch='Y';
char name[10];
printf("\n Enter your name:");
scanf("%s",name);
printf("a =");
scanf("%d",&a);
printf("b =");
scanf("%f",&b);
printf("\nWlecome %s",name);
printf("\n\t a = %d",a+1);
printf("\n\t b= %.2f",b);
printf("\n\t c = %c",ch);
}
فيكون الناتج
Enter your name:Ahmed
a=12
b=4.5
Welcome Ahmed
a = 12
b = 4.50
c = Y
ونلاحظ أن الدالة ()scanf تستقبل قيمة صحيحة وتخزنها في المتغير a وقيمة حقيقية وتخزنها في المتغير b ولكن ماذا يعني المؤثر & ؟
a& تعني تخزين القيمة الصحيحة في المكان المخزن عنوانه في المتغير a بمعنى أن a يشير إلى عنوان المكان الذي تخزن فيه القيمة . وبالتالي العلامة & تجعل المتغير يشير إلى عنوان المكان.ويوضع المؤثر & فقط مع البيانات الصحيحة و الحقيقية و الحرف ولا يوضع مع متغير العبارة الحرفية string .
مثال على الدالة getchar:
#include
void main(){
char a;
printf("Enter Char:");
a=getchar();
printf("%c",a);
}
فيكون الناتج
Enter Char:A
A
مثال على الدالة getche:
#include
#include
void main(){
char a;
printf("Enter Char:");
a=getche();
printf("\n%c",a);
}
فيكون الناتج
Enter Char:C
C
مثال على الدالة getch:
#include
#include
void main(){
char a;
printf("Enter Char:");
a=getch();
printf("\n%c",a);
}
فيكون الناتج
Enter Char:
C
تعليق :-إيمان نصر - الفرقة الرابعة
مثال التالي يوضح استخدام الدالة()scanf حيث يقوم باستقبال مجموعة قيم مختلفة النوع وطباعتها على الشاشة.
#include
void main(){
int a;
float b;
char ch='Y';
char name[10];
printf("\n Enter your name:");
scanf("%s",name);
printf("a =");
scanf("%d",&a);
printf("b =");
scanf("%f",&b);
printf("\nWlecome %s",name);
printf("\n\t a = %d",a+1);
printf("\n\t b= %.2f",b);
printf("\n\t c = %c",ch);
}
فيكون الناتج
Enter your name:Ahmed
a=12
b=4.5
Welcome Ahmed
a = 12
b = 4.50
c = Y
مثال:
#include
#include
void main(){
char a;
printf("Enter Char:");
a=getche();
printf("\n%c",a);
}
فيكون الناتج
Enter Char:C
C
تعليق :-
هبة احمد السعيد امين
الفرقة الرابعة
داير برنامج يحسب الوسط الحسابي
إرسال تعليق