نقل قول: مشكلات من با ++C
نقل قول:
ه سوال مبتدی :من یه متغیر اعشار دارم که وقتی چاپش می کنم با نماد علمی چاپ میشه.چیکار کنم که با اعشار بیاد که بفهمم چنده؟
ممنون
#include<iomanip>
cout.setf(ios:;fixed);
cout.setf(ios::showpoint);
cout.precision(2);
long f=10.3;
cout<<f<<endl;
نقل قول: مشكلات من با ++C
sh4mid .من هم یه همچین چیزی رو بهش پیشنهاد دادم ولی میخواد خودش کد کاملش رو بنویسه.
نقل قول: مشکلات من با ++C
نقل قول:
نوشته شده توسط
sh4mid
#include<iomanip>
cout.setf(ios:;fixed);
cout.setf(ios::showpoint);
cout.precision(2);
long f=10.3;
cout<<f<<endl;
این دقیقا همون چیزه که می خواستم.با اینsetf خیلی کار کردم اما آخرش به نتیجه نرسید.فکر کنم چون precision رو مقدار نداده بودم جواب نمی داد درسته یا ارتباطی نداره؟البته تو کد شما هم یه مشکل کوچولو هست.شما متغیر صحیح برای مقدار اعشاری تعریف کردید.
یه سوال دیگه هم در همین رابطه:فرق این دو تا کد شیه.منظورم اینه که '|' چه تغییری اعمال می کنه؟
cout.setf(ios::fixed | ios::showpoint);
cout.setf(ios::fixed , ios::showpoint);
نقل قول: مشكلات من با ++C
white tower جان.من که آخر متوجه نشدم که چی می خواهی.:متفکر:
اون چیزی که شما به من گفتی ، هیچ ربطی به این نداشت.
نقل قول: مشکلات من با ++C
نقل قول:
البته تو کد شما هم یه مشکل کوچولو هست.شما متغیر صحیح برای مقدار اعشاری تعریف کردید
این شبه کده ! سخت نگیر :لبخندساده: :لبخندساده::لبخندساده:
نقل قول:
فرق این دو تا کد شیه.منظورم اینه که '|' چه تغییری اعمال می کنه؟
http://www.cplusplus.com/reference/i...ios_base/setf/
http://www.cplusplus.com/reference/i...base/fmtflags/
نقل قول: مشكلات من با ++C
به به سلام دوستان میبینم اینجا خوب رونق گرفته خدا رو شکر
من هم یه سوال ازتون بپرسم
به این برنامه نگه کنید:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
#include "GradeBook.h"
GradeBook::GradeBook(string name)
{
setCourseName( name );
}
void GradeBook::setCourseName( string name )
{
if(name.length() <= 25)
coursename = name;
else
{
coursename = name.substr( 0, 25 );
}
string GradeBook::getCoursename()
{
return coursename;
}
void GradeBook::displaymessage()
{
cout<< "welcome to the gradebook for\n" << getCourseName()<<endl;
}
void GradeBook::determineclassaverage()
{
int total;
int gradecounter;
int grade;
double average;
total = 0;
gradecounter = 0;
cout<< "enter grade or -1 to quit:";
cin>>grade;
while(grade != -1)
{
total = total + grade;
gradecounter = gradecounter + 1;
cout<< "enter grade or -1 to quit:";
cin>>grade;
}
if( gradeconter != 0 )
{
average = static_cast< double >( total ) / gradeconter;
cout << "\ntotal of all" << gradecounter << "grade entered is" << total << endl;
cout << "class average is" << setprecision( 2 ) << fixed << average << endl;
}
else
cout << "no grades were entered " << endl;
}
در این برنامه این دو خط یعنی چی؟
average = static_cast< double >( total ) / gradeconter;
cout << "class average is" << setprecision( 2 ) << fixed << average << endl;
نقل قول: مشکلات من با ++C
نقل قول:
نوشته شده توسط
majmaji
دست گلت درد نکنه محمد جان خیلی بهت زحمت دادم خدا بخواد دیگه فصل 3 تموم شد و حالا رسیدیم سر تمریناش. من از این بخش خوشم میاد چون سوالاش حرفه ای طراحی شده و اگه کسی کتاب رو سرسری خونده باشه نمیتونه به سوالا جواب بده
اگه اشکال نداره من سوالا رو بنویسم و جوابشو بگم شما ببین من درست میگم یا غلط:
1- در مورد تفاوت پیش نمونه تابع و تعریف تابع توضیح دهید:
در پیش نمونه یک تابع ما نام تابع، نوع برگشتی آن و تعداد و نوع داده ها و ترتیب قرار گرفتن پارامتر ها رو که از تابع انتظار دریافت آن را داریم تعریف میکنیم اما تابع را به صورت کامل تعریف نمیکنیم به صورت زیر
void setCourseName(string name) ولی در تعریف تابع ما تابع را در کل تعریف میکنیم یعنی عملیاتی را که تابع انمام می دهد را هم تعریف میکنیم
2- سازنده پیش فرض چیست؟ اگر در کلاسی فقط یک سازنده پیش فرض به طور ضمنی تعریف شده باشد داده های عضو این کلاس چگونه مقدار اولیه میگیرند؟
سازنده پیش فرض به داده عضو کلاس مقدار اولیه نمیدهد اما برای هر داده ی عضوی که یک شی از کلاس دیگر است سازنده پیش فرض را احضار میکند. قسمت دوم سوال رو هم نمیدونم
3- در مورد هدف از استفاده داده عضو را توضیح دهید:
خوب اگر از متغیر محلی استفاده شود فقط در همان محل تعریف تا آخر جایی که آکولاد بسته میشود قابل استفاده است برای این که بتونیم مطمئن بشیم و در چند تابع در یک کلاس از اون استفاده کنیم باید اون رو به صورت داده عضو تعریف کنیم.
4- سرفایل چیست؟ فایل کد مبدا چیست؟ هدف استفاده از هر یک را توضیح دهید؟
سرفایل ها قسمتی از برنامه هستند که دارای پسوند h. هستند و فایل کد مبدا نیز قسمتی از برنامه هستند که دارای پسوند cpp. هستند
برای امنیت بیشتر و برای اینکه کاربر مشتری به برنامه دسترسی نداشته باشه از این دو استفاده میشه.
5- توضیح دهید چگونه بدون نوشتن اعلان using در یک برنامه میتوان از کلاس string استفاده کرد؟
فکر کنم باید کل کلاس string با تابع درونش و عملیاتی که انجام میده رو یک بار تعریف کنیم
6- توضیح دهید چگونه یک کلاس می تواند یک تابع set و یک تابع get برای یک داده عضو فراهم سازد
خوب ما این کار رو در مثال هایی که با هم نوشتیم و بحث و بررسی کردیم انجام دادیم درسته؟
دادا اینا باشه بقیش برنامه نویسی هست من دارم روشون فکر میکنم یخته سخته ولی الان رفتم زیرخمشو گرفتم:لبخند:
من به کتابی که شما میخونین علاقه مند شدم میشه بگین از چه کتابی میخونین؟
نقل قول: مشكلات من با ++C
دوستان من یه مشکل اساسی با این ارایه ها دارم،مثلا یه ارایه ی 10 تایی دارم میخوام حرف o رو با استفاده از کارکتر @ توش در بیاره!هر کدی مینویسم اصلا وقتی کمپایل میکنه هیچی نشون نمیده،خواهش میکنم کمک کنید.
نقل قول: مشکلات من با ++C
نقل قول:
نوشته شده توسط
E G A L E
من به کتابی که شما میخونین علاقه مند شدم میشه بگین از چه کتابی میخونین؟
خیلی ممنون بابتتوجهتون
من از روی کتاب چگونه با سی پلاس پلاس برنامه نویسی کنیم دایتل و دایتل دارم پیش میرم
نقل قول: مشكلات من با ++C
سلام مجید جان
سوال اول :
average = static_cast< double >( total ) / gradeconter;
عملگر static_cast برای تبدیل صریح نوع متغیرها به کار میره ، توی این مثال total اول از نوع int تعریف شده ، بعد توی این خط با دستور static_cast< double >( total ) به double تبدیل میشه
سوال دوم :
cout << "class average is" << setprecision( 2 ) << fixed << average << endl;
تابع setprecision یکی از توابع دستکاری کننده جریان ورودی و خروجی هستش که با اون میتونی مشخص کنی اعداد تا چند رقم اعشار نمایش داده شوند ؛ این کد رو تست کن :
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
double f =3.14159;
cout << setprecision (5) << f << endl;
cout << setprecision (9) << f << endl;
cout << fixed;
cout << setprecision (5) << f << endl;
cout << setprecision (9) << f << endl;
return 0;
}
البته این مباحث کامل تو فصل 15 میخونی
موفق باشی
نقل قول: مشكلات من با ++C
نقل قول:
نوشته شده توسط
lartenk
دوستان من یه مشکل اساسی با این ارایه ها دارم،مثلا یه ارایه ی 10 تایی دارم میخوام حرف o رو با استفاده از کارکتر @ توش در بیاره!هر کدی مینویسم اصلا وقتی کمپایل میکنه هیچی نشون نمیده،خواهش میکنم کمک کنید.
سلام
راستش من متوجه سوالتون نشدم ، اگه ممکنه یه خورده بیشتر توضیح بدید
موفق باشی
نقل قول: مشكلات من با ++C
سلام دادا
خوب مشکل اینه چرا ما باید total رو تبدیل کنیم
مگه ما نمیخوایمکهحاصل تخصیم رو بهمون اعشاری نشون بده پس باید average رو تبدیل کنیم
نه؟
نقل قول: مشكلات من با ++C
نقل قول:
نوشته شده توسط
majmaji
سلام دادا
خوب مشکل اینه چرا ما باید total رو تبدیل کنیم
مگه ما نمیخوایمکهحاصل تخصیم رو بهمون اعشاری نشون بده پس باید average رو تبدیل کنیم
نه؟
آره ، درسته
این مثال فقط میخواسته کاربرد این تابع رو نشون بده ، شاید درست ترش این بود که نوع average رو عوض کنه
موفق باشی
نقل قول: مشكلات من با ++C
سلامت باشی دادا
من دارم برایاینکه فقط مثالای کتاب رو کپی نزده باشم چند تا برنامه از مبتدی انجام بدم تا همین فصل 4
3 تاشو انجام دادم اما یکی دیگش میگه که برنامه ای بنویسید کهاندازه دو ضلع عمود بر هم مثلث قائم الزاویه رو بگیره و اندازه وتر رو حساب کنه من برنامه رو نوشتم ولی خوب نمیدونم از تابع sqrt چگونه استفاده کنم؟
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a, b, c;
cout <<"/n2zele amod barham mosalas ra vared konid:";
cin >> b >>c;
a = sqrt((b*b) + (c*c));
cout << "vatar barabar ast ba:" << a;
return 0;
}
نظرت چیه مطمئنا غلط نوشتم چون ارور داد به نظرت چگونه باید از sqrt استفاده کرد؟
نقل قول: مشكلات من با ++C
سلام
تابع sqrt به این صورت تعریف شده که یک متغیر double یا float رو میگیره و حاصلی که برمیگردونه هم از نوع double یا float هست .
یعنی الان باید نوع متغیرهای a,b,c رو عوض کنی ، مثلا بذار double
این صفحه رو ببین ، فک کنم کمکت کنه :
http://www.cplusplus.com/reference/clibrary/cmath/sqrt/
بازم سوالی بود در خدمتم :چشمک:
موفق باشی
نقل قول: مشكلات من با ++C
دادا دستت درد نکنه این سایت خیلی عالیه
راستی یه سوال دیگه
میگه که بیشترین مقداری که در یک متغیر صحیح جا میگیرد در کامپایلری که شما استفاده میکنید چقدر است؟
اولا مگه این مقدار برای همه کامپایلر ها یکسان نیست؟
حالا سوال بعد گفته از 3 طریق بدست بیارید؟ میتونی کمکم کنی؟
نقل قول: مشكلات من با ++C
توی هر کامپایلر این مقدار متفاوته ، مثلا توی ویژوال استودیو یه مقدار و توی بورلند یا توربو یه مقدار دیگه داره :چشمک:
یکی از روشها استفاده از عملگر sizeof هستش ؛
یه روش دیگه الان به ذهنم میرسه به کمک متغیر char ؛ یادت باشه متغیر char توی همه کامپایلرها 1 بایت فضا میگیره
روش سوم فعلا به ذهنم چیزی نیومد ، روش فکر میکنم :متفکر:
ببینم چه میکنی :چشمک:
موفق باشی
نقل قول: مشكلات من با ++C
بنده هم یه سوال داشتم: سوال برنامه ای رو خواسته که مختصات دو نقظه رو بگیره و با استفاده از این دو نقطه یک مربع رسم کنه،بنده راهی به ذهنم نمیرسه ممنون میشم راهنمایی کنید...
نقل قول: مشكلات من با ++C
نقل قول:
نوشته شده توسط
lartenk
بنده هم یه سوال داشتم: سوال برنامه ای رو خواسته که مختصات دو نقظه رو بگیره و با استفاده از این دو نقطه یک مربع رسم کنه،بنده راهی به ذهنم نمیرسه ممنون میشم راهنمایی کنید...
سلام
خب نباید زیاد سخت باشه ، وقتی مختصات دو نقطه رو داشته باشی طول اضلاع مربع رو میتونی حساب کنی ، بعدا مختصات دو راس دیگه مربع رو میتونی بدست بیاری (این از محاسباتش)
در مورد رسم شکل مربع توی محیط ویژوال استودیو من بلد نیستم ، از دوستانی که با بورلند یا توربو کار کردند میتونی بپرسی :چشمک:
موفق باشی
نقل قول: مشكلات من با ++C
نه ببینید مختصات دو راس مقابل رو دارم،بعد هم اینکه با ارایه باید کار کنم.
نقل قول: مشكلات من با ++C
نه ، نیازی به آرایه نیست ؛
اگه مختصات همه نقاط رو داری که دیگه مشکلی نیست ، باید با استفاده از توابع کلاس graphic شکل رو رسم کنی (من کار با این توابع رو بلد نیستم ، از دوستان دیگه میتونی کمک بگیری )
نقل قول: مشكلات من با ++C
ضمن تشکر از تمامی دوستانی که در این تاپیک با فعالیت خوبشان به دیگران کمک می کنند، لازم می بینم که در مورد ادامه یافتن این تاپیک توضیحی بدهم.
از آنجایی که کل این تالار برای پرسیدن سوالات C/C++ و رفع مشکلات افراد هست، فکر می کنیم که دیگر زمان این رسیده باشد که از قوانین فروم پیروی کنیم.
یعنی هر سوال با عنوان مناسب در یک تاپیک جداگانه پرسیده شود، این طوری پیدا کردن سوالات از طریق جستجو برای سایر کاربران راحت تر می شود و سوالات/پاسخ ها برای همه مفید واقع می شود.
لذا این تاپیک قفل می شود و از دوستان تقاضا می شود که سوالات خود را در تاپیک جداگانه بپرسند.