الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تنبيه ] [تنبيه - عنوان غير مناسب : ]عااااااااااااااااااجل

بدأه ام خالد3 في 12 يونيو 2010 · 12 رد · 654 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

--------------------------------------------------------------------------------

السلام عليكم ورحمة الله وبركته ارجووووووووووا منكم مساعدتي عني بروجكت غدا تسليمه وعندي مشكله ومو عارفه احلها ممكن احد يساعدني ربي يدخله الجنة بليييييييييييز في c++

#2

:D نعملك إيه يعني ,,

فين السؤال!

1
#3
{هويدي} كتب:

:D نعملك إيه يعني ,,

فين السؤال!

السؤال شفاف ما بينشاف

−1
#4

أنا عامله منيو فيه 22 عنصر من الطعام اوكي ويختار اليوزر من المنيو اللي اكله اوكي بيدخل الرقم بتاع الخيار بس مشكلتي لو هو دخل موش integer دخل بالغلطchar

المشكلة انو حتى لو دخل char بيعطيه النتيجة وانا عوزه اذا دخل char يدي اليوزر مسج ارور ازي

switch(choice)
{
	case 1: 
	High high1;
	cout<<endl<<endl;
	cout<<"Please enter your name:"<<" ";
	cin>>name;
	high1.set_name(name);
	cout<<endl<<endl;
	cout<<"Please enter your weight:"<<" ";
	cin>>weight;
	high1.set_weight(weight);
	high1.set_calories_need();
	do
	{
	cout<<"what did you eat from this table??";
 high1.display_table();
	cout<<endl;
	cout<<endl;
	cout<<" your choise from table is:"<<" ";
 cin>>choice;

تم تعديل هذه المشاركة بواسطة Xacker في 12 يونيو 2010 في 02:17 — السبب: عاوزين المستخدم يختنق ويموت لو دخل char

#5

ردوووووووووووو بليز

#6

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

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

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

مدونتي: C++ Tips and Tricks

#7

*- يحظر استخدام اللهجة العامية

*- أو كتابة الأسئلة باللغة الإنجليزية

*- أو كتابة الكلمات الإنجليزية بالعربية

====

#8

اختي يمكنك التحقق من المحرف المدخل عن طريق ترميز الاسكي و بالتالي اذا دخل اي شيء غير الارقام نعمل حذف

فاذا ما عرفي كيف خبريني وانا اعملو لك.. سهلة كتير

#9

الكود هذا لا يسمح بقبول اى قيمه غير صحيحه من المستخدم

يمكنك تجربته

فهو مقتبس من النت مع بعض التعديلات

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
  string response;
  int value;
  while(1){
    cout << "Enter an integer number: ";
    cin >> response;
    // convert to integer using a stringstream
    istringstream convert(response);
    if ( convert >> value )
    {
      break;
    }              
  }
  cout << "value = " << value << std::endl;
  return 0;
}

Software Developer
Mahmoudkelany.com


 

#10

هذا الكود

يمنع المستخدم من ادخال غير ارقام فقط

فاذا حاول ادخال حروف فانه يتم منعه

هذا الكود انا كنت عارفه بس كنت ناسى المكتبه فبحثت عنها على النت :lol:

الجافا واخده عقل الواحد معلش :)

#include<iostream>
#include <conio.h>  
#include <stdio.h>  

using namespace std;
void main(){
	int cinFromConsole = 1;
	while(1){
		cinFromConsole = getch();
		if ((cinFromConsole >= 48 && cinFromConsole <= 57) || (cinFromConsole >= 46 && cinFromConsole <= 46)){
			char convertCinASCII_ToChar = cinFromConsole;
			cout << convertCinASCII_ToChar ;
		}	
	}
}

Software Developer
Mahmoudkelany.com


 

#11

يمكننا أيضا استخدام التعبير cin.fail للتحقق من صحة الإدخال:

#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"n=";
    cin>>n;
    if(cin.fail())
    cout<<"erreur!\a"<<endl;
    else
    cout<<n<<endl;
    system("pause");
    return 0;
}

حيث يكون هذا التعبير خاطئا:

cin.fail()=false

إذا تمت عملية الإدخال بشكل صحيح.. و يكون صحيحا:

cin.fail()=true

إذا لم تتم عملية الإدخال بالشكل المطلوب.

و لكن الغريب في الأمر ما يحدث لي عند استخدامه في الدوارة while :

#include<iostream>
using namespace std;
int main()
{
    int n;
    do
    {
    cout<<"Enter an integer number:";
    cin>>n;
    system("cls");
    }while(cin.fail());
    return 0;
}

هناك خطأ منطقي في البرنامج ...! و لكنني لا أعلم سببه :blush:

أرجوا منكم التوضيح.

#12
khaled_prg كتب:

و لكن الغريب في الأمر ما يحدث لي عند استخدامه في الدوارة while :

#include<iostream>
using namespace std;
int main()
{
    int n;
    do
    {
    cout<<"Enter an integer number:";
    cin>>n;
    system("cls");
    }while(cin.fail());
    return 0;
}

هناك خطأ منطقي في البرنامج ...! و لكنني لا أعلم سببه :blush:

أرجوا منكم التوضيح.

الخطا انك استخدم الشرط while شرط مثبت فلابد من نفيه حتى يتم تحقيق الشرط

لان الشرط لم يتحقق هكذا

انت تقول للبرنامج افعل هذا الكود اكثر من مره عندما يكون الادخال خاطئ

لذا عليك بنفى الشرط داخل while

هذا ما فهمته من سوالك وان كان خطا ف الفهم ارجوا التوضيح

#include<iostream> 
using namespace std; 
int main() 
{ 
    int n; 
    do{
		cout<<"Enter an integer number:"; 
		cin>>n;
		system("cls"); 
	}while(!cin.fail()); 
    return 0; 
}
−1

Software Developer
Mahmoudkelany.com


 

#13
اقتباس

الخطا انك استخدم الشرط while شرط مثبت فلابد من نفيه حتى يتم تحقيق الشرط

لان الشرط لم يتحقق هكذا

انت تقول للبرنامج افعل هذا الكود اكثر من مره عندما يكون الادخال خاطئ

لذا عليك بنفى الشرط داخل while

هذا ما فهمته من سوالك وان كان خطا ف الفهم ارجوا التوضيح

#include<iostream> 
using namespace std; 
int main() 
{ 
    int n; 
    do{
                cout<<"Enter an integer number:"; 
                cin>>n;
                system("cls"); 
        }while(!cin.fail()); 
    return 0; 
}

أشكرك أخي على المساعدة و لكن الكود ما زال لا يؤدي المطلوب ....!

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…