PDA

View Full Version : مبتدی: نوع stringدر ++Borland C



GENERAL IRAJ
یک شنبه 19 آبان 1392, 16:23 عصر
با سلام ، سوال عجیبی که برای من پیش اومده اینکه آیا در بورلند نوع string و stack نعریف نشده است؟
در کد زیر که فقط تعریف stringو stackاست ایراد داره ؟ میشه بگید چی کار باید بکنم؟


#include <iostream.h>
#include <conio.h>
#include <stack.h>
#include <string.h>
bool pre(char,char);
int convert(char);
int main()
{
string str;
stack<string>st1;
}


میگه که نوع string و stackتعریف نشده است:
Undifeind symbol 'string'
Undifined symbol 'stack'

omidshaman
یک شنبه 19 آبان 1392, 16:27 عصر
std::string
std::stack
یا قبل از main اینو بزار
using namespace std;

GENERAL IRAJ
یک شنبه 19 آبان 1392, 16:38 عصر
آخه تو بورلنده(در محیطtext edit نیازی به استفاده از using نیست).باز هم امتحان کردم جواب نداد.
'string' is not a member of std

omidshaman
یک شنبه 19 آبان 1392, 16:43 عصر
خب آخه Borland هم شد IDE ؟!

string.h رو تبدیل کن به string ببین درست میشه !

GENERAL IRAJ
یک شنبه 19 آبان 1392, 16:56 عصر
من از ابتدای دوران دانشگاه دارم با بورلند کار می کنم . چون برام راحته .میخواهم یه پروژه برای ساختمان داده بنویسم (ماشین حساب که در اون عبارت میانوندی را دریافت و پس از تبدیل به پسوندی چاپ ومحاسبه کنه ).برای این پروژه به string و stack نیاز هست .
الگوریتمو بلدم ، حتی توابعشو هم می دونم چه جوری بنویسم . راستش خیلی وقته که کد نویسی نکردم.
در ضمن را هی که گفتی جواب داد ولی Warning های زیادی داره.
الن هم نمی تونم یه دفعه ای به سراغ ویژوال استدیو برم .(دو سه رو ز دیگه باید تحویلش بدم).

hamedre81
یک شنبه 19 آبان 1392, 17:11 عصر
آخه تو بورلنده(در محیطtext edit نیازی به استفاده از using نیست).باز هم امتحان کردم جواب نداد.
'string' is not a member of std

از ورژن های جدید مانند XE4 یا XE5 استفاده کنید تا با چنین مشکلاتی برخورد نکنید:چشمک:

fahimeh1512
دوشنبه 20 آبان 1392, 14:48 عصر
استرینگ فکر نمیکنم نوع داده تعریف شده ای باشه به جاش از char* استفاده کنید

GENERAL IRAJ
چهارشنبه 22 آبان 1392, 13:46 عصر
خب اگه بخواهم ازchar* استفاده کنم چه جوری طولش رو به دست بیارم .
مثلاً در string با تابع ()string.lenghtمی شه این کارو انجام داد . برای اینکه می خواهم یه عبارتی وارد کنم و بعد از ورود عبارت طول اون رو به دست بیارم.
می شه برام یه مثال بزنی:لبخند:

Ananas
چهارشنبه 22 آبان 1392, 19:43 عصر
سلام.
با تابع: strlen
ولی برای تغییر اندازش باید خودت حافظه رو کنترل کنی. میتونی حافظه ی بزرگ انتخاب کنی که نخای تغییرش بدی. آخر رشته هم با کاراکتر char(0) مشخص میشه. هر جا برسه به کاراکتر char(0) رشته به انتها رسیده که با یک حلقه هم میتونید طول رشته رو بدست بیارید (یا با همون تابع strlen).