راهنمایی برای رفع مشکل برنامه
سلام دوستان اشکال برنامه زیر چیست به ظاهر که باید کار کنه وقتی اجرا میکنم وجمله رو مینویسم اینتر میزنم هنگ میکنه برنامه
#include<iostream.h>
int main()
{
char ch;
int tw=0,tk=0;
cout<<"\nplz enter text";
cin>>ch;
while(ch!='\r')
{
tw ++;
if(ch== ' ' )
{
tk ++;
}
}
cout<<"\n tw ="<<tw<<"\n tk="<<tk;
}
نقل قول: راهنمایی برای رفع مشکل برنامه
#include<iostream>
int main()
{
char ch;
int tw=0,tk=0;
std::cout<<"\nplz enter text\n";
while(ch!='masalan x')
{
std::cin>>ch;
tw ++;
if(ch== ' ' )
{
tk ++;
}
}
std:: cout<<"\n tw ="<<tw<<"\n tk="<<tk;
}
نقل قول: راهنمایی برای رفع مشکل برنامه
الان مشکلش کجا بود ؟؟؟ من میخوام اینتر زد ....
من نمیدونم std ::
چی کار کنه نباید ازش استفاده هم کنم
نقل قول: راهنمایی برای رفع مشکل برنامه
کسی نیست کمک کنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
نقل قول: راهنمایی برای رفع مشکل برنامه
دستور
std::
که قبل از دستور دریافت ورودی و چاپ خروجی اومده خیلی چیز مهمی نیست
بسته به نرم افزار مورد استفاده شما متغیر هست
اگر از دستور
using namespace std;
قبل از تابع main استفاده کنید به std نیاز ندارید
برخی نرم افزار ها هم به دو کد بالا نیاز ندارند و برنامه شما را اجرا می کنند
نقل قول: راهنمایی برای رفع مشکل برنامه
دوست عزیز الان مهم اینه که این کدی که من نوشتم اشکالش کجا هست
مشکلش کجا چرا اجرا نمیشه همه چی که درسته
__________________________________________________ ________________
ممنون از راهنمایی تون ولی نمی خوام از Std استفاده کنم
________________________________________
نقل قول: راهنمایی برای رفع مشکل برنامه
نقل قول:
نوشته شده توسط
storm_saeed
#include<iostream>
int main()
{
char ch;
int tw=0,tk=0;
std::cout<<"\nplz enter text\n";
while(ch!='masalan x')
{
std::cin>>ch;
tw ++;
if(ch== ' ' )
{
tk ++;
}
}
std:: cout<<"\n tw ="<<tw<<"\n tk="<<tk;
}
شما به این برنامه دقت کردید که چه فرقی با برنامه شما داره به جز دستور std
در ضمن الان برنامه شما اجرا میشه و اتفاقی نمیافته یا کلا اجرا نمیشه؟
نقل قول: راهنمایی برای رفع مشکل برنامه
برنامه اجرا میشه زمانی که شما جمله را وارد میکنید اینتر میزنید برنامه هنگ میکند
در صورتی که نباید بکند
به جز
نقل قول: راهنمایی برای رفع مشکل برنامه
برنامه اجرا میشه زمانی که شما متن وارد میکنید و اینتر میزنید برنامه هنگ میکنه
برنامه ایشون به نظر من مشکل داره
دستور داخل while نگاه کنید .....
خوب cin بعد وایل انجام دادن با یه بررسی ظاهری میبینید برنامه من درست انجام میشه
اگر اینتر وارد نشد تعداد حرف من بهش اضافه کن وزمانی که فاصله استفاده شد تعداد کلمه من رو ....
نقل قول: راهنمایی برای رفع مشکل برنامه
اتفاقا برنامه ایشون درسته چون دستور while تا زمانی اجرا میشه که شرط روبروش درست نباشه به همین دلیل از حلقه بیرون نمیاد که بخواد دوباره دستور cin شما رو بخونه
و اینکه دوباره برنامه خودتون رو توضیح بدید فکر کنم منطقتون اشتباه باشه (خط آخر توضیح کار برنامه هست دیگه؟؟؟؟)
نقل قول: راهنمایی برای رفع مشکل برنامه
برنامه من چرا اشتباهه ؟؟؟
برنامه ایشون تست کردم کار نمی کنه
من میگم تا زمانی که اینتر نزده تو وایلم
نقل قول: راهنمایی برای رفع مشکل برنامه
#include<iostream>
using namespace std;
int main()
{
cout<<"\nplz enter text";
string str;
int tw=0,tk=0;
getline(cin,str);
for(int i=0;i<str.size();i++)
{
tw++;
if(str[i]==' ')
tk++;
}
cout<<"\n tw ="<<tw<<"\n tk="<<tk;
}
نقل قول: راهنمایی برای رفع مشکل برنامه
دلیل هنگ بعد از enter اینه که شما باید cin رو داخل حلقه هم بنویسید . چون شما یک بار cin رو نوشتید . و نتیجه حلقه همیشه برابر ! میشه
نقل قول: راهنمایی برای رفع مشکل برنامه
یعنی برای بر طرف کردنش کافی cin بیارم داخل حلقه ؟؟؟؟؟؟؟
نقل قول: راهنمایی برای رفع مشکل برنامه
با توجه به چیزی که من از توضیح شما در مورد برنامه خوندم به نظرم به جز تغییر در قسمتی که خودتون نوشتید باید از یک else برای if داخل حلقه استفاده کنید چون متغیر tw با هر بار اجرای حلقه یک واحد اضافه میشه که فکر نکنم این همان برنامه مدنظر شما باشه درسته؟؟؟