اذهب إلى المحتوى
  • 0

خطأ في جمع الارقام المدخلة بدون الاحرف في ++C

Ahmed Alqadhi2

السؤال

أريد عمل رمز بسيط يبدأ بإدخال أحرف وأرقام عشوائية
ثم يقوم البرنامج بجمع الأرقام فقط

لدي مشكلة مع الجمع الناتج غلط

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int main()
{
    string serialcode="a98991G343m163R77Eqc\n";

    int i=0;
    int hjg;
    cout<<serialcode;
    int the_sum=0;
    while (i<21)
    {

        if(isdigit(serialcode[i]))
        the_sum+=serialcode[i];

        i++;
    }

    cout<<the_sum;

     return 0;
}

برمجة.png

تم التعديل في بواسطة Hassan Hedr
تنسيق الشيفرة
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

سبب المشكلة أنك تقوم بجمع قيمة المحرف العددي كمحرف وليس كعدد، يجب تحويله أولًا إلى النوع عدد قبل جمعه، يمكن الاستعانة بالتابع atoi من stdlib كالتالي:

#include <stdlib.h>

...
the_sum += atoi(serialcode[i]);

يمكن أيضا التحويل المباشر كالتالي

the_sum += (int)serialcode[i];

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...