נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: תוכנית לחישוב סיפרת ביקורת במספר זהות

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
IdanDino
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 October 2011
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 06 December 2011 בשעה 19:30 | IP רשוּם
ציטוט IdanDino

שלום,
קיבלתי מהמורה שלי משימה לכתוב תוכנית בC# שתחשב את ספרת
הביקורת שבמספר הזהות לפי נוסחה ידועה.
כתבתי את התוכנית והיא עובדת בכמה מספרי זהות שבדקתי אבל
אצל אחד ההורים שלי זה לא עובד, הוא נותן לי כפלט ספרת
ביקורת "10" שזה בכלל אמור להיות "0".
יש אפשרות שתוכלו לאתר את הבאג בתוכנית או שפשוט צריך
להוסיף פעולת div כאשר המספר שווה או גדול מ10?
(אני עובד בwindows application ולא בקונסול)
קוד:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int IDnum,X=5;
        int n1, n2, n3, n4, n5, n6, n7, n8, S1, S2,
nCheck, S2n,SUM;
        int Secure, SecDigit;
        string ID;
        public Form1()
        {
            InitializeComponent();
        }

        private void IDnumber()
        {
            ID = textBox1.Text;
            IDnum = Convert.ToInt32(ID);
        }
       
        private void Sidra1()
        {
            IDnumber();
            n1 = IDnum / 10000000;
            n3 = IDnum / 100000 % 10;
            n5 = IDnum / 1000 % 10;
            n7 = IDnum / 10 % 10;
        }
       
        private void Sidra2()
        {
            IDnumber();
            n8 = IDnum % 10;
            n6 = IDnum % 1000 / 100;
            n4 = IDnum / 10000 % 10;
            n2 = IDnum / 1000000 % 10;
            n8 = n8 * 2;
            n6 = n6 * 2;
            n4 = n4 * 2;
            n2 = n2 * 2;
            CheckNum();
        }
        private void CheckNum()
        {
                 if (n2 > 9)
                 {
                     nCheck = (n2 / 10 + n2 % 10);
                     S2n = S2n + nCheck;
                     n2 = 0;
                 }
                 if (n4 > 9)
                 {
                     nCheck = (n4 / 10 + n4 % 10);
                     S2n = S2n + nCheck;
                     n4 = 0;
                 }
                 if (n6 > 9)
                 {
                     nCheck = (n6 / 10 + n6 % 10);
                     S2n = S2n + nCheck;
                     n6 = 0;
                 }
                 if (n8 > 9)
                 {
                     nCheck = (n8 / 10 + n8 % 10);
                     S2n = S2n + nCheck;
                     n8 = 0;
                 }
        }
        private void sum()
        {
            Sidra1();
            Sidra2();
            S1 = n1 + n3 + n5 + n7;
            S2 = n2 + n4 + n6 + n8 + S2n;
            SUM = S1 + S2;
        }

        private void SecurityDigit()
        {
            sum();
            Secure = (SUM / 10 + 1) * 10;
            SecDigit = Secure - SUM;
            S2n = 0;
            SUM = 0;
            X = 5;
        }
        private void button1_Click(object sender,
EventArgs e)
        {
            SecurityDigit();
            MessageBox.Show("The Security digit is:
"+SecDigit.ToString());
        }
    }
}
חזרה לתחילת העמוד הצג את כרטיס החבר של IdanDino חפש הודעות אחרות של IdanDino בקר בדף הבית של IdanDino
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה