Ahmed Alqadhi2 نشر 24 ديسمبر 2021 أرسل تقرير نشر 24 ديسمبر 2021 (معدل) أريد عمل رمز بسيط يبدأ بإدخال أحرف وأرقام عشوائية ثم يقوم البرنامج بجمع الأرقام فقط لدي مشكلة مع الجمع الناتج غلط #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; } تم التعديل في 24 ديسمبر 2021 بواسطة Hassan Hedr تنسيق الشيفرة 1 اقتباس
0 Hassan Hedr نشر 24 ديسمبر 2021 أرسل تقرير نشر 24 ديسمبر 2021 سبب المشكلة أنك تقوم بجمع قيمة المحرف العددي كمحرف وليس كعدد، يجب تحويله أولًا إلى النوع عدد قبل جمعه، يمكن الاستعانة بالتابع atoi من stdlib كالتالي: #include <stdlib.h> ... the_sum += atoi(serialcode[i]); يمكن أيضا التحويل المباشر كالتالي the_sum += (int)serialcode[i]; اقتباس
السؤال
Ahmed Alqadhi2
أريد عمل رمز بسيط يبدأ بإدخال أحرف وأرقام عشوائية
ثم يقوم البرنامج بجمع الأرقام فقط
لدي مشكلة مع الجمع الناتج غلط
تنسيق الشيفرة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.