m.soleimani
شنبه 17 فروردین 1387, 10:22 صبح
سلام خسته نباشید
من یک برنامه در کنسول نوشتم که یکى از موارد اون گرفتن یه مقدار عددى از کاربر هست که این مقدار میشه جزوى از یک آرایه int هست ... بگذریم
در هنگام گرفتن ورودى اگر کاربر به جاى عدد از کاراکتر استفاده کند برنامه با خطاى سر ریز خاتمه پیدا میکند
آیا باید از تابع خاصى براى چک کردن این مورد استفاده کنم یا کد خاصى باید بنویسم ؟
دوستان یه لطف کنن بگن چه کارى باید انجام بدم البته من گشتم ولى چیزى تو سایت نجستم که احتمالآ باشه و یه خواهش دیگه هم دارم اینه که اگر براتون امکان داره جواب بدید بله من هم بیشتر مطالب را خوندم که اینجا براى کسى برنامه نوشته نمیشه و شما شروع کن اگه مشکل داشتى بپرس :اشتباه: با اجازه یه چیزى سر هم کردم که توى یه تابع به صورت تک تک اعضاى آرایه را چک میکنه که ببینه عدد هست یا نه که البته فقط فکر کنم ایده این کار درست باشه او تابع را با یه قسمت از کد اضافه میکنم شاید این سوال برا خیلى ها پیش اومده باشه به هر حال تازه کار بودن هست هزار درد :خجالت:
bool FindCaracter( int iVar )
{
bool OK;
switch( iVar )
{
case 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9:
{
OK = true;
break;
}
default:
{
OK = false;
break;
}
}
return OK;
}
bool TestIntegrity( int iVar[] )
{
bool OK;
for( int i = 0; iVar[i] != NULL; i++ )
{
OK = FindCaracter( iVar[i] );
if( OK == false )
returnfalse;
}
returntrue;
}
اینم قسمتى از تابع main
if( Question[0] == 'N' && Question[1] == NULL || Question[0] == 'n' && Question[1] == NULL )
{
cout << "\nPlease Enter Customer Number : ";
cin >> CN[cCN];
while( CN[cCN] <= 0 || TestIntegrity(CN) == false )
{
cout << "\n! Error Value you can't use caracter -> ( No Caracter No Alone 0 ) Only Number\n\n";
cout << "\nPlease Enter Customer Number : ";
cin >> CN[cCN];
}
}
cCN++;
باید ببخشید اگه توى متن ها یا خود برنامه اشتباه وجود داره این فقط براى آزمایش هست راستى میشه راهنمایى کنید مثل شما کد را بزارم با همون ترتیب ide که به هم نریزه بقیه بهتر بتونن از کد استفاده کنند به هر حال دست همه درد نکنه پیش پیش :تشویق:
من یک برنامه در کنسول نوشتم که یکى از موارد اون گرفتن یه مقدار عددى از کاربر هست که این مقدار میشه جزوى از یک آرایه int هست ... بگذریم
در هنگام گرفتن ورودى اگر کاربر به جاى عدد از کاراکتر استفاده کند برنامه با خطاى سر ریز خاتمه پیدا میکند
آیا باید از تابع خاصى براى چک کردن این مورد استفاده کنم یا کد خاصى باید بنویسم ؟
دوستان یه لطف کنن بگن چه کارى باید انجام بدم البته من گشتم ولى چیزى تو سایت نجستم که احتمالآ باشه و یه خواهش دیگه هم دارم اینه که اگر براتون امکان داره جواب بدید بله من هم بیشتر مطالب را خوندم که اینجا براى کسى برنامه نوشته نمیشه و شما شروع کن اگه مشکل داشتى بپرس :اشتباه: با اجازه یه چیزى سر هم کردم که توى یه تابع به صورت تک تک اعضاى آرایه را چک میکنه که ببینه عدد هست یا نه که البته فقط فکر کنم ایده این کار درست باشه او تابع را با یه قسمت از کد اضافه میکنم شاید این سوال برا خیلى ها پیش اومده باشه به هر حال تازه کار بودن هست هزار درد :خجالت:
bool FindCaracter( int iVar )
{
bool OK;
switch( iVar )
{
case 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9:
{
OK = true;
break;
}
default:
{
OK = false;
break;
}
}
return OK;
}
bool TestIntegrity( int iVar[] )
{
bool OK;
for( int i = 0; iVar[i] != NULL; i++ )
{
OK = FindCaracter( iVar[i] );
if( OK == false )
returnfalse;
}
returntrue;
}
اینم قسمتى از تابع main
if( Question[0] == 'N' && Question[1] == NULL || Question[0] == 'n' && Question[1] == NULL )
{
cout << "\nPlease Enter Customer Number : ";
cin >> CN[cCN];
while( CN[cCN] <= 0 || TestIntegrity(CN) == false )
{
cout << "\n! Error Value you can't use caracter -> ( No Caracter No Alone 0 ) Only Number\n\n";
cout << "\nPlease Enter Customer Number : ";
cin >> CN[cCN];
}
}
cCN++;
باید ببخشید اگه توى متن ها یا خود برنامه اشتباه وجود داره این فقط براى آزمایش هست راستى میشه راهنمایى کنید مثل شما کد را بزارم با همون ترتیب ide که به هم نریزه بقیه بهتر بتونن از کد استفاده کنند به هر حال دست همه درد نکنه پیش پیش :تشویق: