زمان جاری : چهارشنبه 19 اردیبهشت 1403 - 4:00 قبل از ظهر
نام کاربری : پسورد : یا عضویت | رمز عبور را فراموش کردم



ارسال پاسخ
تعداد بازدید 13171
نویسنده پیام
admin آفلاین


ارسال‌ها : 18
عضویت: 9 /5 /1393
محل زندگی: Karaj
سن: 18
شناسه یاهو: hamed_razor@ymail.com
تشکرها : 3
تشکر شده : 2
حل تمرینات و پروژه فصل دوم کتاب برنامه نویسی جعفرنژاد قمی
سلام
در این تاپیک قصددارم تا جواب تمرینات و پروژه فصل دوم کتاب برنامه نویسی سی پلاس پلاس جعفرنژاد قمی رو براتون بزارم
این نکته رو بگم که این تمرینات رو خودم حل کردم و ممکم هست بعضی از تمرینات جواب شون درست نباشه یا اشکالاتی داشته باشه که من عذرخواهی میکنم

ویرایش چهارم
چاپ : 1393

تمرینات

برنامه ای بنویسید که خروجی زیر را دقیق به همین کل تولید نماید :

کد:

x x * 10 x * 100 x * 1000
------------------------------------------------------------------
1 10 100 1000
2 20 200 2000
3 30 300 3000


کد:

int d = 1;
cout << "\nx x * 10 x * 100 x * 1000\n--------------------------------------------"<<endl;
for(int x = 1;x < 4 ; x++){
for(int y = 1 ;y <= 4; y++){
cout << x * d << "\t";
d *=10;
}
cout << "\n"<<endl;
d = 1;
}


برنامه ای بنویسید که عددی مثل n را (کمتر از 10) از ورودی خوانده فاکتوریل آنرا محاسبه کند و به خروجی ببرد: N!=1*2*3*...*N



کد:

double x,c,y=1;
Loop:
cout << "Please Enter n :" << endl;
cin >> x;
if(x > 10){
cout << "Try Again (n < 10)";
getch();
system("cls");
goto Loop;
}
y = 1;
for(c = 1 ;c <= x; c++)
y *= c;
cout << "Factoriel = " << y << endl;



برنامهای بنویسید که شماره دانشجویی و معدل تعداد n دانشجو را از ورودی خوانده، دانشجویی را که دومین معدل را از نظر بزرگی دارد پیدا کند و به خروجی ببرد؟



کد:

int n, i=0, id_max1, id_max2, id;
float ave_max1, ave_max2, ave;
Loop:
cout << "n : ";
cin >> n;
if(n < 2){
cout << "Error";
goto Loop;
}
for(i = 1; i <= n; i++){
cout << "Please Enter id : " << i << endl;
cin >> id;
cout << "Please Enter average : " << i << endl;
cin >> ave;
if(ave>=ave_max1){
ave_max2 = ave_max1;
id_max2 = id_max1;
ave_max1 = ave;
id_max1 = id;
}
else if(ave >= ave_max2){
ave_max2 = ave;
id_max2 = id;
}
}
cout << "Average = " << ave_max2 << " Id : " << id_max2;



برنامهای بنویسید که اعدادی را از ورودی خوانده تشخیص دهد که آیا اعداد مورد نظر، کامل هستند یا خیر، عددی کامل است که مجموع مقسوم علیههای آن (به جز خودش) با آن عدد برابر باشد. پس از بررسی هر عدد، برنامه باید از کاربر سوال کند که میخواهد بکارش ادامه دهد یا خیر؟



کد:

int x, sum, y;
char c;
Loop:
sum = 0;
printf("Please Enter n : ");
cin >> x;
for (int i = 1; i < x ;i++){
y = x % i;
if (y == 0) sum = sum + i;
}
if (sum == x) cout << "Kamel: " << x << endl;
else cout << "Kaml Nist : " << x << endl;
cout << "Try Again ? Y , N";
c = getch();
if(c == 'Y' || c == 'y'){
system("cls");
goto Loop;
}



برنامهای بنویسید که خروجی زیر را در صفحه نمایش تولید کند.

*
**
***
****
*****
******



کد:

for (int x = 1; x <= 6; x++){
for (int y = 1; y <= x; y++){
cout << "* ";
}
cout << "\n";
}



برنامهای بنویسید که کاراکتری را که نشان دهنده رنگی است از ورودی خوانده، به شما بگوید که چه رنگی را میخواهد انتخاب کند. مثلا اگر کاربر حرف ‘r’ را وارد کرد برنامه به او بگوید که دوست دارد رنگ قرمز را انتخاب کند. برای تمام موارد، حروف کوچک و بزرگ کنترل شود، مثلا ‘r’ و ‘R’برای رنگ قرمز.




کد:

char C;
loop:
cout << "Please Enter First Character Of Color : " << endl;
C = getch();
if (C == 'r' || C == 'R')
cout << "Red";
else if(C == 'g' || C == 'G')
cout << "Green";
else if(C == 'w' || C == 'W')
cout << "White";
else if(C == 'b' || C == 'B')
cout << "Black";
else if (C == 'y' || C == 'Y')
cout << "Yellow";
else{
cout << "Not Find = "<< C << "\nTry Again";
getch();
system("cls");
goto loop;
}



5ـ برنامهای بنویسید که تعداد n جمله از سری فیبوناجی را تولید کند.
سری فیبوناجی= 1 1 2 3 5 8 13 …



کد:

int i, n, x = 1 , y = 1 , temp;
cout << "Please Enter n : ";
cin >> n;
for(i=1 ; i<=n ; i++){
cout << x << " ";
temp = y;
y = x + y;
x = temp;
}



برنامهای بنویسید که دو عدد صحیح مثبت را از ورودی خوانده، آنها را به روش تفریق بر هم، تقسیم کند.



کد:

int i = 1, x, y, temp;
cout << "Please Enter True Number : X and Y " << endl;
cin >> x >> y;
temp = x;
while (x > y){
x = x - y;
i++;
}
cout << temp << " / " << y<< " = " <<i;



برنامهای بنویسید که شماره کارمندی و حقوق تعدادی از کارکنان مؤسسهای را دریافت کرده، بر اساس تعرفه زیر، مالیات حقوق آنها را محاسبه کند و به خروجی ببرد. سپس مشخص کند بیشترین دریافتی مربوط به کدام کارمند است.

از مالیات معاف :
کد:

int id, id_max, n, i;
float s, m, max = 0.0;
cout << "Please Enter Number: ";
cin >> n;
for (i = 1; i <= n; i++){
cout << "Please Enter ID : " << i << endl;
cin >> id;
cout << "Please Enter Salary : " << i << endl;
cin >> s;
if (s <= 400000)
m = 0.0;
else if (s > 400000 && s <= 500000)
m = 0.1*s;
else if(s > 500000 && s <= 700000)
m = 0.15*s;
else if(s > 700000)
m = 0.17*s;
cout << "Maliat = " << m <<endl;
if (s > max){
max = s;
id_max = id;
}
}
cout << "Max = " << id_max << " ID = " << max ;



خروجی دستورات زیر را بنویسید.


کد:

x = 5;
while(--x>0)
cout << x;


اعداد چهار تا یک ار چاپ میکند

دستورات زیر را با for بنویسید.


کد:

int i=1;
while(i<=10)
{
if(i<5 && i!=2)
cout << 'x';
i++
}



کد:

for(int i = 1 ; i <= 10;i++){
if(i < 5 && i != 2)
cout << 'x';
}



برنامهای بنویسید که حاصل عبارت زیر را محاسبه کند .


کد:

int n;
float sum = 1.0;
long fac;
Loop:
cout << "Please Enter n < 10: " << endl;
cin >> n;
if(n >= 10){
system("cls");
cout <<"Try Again ! " << endl;
goto Loop;
}
cout << "1" << endl;
for(int i = 2 ; i <= n ; i++){
cout << "+1 / " << i << "! ";
fac = 1;
for(int x = 1 ; x <= i ; x++)
fac = fac * x;
sum = sum + 1.0/fac;
}
cout << "\nSum = "<< sum;



برنامهای بنویسید که عددی از 1 تا 7 را از ورودی خوانده، روزی از هفته که معادل با آن است در خروجی چاپ کند (با switch).



کد:

int D;
Loop:
cout << "Please Enter Number Of Day 1 . . 7 : ";
cin >> D;
switch (D){
case 1: cout << "Shanbe"; break;
case 2: cout << "1 shanbe"; break;
case 3: cout << "2 shanbe"; break;
case 4: cout << "3 shanbe"; break;
case 5: cout << "4 shanbe"; break;
case 6: cout << "5 shanbe"; break;
case 7: cout << "Jomee"; break;
default:
system("cls");
cout <<"Try Again" << endl;
goto Loop;
break;
}
getch();



برنامهای بنویسید که سال تولد کاربر و سال فعلی را از ورودی خوانده، مشخص کند که او چند سال، چند ماه، چند روز، چند ساعت، چند دقیقه و چند ثانیه عمر کرده است.



کد:

int y1, y2, y, m;
long d, h, mn, s;
cout << "Tarikh Tavalode Khod Ra Vared Konid : ";
cin >> y1;
cout << "Dar Che Sali Hastim : ";
cin >> y2;
y = y2 - y1;
m = y * 12;
d = m * 30;
h = d * 24;
mn = h * 60;
s = mn * 60;
cout << "Age: " << y <<"\nMonths: " << m << "\nDays: " << d << "\nHours: "<< h <<"\nMinutes: " << mn << "\nSeconds: " << s;



برنامهای بنویسید که با استفاده از حلقههای تو در تو خروجی زیر را تولید کند.
$$$$$$
$$$$$$
$$$$$$
$$$$$$



کد:

for(int i = 1; i <= 4; i++){
for(int x = 1 ;x <= 6; x++)
cout << "$";
cout << "\n";
}


برنامهای بنویسید که دو مقدار اعشاری را از ورودی خوانده و تفاضل حاصلضرب و حاصل تقسیم آنها را محاسبه کرده و به خروجی ببرد. برنامه وقتی خاتمه مییابد که هر دو عدد اعشاری صفر باشند.


کد:

float a , b ,x ;
while (true){
cout << "Please Enter float a : ";
cin >> a ;
cout << "Please Enter float b : ";
cin >> b ;
if(a == 0 && b == 0) break;
x = (a*b) - (a/b);
cout << "result = " << x << endl ;
}
cout << "\nEnd";



برنامهای بنویسید که یک عدد اعشاری مثل 643.21 را خوانده، وارون آن را بیابد. وارون این عدد 12.346 است.


کد:

const int k = 100;
char ch[k];
int len = 0;
cout << "Please Enter Number : ";
cin >> ch;
len = strlen(ch) - 1;
while(len >=0){
cout << ch[len];
len--;
}



برنامهای بنویسید که یک عدد اعشاری را از ورودی خوانده، هر یک از قسمتهای صحیح و اعشاری آنرا به صورت یک عدد صحیح به خروجی ببرد. به عنوان مثال، عدد 13.42 به صورت دو عدد صحیح 13 و 42 به خروجی ببرد.


کد:

const int k = 100;
char ch[k];
int len = 0,n = 0;
string str;
cout << "Please Enter Number : ";
cin >> ch;
len = strlen(ch);
while(len >= n){
if(ch[n] != '.')
str += ch[n];
else{
cout << str << endl;
str = "";
}
n++;
}
cout << str << endl;


چهارشنبه 14 مرداد 1394 - 14:36
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
admin آفلاین



ارسال‌ها : 18
عضویت: 9 /5 /1393
محل زندگی: Karaj
سن: 18
شناسه یاهو: hamed_razor@ymail.com
تشکرها : 3
تشکر شده : 2
پاسخ : 1 RE حل تمرینات و پروژه فصل دوم کتاب برنامه نویسی جعفرنژاد قمی
پروژه

برنامهای بنویسید که عددی را در مبنای a گرفته، آنرا به مبنای b ببرد.


کد:

long a, b, na, nb, n10, i;
cout << "Mabnaye Add Aval (a) : ";
cin >> a;
cout << "Mabnaye Add Dovom (b) : ";
cin >> b;

cout << "Add Dar Mabnaye a (na) : ";
cin >> na;

n10 = 0;
i = 0;

while(na>0){
n10 = n10 + ((na%10)*pow(a,i));
na = na / 10;
i++;
}

nb = 0;
i = 0;

while(n10>0){
nb = nb + ((n10%b)*pow(10,i));
n10 = n10 / b;
i++;
}

cout << "Mabnaye B : " << nb ;




برنامه ای بنویسید که یک سکه ی 100 ریالی را به تعداری سکه های 2 و 5 و 10 و 30 و 50 ریالی تبدیل کند.


کد:

int sum;
for(int r2 = 0 ; r2 <= 50 ; r2++)
for(int r5 = 0; r5 <= 20 ; r5++)
for(int r10 = 0 ; r10 <= 10 ; r10++)
for(int r20 = 0; r20 <= 5 ; r20++)
for(int r50 = 0 ; r50 <= 2 ; r50++){
sum = r2 * 2 + r5 * 5 + r10 * 10 + r20 * 20 + r50 * 50;
if(sum == 100){
cout <<"2 Riali = "<<r2 << endl;
cout <<"5 Riali = "<<r5 << endl;
cout <<"10 Riali = "<<r10 << endl;
cout <<"20 Riali = "<<r20 << endl;
cout <<"50 Riali = "<< r50 << endl;
cout << "\n";
}
else
sum=0;



چهارشنبه 14 مرداد 1394 - 14:48
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
تشکر شده: 1 کاربر از admin به خاطر این مطلب مفید تشکر کرده اند: adrina /
ارسال پاسخ



برای ارسال پاسخ ابتدا باید لوگین یا ثبت نام کنید.


پرش به انجمن :

theme designed for MyBB | RTL by MyBBIran.com