--------------------------------------------------------------------------------
السلام عليكم ورحمة الله وبركته ارجووووووووووا منكم مساعدتي عني بروجكت غدا تسليمه وعندي مشكله ومو عارفه احلها ممكن احد يساعدني ربي يدخله الجنة بليييييييييييز في c++
--------------------------------------------------------------------------------
السلام عليكم ورحمة الله وبركته ارجووووووووووا منكم مساعدتي عني بروجكت غدا تسليمه وعندي مشكله ومو عارفه احلها ممكن احد يساعدني ربي يدخله الجنة بليييييييييييز في c++
:D نعملك إيه يعني ,,
فين السؤال!
{هويدي} كتب::D نعملك إيه يعني ,,
فين السؤال!
السؤال شفاف ما بينشاف
أنا عامله منيو فيه 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
ردوووووووووووو بليز
الأخ الكريم/الأخت الكريمة
السلام عليكم ورحمة الله وبركاته
مرحباً بكم في منتدى الفريق العربي للبرمجة
نود تنبيهك أن العنوان غير مناسب.
الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.
وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!
قواعد المشاركة
شاكرين لكم حُسن تعاونكم
مدونتي: C++ Tips and Tricks
*- يحظر استخدام اللهجة العامية
*- أو كتابة الأسئلة باللغة الإنجليزية
*- أو كتابة الكلمات الإنجليزية بالعربية
====
اختي يمكنك التحقق من المحرف المدخل عن طريق ترميز الاسكي و بالتالي اذا دخل اي شيء غير الارقام نعمل حذف
فاذا ما عرفي كيف خبريني وانا اعملو لك.. سهلة كتير
الكود هذا لا يسمح بقبول اى قيمه غير صحيحه من المستخدم
يمكنك تجربته
فهو مقتبس من النت مع بعض التعديلات
#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;
}هذا الكود
يمنع المستخدم من ادخال غير ارقام فقط
فاذا حاول ادخال حروف فانه يتم منعه
هذا الكود انا كنت عارفه بس كنت ناسى المكتبه فبحثت عنها على النت :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 ;
}
}
}يمكننا أيضا استخدام التعبير 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:
أرجوا منكم التوضيح.
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;
}اقتباسالخطا انك استخدم الشرط 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; }
أشكرك أخي على المساعدة و لكن الكود ما زال لا يؤدي المطلوب ....!
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…