قائمة المدونات الإلكترونية

الجمعة، 29 أبريل 2011

أمثلة وبرامج مختلفة لتنفيذ عمليات الادخال في لغة ++C

قم بالتعاون مع زملائك بتصميم مجموعة من البرامج لتنفيذ هذه العمليات
تحديد الدور الخاص بكل طالب لعرض ما تم التوصل إليه
تشاور معهم في نقاط البناء لهذه البرامج
اظهار الصورة الأحسن لكل برنامج

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

تعليق :-
هبة احمد السعيد امين
الفرقة الرابعة

Unknown يقول...

داير برنامج يحسب الوسط الحسابي

إرسال تعليق