View Full Version : برنامه با قابلیت دریافت انواع داده ها
gondorehsan
یک شنبه 15 خرداد 1390, 19:12 عصر
سلام دوستان.
میبخشین این ترم چند تا پروژه داشتم که تونستم بقیه رو به غیر از این بنویسم
این بخش رو هم چون درس ندادن بهمون.
برنامه ای که هر نوع ورودی رو بتونه بگیره (اعشاری و صحیح و کاراکتر)و ارور نده
(اگر منظورم رو متوجه نشدین بگین توی اینجا یا توی یاهو توضیح کامل بدم...)
یوسف زالی
دوشنبه 16 خرداد 1390, 01:46 صبح
سلام.
داده ها رو همه string بگیر بعد با توابعی که نوشتی تست کن ببین عدد هست یا نه.اگر عدد بود تبدیلش کن و ...
مثلا اگر همه عدد بود و یک نقطه هم داشت اعشاری میشه ولی اگر نقطه نداشت صحیح در غیر این صورت کاراکتری.
این کاریه که برنامه ها برای ورود اطلاعات از command line هم می کنند.
دقت کرده باشی دستور shutdown /t 53 مثلا هم عدد داره تو ورودیش هم حروف.
و از این قبیل.
BORHAN TEC
چهارشنبه 18 خرداد 1390, 18:03 عصر
برنامه ای که هر نوع ورودی رو بتونه بگیره (اعشاری و صحیح و کاراکتر)و ارور نده
پیاده سازی این قابلیت در C++ با استفاده از template ها و در دلفی با Generic ها انجام پذیر است.
gondorehsan
پنج شنبه 19 خرداد 1390, 11:34 صبح
ما که هر راهی رفتیم نشد اگر سورش رو دارین به ما هم نشون بدین آموزشی باشه برای بقیه دوستان از ما که گذاشت ولی به درد بقیه بخوره حداقل.
BORHAN TEC
جمعه 20 خرداد 1390, 10:20 صبح
ما که هر راهی رفتیم نشد اگر سورش رو دارین به ما هم نشون بدین آموزشی باشه برای بقیه دوستان از ما که گذاشت ولی به درد بقیه بخوره حداقل.
هر کتاب C++ را اگر باز کنید مبحثی با نام الگوها و یا template ها در آن وجود دارد که می توانید از آن استفاده های زیادی ببرید. به عنوان مثال برنامه نمونه زیر از کتاب C++ How to program استخراج شده است:
// Fig. 14.1: fig14_01.cpp
// Using template functions.
#include <iostream>
using std::cout;
using std::endl;
// function template printArray definition
template< typename T >
void printArray( const T *array, int count )
{
for ( int i = 0; i < count; i++ )
cout << array[ i ] << " ";
cout << endl;
} // end function template printArray
int main()
{
const int ACOUNT = 5; // size of array a
const int BCOUNT = 7; // size of array b
const int CCOUNT = 6; // size of array c
int a[ ACOUNT ] = { 1, 2, 3, 4, 5 };
double b[ BCOUNT ] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };
char c[ CCOUNT ] = "HELLO"; // 6th position for null
cout << "Array a contains:" << endl;
// call integer function-template specialization
printArray( a, ACOUNT );
cout << "Array b contains:" << endl;
// call double function-template specialization
printArray( b, BCOUNT );
cout << "Array c contains:" << endl;
// call character function-template specialization
printArray( c, CCOUNT );
return 0;
} // end main
pswin.pooya
سه شنبه 24 خرداد 1390, 19:32 عصر
اگر منظورتون هر نوع داده داخل ورودي هست كه يه راه بيشتر نداره و اون هم گرفتن داده ها به صورت رشته و تبديل اونها هست. براي اينكار هم كافيه يه پارسر تك توكني خيلي ساده بگيري.
اما اگر داخل برنامه هست يا بايد از قالبها استفاده كني و يا اينكه از void* كه ميتونه هر نوع داده رو نگداري كنه.
gondorehsan
پنج شنبه 26 خرداد 1390, 12:12 عصر
کسی سورس کامل شده این رو نداره ؟ برای من این بخش قابل فهم نیست اگر کسی سورس کامل این برنامه رو داره برام بفرسته شاید بتونم چیزی ازش بفهمم .
این بخش رو اصلا به ما نگفتن یعنی توی کتاب C++ هست ولی به ما از روی کتاب C درس دادن و این بخش رو نداشتیم.
برنامش میگن 90 خط بیشتر نیست ولی خوب تا به حال از این موارد ندیده بودم.
مرسی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.