با سلام
من برایترم تابستانه برنامه نویسی گرفتم
توش موندم
این setw به چه درد میحوره؟؟؟
همچنین دستور rand...
Printable View
با سلام
من برایترم تابستانه برنامه نویسی گرفتم
توش موندم
این setw به چه درد میحوره؟؟؟
همچنین دستور rand...
مي شه اينطور گفت setw(): براي خروجي هايي كه طولشون متفاوته مي تونين از اين تابع استفاده ميشه تا مرتب چاپشون كرد و يه آرگومان براي مشخص كردن اون طول ميگيره .
و تابع ()rand براي چاپ كردن اعداد تصادفي به كار ميره اما در هر بار استفاده همون اعدادي رو توليد مي كنه كه در اولين بار توليد مي كرده ، مثلا rand(5) يه سري عدد تصادفي توليد مي كنه و اگه دو بار همينو بخواي چاپ كني همون اعداد رو دباره چاپ مي كنه .و بهتره از تابع Srand استفاده كنيد.
good luck :)
setw دستوری از کتابخانه iomanip است که به وسیله آن میتونی فاصله بین کلمات تو خروجی رو تایین کنی مثل مثال زیر:
cout << "a" << setw(20) << "b" << endl;
که در این مثال فاصله a و b به اندازه 20 کارکتر است.
دستور rand هم همون کاریو میکنه که دوستمون گفت و برای حل مشکلش فقط یک بار از srand استفاده میکنیم که بر اساس تایم سیستم دستورات تصادفی ایجاد میکنه در غیر این صورت این اعداد تصادفی به ظاهر تصادفی جلوه میکنه در صورتی که تمام کامپیوترها این اعداد رو تولید میکنن.
ايت هم يك نمونه استفاده از دستور setw به همراه خروجي آن:
کد:1 // Fig. 5.6: fig05_06.cpp
2 // Compound interest calculations with for.
3 #include <iostream>
4 using std::cout;
5 using std::endl;
6 using std::fixed;
7
8 #include <iomanip>
9 using std::setw; // enables program to set a field width
10 using std::setprecision;
11
12 #include <cmath> // standard C++ math library
13 using std::pow; // enables program to use function pow
14
15 int main()
16 {
17 double amount; // amount on deposit at end of each year
18 double principal = 1000.0; // initial amount before interest
19 double rate = .05; // interest rate
20
21 // display headers
22 cout << "Year" << setw( 21 ) << "Amount on deposit" << endl;
23
24 // set floating-point number format
25 cout << fixed << setprecision( 2 );
26
27 // calculate amount on deposit for each of ten years
28 for ( int year = 1; year <= 10; year++ )
29 {
30 // calculate new amount for specified year
31 amount = principal * pow( 1.0 + rate, year );
32
33 // display the year and the amount
34 cout << setw( 4 ) << year << setw( 21 ) << amount << endl;
35 } // end for
36
37 return 0; // indicate successful termination
38 } // end main
کد:Year Amount on deposit
1 1050.00
2 1102.50
3 1157.63
4 1215.51
5 1276.28
6 1340.10
7 1407.10
8 1477.46
9 1551.33
10 1628.89
سلام دوستان عزیر
می تونید به من هم کمک کنید ؟؟؟؟
من یه برنامه می خواهم با همین دستور setw() که سه حرف اول اسم رو مثلا mohammad چاپ کنه
می تونید کمکم کنید ؟؟؟
ممنونتونم