منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي
منتدى طلاب جامعة الحديدة


    برنامج في السى++ وتعليم الخطا

    شاطر

    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها

    ذكر
    عدد الرسائل : 1299
    العمر : 30
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      :
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف عبد الواسع عمر الرمانه في السبت يناير 03, 2009 10:10 pm


    السؤال يقول:

    عندي برنامج يحتوي على اربع مصفوفات احادية البعد

    الاولى: اخزن فيها إسم شخص
    والثانية: اخزن فيها باسورد

    وأما الثالثة فيدخلها المستخدم (( كإسم المستخدم ))
    وأما الرابعة فيدخلها المستخدم (( كباسورد المستخدم
    ))
    مع ملاحظة أنه عند ادخال المصفوفة الرابعة يظهر بدل كل رمز مقروء علامة * وبذلك يجب ان تكون قراءة كل رمز مخفية

    وهذا هو الكود


    #include
    #include
    #include
    #include
    void main()
    {
    clrscr();
    char name[7]={'m','u','h','m','m','e','d'},pass[3]={'a','l','i'};
    char name1[10],pass1[10],x;
    int z,m,k=0;
    for (int j=0;j<5;j--)
    {
    cout<<" enter the name\n";
    cin>>name1;
    cout<<" enter the password \n";
    z=1;
    m=-1;
    do
    {

    x=getch();
    pass1[++m]=x;
    cout<<"*";
    }
    while (int(x)!=13)
    for (int i=0;iif(name[i]!=name1[i])
    z=0;
    for (i=0;i<7;i++)
    if(name[i]!=name1[i])
    z=0;
    for (i=0;iif(pass1[i]!=pass[i])
    z=0;
    for (i=0;i<3;i++)
    if (pass1[i]!=pass[i])
    z=0;
    if (z==0)
    {
    cout<<"\n the name or password is incorrect\n";
    cout<<" please try again\n";
    k++;
    }
    else
    {
    cout<<"\n correct thank you";
    j=10;
    }
    if(k==4)
    {
    j=10;
    cout<<" this user name dont have the correct password\n";
    cout<<" thank you \n good by";
    }
    }

    getch();
    }

    إن عيب البرنامج هو عند ادخال الباسورد لايمكن استعمال مفتاح الباك سبيس لأن البرنامج سيعتبرها احد رمز الباسورد

    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها

    ذكر
    عدد الرسائل : 1299
    العمر : 30
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      :
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف عبد الواسع عمر الرمانه في السبت يناير 03, 2009 10:13 pm

    بالنسبه للعيب الموجود فى البرنامج فيمكن حله كالآتى


    #include
    #include
    #include
    #include
    int main()
    {
    int i;
    char name[7]={'m','u','h','m','m','e','d'},pass[3]={'a','l','i'};
    char name1[10],pass1[10],x;
    int z,m,k=0;
    for (int j=0;j<5;j++)
    {
    cout<<" enter the name\n";
    cin>>name1;
    cout<<" enter the password \n";
    z=1;
    m=-1;
    do
    {
    x=getch();
    if(int(x)!=Cool{
    pass1[++m]=x;
    cout<<"*";
    }
    if(int(x)==Cool{
    m--;
    cout<<"\b";
    }
    }
    while (int(x)!=13);
    for ( i=0;iif(name[i]!=name1[i])
    z=0;
    for (i=0;i<7;i++)
    if(name[i]!=name1[i])
    z=0;
    for (i=0;iif(pass1[i]!=pass[i])
    z=0;
    for (i=0;i<3;i++)
    if (pass1[i]!=pass[i])
    z=0;
    if (z==0)
    {
    cout<<"\n the name or password is incorrect\n";
    cout<<" please try again\n";
    k++;
    }
    else
    {
    cout<<"\n correct thank you";
    j=10;
    }
    if(k==4)
    {
    j=10;
    cout<<" this user name dont have the correct password\n";
    cout<<" thank you \n good by";
    }
    }
    getch();
    return 0;
    }
    وذلك لأن الرقم المقابل للباك سبيس هو 8

    فعندما تدخل الباسورد مثلا alu وتريد تعديل u ترجع خطوه وتصلحها وتكمل

    جربوها وقولى رأيكم

    سلام
    وان كان هناك خطا يمكن تعديله
    كلية التربيه معلم الحاسوب

    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها

    ذكر
    عدد الرسائل : 1299
    العمر : 30
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      :
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف عبد الواسع عمر الرمانه في السبت يناير 03, 2009 10:14 pm

    ويمكن تطوير اللوب بهذا الشكل ليكون أكثر مرونه


    do
    {
    x=getch();
    if(int(x)!=Cool{
    pass1[++m]=x;
    cout<<"*";
    }
    if(int(x)==Cool{
    pass1[m--]='\0';
    cout<<"\b";
    cout<<" ";
    cout<<"\b";


    }
    }
    while (int(x)!=13);

    م.إبراهيم سلمان
    سكرتاريا المنتدى
    سكرتاريا المنتدى

    ذكر
    عدد الرسائل : 255
    العمر : 30
    البلد : Stuttgart,Germany
    القسم والمستوى : ماجستير - تقنية معلومات و أنظمة رقمية
    المزاج : جسمي معي ..غير أن الروح عندكم ..
    أختر علم دولتك :
      : لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
    السٌّمعَة : 0
    نقاط : 317
    تاريخ التسجيل : 24/03/2009

    بطاقة الشخصية
    تخصصي: مهندس
    المحافظة: المحويت

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف م.إبراهيم سلمان في الثلاثاء مارس 24, 2009 9:09 pm

    يا سلام عليك يا عبد الواسع
    شكرا لك على المجهود الرائع
    تقبل مروري ،،،

    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى

    ذكر
    عدد الرسائل : 2833
    العمر : 29
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك :
      :
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف طارق البغوي في الأربعاء مارس 25, 2009 4:47 am

    صحيح كلامك أخ إبراهيم سلمان

    ومشكوراخ عبد الواسع


    _________________

    أذا ما ذكرت أسمها بت أغفوا


    أعانقها في هدوء الحياء


    وصمت المحبة


    أرشف من هجرها


    نبع روحي


    لتنبت بين ضفائرها قصة


    تقول ألتقينا ...


    والكن ...


    على نصف حلم بكينا


    فتغتصب الشوق


    fadelaromah
    عضو جديد
    عضو جديد

    ذكر
    عدد الرسائل : 2
    العمر : 29
    البلد : yemen
    القسم والمستوى : pc2
    المزاج : a
    أختر علم دولتك :
      :
    السٌّمعَة : 0
    نقاط : 2
    تاريخ التسجيل : 17/12/2011

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف fadelaromah في السبت ديسمبر 17, 2011 3:14 pm

    بارك الله فيك اخي لما اجي اكتب الكود وما يتنفذ معي ما اقدر احدد ةالخطاء ...
    سؤال هوا اذا تكرمت كيف استطيع اميز الخظاء واحدده ثم اقوم بمعالجته ...
    لو عندك طريق ما تبخل علينا وخصوصا وانا مبتدء ولكم جزيل الشكر ..؟!

    غمدان نبيل عبدالعزيز
    عضو جديد
    عضو جديد

    ذكر
    عدد الرسائل : 2
    العمر : 29
    البلد : اليمن
    القسم والمستوى : الحاسب الآلي-المستوى الأول
    المزاج : رايق
    أختر علم دولتك :
      : وجودك بحياتي
    السٌّمعَة : 0
    نقاط : 2
    تاريخ التسجيل : 28/02/2012

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف غمدان نبيل عبدالعزيز في السبت مارس 31, 2012 2:43 am

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

    Howba
    عضو جديد
    عضو جديد

    انثى
    عدد الرسائل : 4
    العمر : 30
    البلد : libya
    القسم والمستوى : هندسة
    المزاج : جيد
    أختر علم دولتك :
      :
    السٌّمعَة : 0
    نقاط : 4
    تاريخ التسجيل : 27/10/2013

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف Howba في الإثنين أكتوبر 28, 2013 9:29 am

    شكرا لك على المجهود الرائع وجزاك الله خيرا

    Howba
    عضو جديد
    عضو جديد

    انثى
    عدد الرسائل : 4
    العمر : 30
    البلد : libya
    القسم والمستوى : هندسة
    المزاج : جيد
    أختر علم دولتك :
      :
    السٌّمعَة : 0
    نقاط : 4
    تاريخ التسجيل : 27/10/2013

    رد: برنامج في السى++ وتعليم الخطا

    مُساهمة من طرف Howba في الإثنين أكتوبر 28, 2013 9:36 am

    انا مبتدئة في التعلم بلغة (سي) وابي نصيحة منكم ... ما افضل برنامج للبرمجة بلغة (سي)
    وشكرا

      الوقت/التاريخ الآن هو السبت ديسمبر 03, 2016 4:53 pm