سلام
شما می تونید کاربرد این تابع چیه؟؟
نتونستم در اون سایتا پیدا کنم!کد:isascii()
با تشکر...
همچنین تابع :
و این :کد:sscanf()
کد:strtold()
Printable View
سلام
شما می تونید کاربرد این تابع چیه؟؟
نتونستم در اون سایتا پیدا کنم!کد:isascii()
با تشکر...
همچنین تابع :
و این :کد:sscanf()
کد:strtold()
سلام.
sscanf که در stdio.h قرار داره اطلاعات رو از یک رشته بصورت یک شکل خاص می خونه.
دارای سه آرگومان هست و به شکل زیر تعریف میشه :
برای روشن تر شدن یه نمونه ازش براتون میذارم :کد:int sscanf( const char *buffer, const char *format [, argument ] ... );
در مورد تابع دوم که شما به صورت isascii نوشتید شکل صحیح اون isascii__ هست بصورت زیر تعریفکد:
#include "stdio.h"
void main()
{
char *Buffer = "4567";
char String[8];
int i;
char ch;
float f;
sscanf(Buffer,"%s",String);
sscanf(Buffer,"%d",&i);
sscanf(Buffer,"%c",&ch);
sscanf(Buffer,"%f",&f);
printf("String:%s\nInteger:%d\nCharacter:%c\nFloat:%f\n",
String,i,ch,f);
}
میشه و یک آرگومان داره :
iاین تابع بررسی میکنه که آیا c جزو حروف اسکی هست یا نه. به عبارتی بین 0 تا 127 هست یا نه.کد:nt __isascii( int c );
اگه c جزو حروف اسکی نباشه مقدار برگشتی این تابع 0 هست. این تابع در ctype.h قرار داره.
(فکر نمیکنم نیاز به مثال داشته باشه.)
در مورد تابع سوم strtol که در stdlib.h قرار داره کارش تبدیل یک رشته به long هست و اگه به اسمش
دقت کنید مشخصه که خلاصه شده ی string to long هست. این تابع به شکل زیر تعریف میشه :
همونطور که مشخصه دارای سه آرگومان هست.کد:long strtol( const char *nptr, char **endptr, int base );
برای درک بهتر یه نمونه براتون میذارم :
کد:
#include "stdio.h"
#include "stdlib.h"
void main()
{
const char *Buffer = "256This is a Test!";
char *stoped;
long l;
l = strtol(Buffer,&stoped,10);
printf("String : %s\nStoped: %s\nLong : %ld\n",
Buffer,stoped,l);
}
در ضمن تمامی این توابع در link هایی که براتون گذاشتم , هستند.
با سلام
دنبال سایتی می گردم که یک سری برنامه برای مثال و یاد گیری در C و C++ داشته باشه...به خصوص برنامه های پایه ای ؛ مثل انواع Search : Binary,linear,etc و انواع Sort : bubble,etc و از این جور چیز ها
از کمکتون بی نهایت ممنون می شم
سلام.
به این سایت مراجعه کنین :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خیلی ممنونمنقل قول:
می شه کد زیر رو ببینید اشکالش چیه...کامپایلر من 3 تا error و 1 warning می ده!
من از Microsoft Visual C++ استفاده می کنم
ازتون خیلی خیلی ممنونم
در ضمن می دونید در C++ باید چی کار کنم که وقتی فایل exe رو باز می کنم سریع بسته نشه؟؟؟؟کد:#include<iostream.h>
template<class T>
class stack
{
private : T a[n];
int pos;
public : stack ()
{
pos=-1;
}
void push();
void pop();
};
template<class T>
void stack<T>::push()
{
if(pos==9)
{
cout<<"stack is full";
return 0;
}
else
{
T ele;
cout<<"Enter the element";
cin>>ele;
a[++pos]=ele;
}
return;
};
template<class T>
void stack<T>::pop()
{
if(pos==-1)
{
cout<<"stack is empty";
return 0;
}
else
cout<<"Element to delete is"<<a[pos--];
return;
};
int main()
{
stack <int>x;
int n;
cout<<"Enter the size of the array : ";
cin>>n;
for(int i=1;i<=n;i++)
x.push();
for(i=1;i<=n;i++)
x.pop();
return 0;
}
تو C از getch() می شد استفاده کرد اما تو C++ error می ده!!
دوباره سلام.
مقدار n مشخص نبود و ضمنا توابع push و pop که از نوع void هستند مقدار برگشتی ندارن.
در مورد سوال دومتون میتونین از کد زیر استفاده کنین:کد:
#include<iostream.h>
template<class T>
class stack
{
public:
stack (){ pos=-1;}
public:
void push();
void pop();
private:
T a[10];
int pos;
};
template<class T>
void stack<T>::push()
{
if(pos==9)
{
cout<<"stack is full";
return;
}
else
{
T ele;
cout<<"Enter the element : ";
cin>>ele;
a[++pos]=ele;
}
};
template<class T>
void stack<T>::pop()
{
if(pos==-1)
{
cout<<"stack is empty :";
return;
}
else
cout<<"Element to delete is : "<< a[pos--] << endl;
return;
};
int main()
{
stack <int>x;
int n;
cout<<"Enter the size of the array : ";
cin>>n;
for(int i=1;i<=n;i++)
x.push();
for(i=1;i<=n;i++)
x.pop();
return 0;
}
که در stdlib.h قرار داره.کد:
system("pause");
راستی! این تاپیک رو شما ایجاد کردید با این عنوان "امکانش هست که در ویندوز با C برنامه نوشت؟؟ "
که در مورد اون بحث شد. سوال آخرتون در رابطه با Template هاست و ارتباطی با موضوع تاپیک پیدا نمیکنه.
سوال هایی که عنوان مشترک دارن رو در یک تاپیک استفاده کنین و اگه در انجمن تاپیک مورد نظر نبود اون رو ایجاد کنید.
اگه دقت کنین میبینید که در این تایپک موضوعات مختلفی قرار گرفته. گه اگه دسته بندی بشه سایرین هم بهتر میتونن از
این تاپیک استفاده کنن.
لطفا سعی کنین که تاپیکتون با موضوع سوالتون متناسب باشه.
ممنون.
ازتون خیلی خیلی ممنونم
ولی آخه آدم اینجوری محدود می کنه برنامه رو!! راهی نداره که سایز array رو از ترمینال موقع اجرای برنامه بگیریم؟؟؟نقل قول:
مقدار n مشخص نبود و ضمنا توابع push و pop که از نوع void هستند مقدار برگشتی ندارن.
در این مورد هم بگم که فکر می کردم که اگه تاپیک جدیدی باز نکنم بهتر باشه...چون همونطور که می بینید بعضی از پستها برای راهنمایی در پیدا کردن "اشکال" در یک برنامه هست ؛ همچنین فکر می کردم که مدیر ها و همکارها با تاپیک زیاد زدن موافق نباشن و گرنه برای من/ما که فرقی نمی کنه!نقل قول:
راستی! این تاپیک رو شما ایجاد کردید با این عنوان "امکانش هست که در ویندوز با C برنامه نوشت؟؟ "
که در مورد اون بحث شد. سوال آخرتون در رابطه با Template هاست و ارتباطی با موضوع تاپیک پیدا نمیکنه.
سوال هایی که عنوان مشترک دارن رو در یک تاپیک استفاده کنین و اگه در انجمن تاپیک مورد نظر نبود اون رو ایجاد کنید.
اگه دقت کنین میبینید که در این تایپک موضوعات مختلفی قرار گرفته. گه اگه دسته بندی بشه سایرین هم بهتر میتونن از
این تاپیک استفاده کنن.
لطفا سعی کنین که تاپیکتون با موضوع سوالتون متناسب باشه.
ممنون.
اما چشم ، چون شما می فرمایید...( ولی فکر کنم اگه تو برنامه ای به error ی برخورد کردم همینجا بذارم بهتر باشه نه؟؟ اونجوری انجمن پر تاپیک می شه که خیلی جالب نیست! )
یا اصلا یه پیشنهاد! شما یه تاپیک ایجاد کنین و اون رو در لیست تاپیک ها اول قرار بدید... به این عنوان که اگر در برنامه ای به error ی برخوردید تو این تاپیک پست بزنید
اینجوری از زدن تاپیک های اضافی هم جلوگیری می شه
بازم ممنونم ازتون
دوباره سلام.
پیشنهادی خوبی بود.
اما درمورد سوالتون. این کار روش جالب نیست. منظورم گرفتن طول stack. البته نظرمن هست.
اما میتونین به این شکل عمل کنین:
در ضمن باید مقدار max متغییر pos رو هم تغییر بدین. که کافیه یه متغیر کمکی تعریف کنین. البته در سازنده یکد:
#include<iostream.h>
#include "stdlib.h"
template<class T>
class stack
{
public:
stack (int n)
{
a = new T[n];
pos=-1;
}
~stack()
{
delete[] a;
}
public:
void push();
void pop();
private:
T *a;
int pos;
};
template<class T>
void stack<T>::push()
{
if(pos==9)
{
cout<<"stack is full";
return;
}
else
{
T ele;
cout<<"Enter the element : ";
cin>>ele;
a[++pos]=ele;
}
};
template<class T>
void stack<T>::pop()
{
if(pos==-1)
{
cout<<"stack is empty :";
return;
}
else
cout<<"Element to delete is : "<< a[pos--] << endl;
return;
};
int main()
{
stack <char>x(10);
int n;
cout<<"Enter the size of the array : ";
cin>>n;
for(int i=1;i<=n;i++)
x.push();
for(i=1;i<=n;i++)
x.pop();
system("pause");
return 0;
}
کلاس و pos رو با اون مقایسه کنین. اگه نیاز به توضیح داشت اطلاع بدین.
پس لطف کنید خودتون تاپیک رو راه اندازی کنید که همه بیان مشکلات برنامه هاشون رو اونجا بگننقل قول:
ممنونم از توجهتون
خواهش میکنم.
اما تا زمان ایجادش لطفا برای اشکالاتی که ممکنه براتون پیش بیاد یه تاپیک جداگانه و جدید ایجاد کنین.
ممنون از توجهتون.