سئوالات و مشکلات برنامه نویسی به زبان C و ++C

Mohandes Mohades

عضو جدید
سلام خسته نباشین میشه راهنمایی کنین ک من چه جوری برنامه بنویسم که عددی رو از ورودی دریافت کنه و کاراکتر مربوط به اون کد اسکی رو به ما بده فقط راهنمایی میخوام نه برنامه !
 

iaidin

عضو جدید
سلام خسته نباشین میشه راهنمایی کنین ک من چه جوری برنامه بنویسم که عددی رو از ورودی دریافت کنه و کاراکتر مربوط به اون کد اسکی رو به ما بده فقط راهنمایی میخوام نه برنامه !
خدمت شما


کد:
char ch;
int i=50;
ch=char(i);
 

Mohandes Mohades

عضو جدید
بازم سلام و خسته نباشید به همگی..
من بازم مشکل دارم میخوام برنامه هامو خودم بنویسم ولی مثلا این یکی و اصلا نمیدونم چیکارش کنم استارتو روشش و بهم بگین اگه میشه تا ببینم چی میشه :D

برنامه ‌ای بنویسید که حقوق ودستمزد کارگرانی ک کارخانه را با شراط زیر محاسبه کند6.

برای کارگرانی که بیش از 10 سال سابقه دارند وسن آنها 30 سالیابیشتراست،

حقوق=حقوق خالص + 10 درصدحقوق به صورت پاداش

برای کارگرانی که بیش از 15 سال سابقه دارند و سن آنها 40 سال یا بیشتراست،

حقوق=حقوق خالص + 20 درصد حقوق به صورت پاداش

برای کارگرانی که بیش از 25 سال سابقه دارند و سن آنها 50 سال یا بیشتر است،

حقوق=حقوق خالص + 25 درصد حقوق به صورت پاداش

برای کارگرانی که کمتراز 10 سال یا کمتر سابقه دارند و یا سن آنها 30 سال ویا کمتر است،

حقوق=حقوق خالص + 2 درصد حقوق به صورت پاداش
 

iaidin

عضو جدید
بازم سلام و خسته نباشید به همگی..
من بازم مشکل دارم میخوام برنامه هامو خودم بنویسم ولی مثلا این یکی و اصلا نمیدونم چیکارش کنم استارتو روشش و بهم بگین اگه میشه تا ببینم چی میشه :D

برنامه ‌ای بنویسید که حقوق ودستمزد کارگرانی ک کارخانه را با شراط زیر محاسبه کند6.

برای کارگرانی که بیش از 10 سال سابقه دارند وسن آنها 30 سالیابیشتراست،

حقوق=حقوق خالص + 10 درصدحقوق به صورت پاداش

برای کارگرانی که بیش از 15 سال سابقه دارند و سن آنها 40 سال یا بیشتراست،

حقوق=حقوق خالص + 20 درصد حقوق به صورت پاداش

برای کارگرانی که بیش از 25 سال سابقه دارند و سن آنها 50 سال یا بیشتر است،

حقوق=حقوق خالص + 25 درصد حقوق به صورت پاداش

برای کارگرانی که کمتراز 10 سال یا کمتر سابقه دارند و یا سن آنها 30 سال ویا کمتر است،

حقوق=حقوق خالص + 2 درصد حقوق به صورت پاداش

sabeghe=سابقه کاری (به صورت سال)
sen=سن (به صورت سال)
khales=حقوق خالص
hoghugh=حقوق

کد:
if (sen>30) & (sabeghe>10)
hoghugh=khales+(0.1*hoghugh);
...
...
 

sungift143

عضو جدید
سلام
من برنامه ای نوشتم ک عددی بین 1 تا 7 دریافت کنه و روز متناسب با اون رو چاپ کنه و اگه عدد اشتباه وارد شد پیغام خطا بده...
این برنامه ارورمیده... مشکل از کجاست؟؟؟
کد:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int x;
    cout<<" please enter a number 1-7 for days :";
    cin>>x;
    switch(x)
    {
    case 1:
        cout<<"saturday";
        break;
    case 2:
        cout<<"sunday";
        break;
    case 3:
        cout<<"monday";
        break;
    case 4:
        cout<<"tusday";
        break;
    case 5:
        cout<<"wendsday";
        break;
    case 6:
        cout<<"thirsday";
        break;
    case 7:
        cout<<"friday";
        break;
    default:
        cout<<"this number isn't correct.";
        break;
    }
    cin.get();
    cin.get();
}
 
آخرین ویرایش:

A.S.Roma

عضو جدید
کاربر ممتاز
سلام
من برنامه ای نوشتم ک عددی بین 1 تا 7 دریافت کنه و روز متناسب با اون رو چاپ کنه و اگه عدد اشتباه وارد شد پیغام خطا بده...
این برنامه ارورمیده... مشکل از کجاست؟؟؟
کد:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int x;
    cout<<" please enter a number 1-7 for days :";
    cin>>x;
    switch(x)
    {
    case 1:
        cout<<"saturday";
        break;
    case 2:
        cout<<"sunday";
        break;
    case 3:
        cout<<"monday";
        break;
    case 4:
        cout<<"tusday";
        break;
    case 5:
        cout<<"wendsday";
        break;
    case 6:
        cout<<"thirsday";
        break;
    case 7:
        cout<<"friday";
        break;
    default:
        cout<<"this number isn't correct.";
        break;
    }
    cin.get();
    cin.get();
}

متن خطا رو بنویسید.
 

Mohandes Mohades

عضو جدید
سلام بازم من

اقا یه برنامه که ایکس و اِن رو بگیره و این و محاسبه کنه x+2x+3x+....nx
من دقیقا نمیدونم چجوری تین مجموع رو به عنوان دستور بنویسم من اینجوری نوشتم ولی میدونم مشکل داره :D
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
int x, n, sum=0;
cout <<" please enter x : ";
cin>>x;
cout<<" please enter n : ";
cin>>n;

while (x<=n)
{
sum=sum+(x*n);
cout<<sum;
n--;
}

getch();
return 0;
}
خودم یافتیدم چیش مشکل داره :|
 
آخرین ویرایش:

sungift143

عضو جدید
دوستان مجبور شدم برنامه ویژوال رو روی سیستم یکی از دوستام نصب کردم و کارمو انجام دادم...

حالا من باید ی برنامه ای بنویسم ک غدد n را از ورودی دریافت کنه و n سطر را ب صورت شکل زیر چاپ کنه.n حداکثر 25
*
**
***
****
*****
******

این برنامه منه:

کد:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,j,n;
cout<<"please enter a number (smaller than 25):";
cin>>n;
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)
cout<<"*";
cout<<"\n";
}
cin.get();
cin.get();
}


اما این شکل رو از چپ چاپ میکنه...

چکار کنم مثل شکل سوال بشه؟؟؟
 
آخرین ویرایش:

sungift143

عضو جدید
من چجوری این برنامه رو ک ب زبان c++ نوشتم به زبان C تبدیل کنم؟؟؟
از زبان c‌هم فقط میدونم ک printf ‌و scanf‌به جای cout ‌و cin هستن

اینم برنامه

کد:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int num,count=0,n=0;
        while(true)
        {
            cout<<"please enter a number:";
            cin>>num;
            if(num<0)
                break;
            n++;
            if (num%2==0)
                count++;
        }
        cout<<"\n events="<<count<<"odds="<<(n-count);
        cin.get();
        cin.get();
}

برنامه ای هست ک تعدادی عدد از ورودی دریافت میکنه و با وارد کردن اولین عدد منفی تعداد اعداد مثبت و منفی مشخص میشه
 
آخرین ویرایش:

Mohandes Mohades

عضو جدید
منو تو حل این دو سوال کمککککککککککککککککککک کنید حتما باید تا صبح بنویسمشششششششششششششششششششششششششششششششششش
1-برنامه‌ای بنویسید که عددی را از ورودی دریافت دارد و اعداد اول از 1 تا آن عدد را چاپ کند
2-برنامه‌ای بنویسید که عددی را از ورودی دریافت کند و اعداد تام از 1 تا آن عدد را چاپ کند
 

Aydin_

عضو جدید
دوستان مجبور شدم برنامه ویژوال رو روی سیستم یکی از دوستام نصب کردم و کارمو انجام دادم...

حالا من باید ی برنامه ای بنویسم ک غدد n را از ورودی دریافت کنه و n سطر را ب صورت شکل زیر چاپ کنه.n حداکثر 25
*
**
***
****
*****
******

این برنامه منه:

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,j,n;
cout<<"please enter a number (smaller than 25):";
cin>>n;
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)
cout<<"*";
cout<<"\n";
}
cin.get();
cin.get();
}


اما این شکل رو از چپ چاپ میکنه...

چکار کنم مثل شکل سوال بشه؟؟؟

ستاره ها رو میتونید یک مربع در نظر بگیرید که هر ضلعش n تا ستاره هستش
سطر اول یک ستاره چاپ میشه و بقیه خالی هستن (n-1 تا جای خالی)
سطر دوم دو ستاره چاپ میشه و بقیه خالی هستن (n-2 تا جای خالی)
......
سطر nام n تا ستاره چاپ میشه و بقیه خالی هستن (n-n تا جای خالی . یعنی 0 جای خالی)

پس شما باید تو حلقه for که از 1 تا n شمارش میکنه در هر سطر n-i جای خالی و i ستاره چاپ کنید (i همون متغیر شمارنده حلقه هستش)
یادتون باشه که ترتیب چاپ iها و n-iها مهمه
اگر i ابتدا و جاهای خالی بعد i چاپ بشه ستاره ها چپ چین میشن
و برعگس
 

Aydin_

عضو جدید
منو تو حل این دو سوال کمککککککککککککککککککک کنید حتما باید تا صبح بنویسمشششششششششششششششششششششششششششششششششش
1-برنامه‌ای بنویسید که عددی را از ورودی دریافت دارد و اعداد اول از 1 تا آن عدد را چاپ کند
2-برنامه‌ای بنویسید که عددی را از ورودی دریافت کند و اعداد تام از 1 تا آن عدد را چاپ کند

اصلا چند دقیقه رو این سوالات فکر کرده اید شما ؟
خودتون دست به کار بشید و کد بزنید
کدتون رو بگذارید اینجا تا توسط دیگران مشکل کدهاتون رو حل کنید
نگران هم نباشید . چون هیچکس از شکم مادر برنامه نویس زاده نشده و همه اولش تو کدنویسی لنگ میزنند
 

sungift143

عضو جدید
ستاره ها رو میتونید یک مربع در نظر بگیرید که هر ضلعش n تا ستاره هستش
سطر اول یک ستاره چاپ میشه و بقیه خالی هستن (n-1 تا جای خالی)
سطر دوم دو ستاره چاپ میشه و بقیه خالی هستن (n-2 تا جای خالی)
......
سطر nام n تا ستاره چاپ میشه و بقیه خالی هستن (n-n تا جای خالی . یعنی 0 جای خالی)

پس شما باید تو حلقه for که از 1 تا n شمارش میکنه در هر سطر n-i جای خالی و i ستاره چاپ کنید (i همون متغیر شمارنده حلقه هستش)
یادتون باشه که ترتیب چاپ iها و n-iها مهمه
اگر i ابتدا و جاهای خالی بعد i چاپ بشه ستاره ها چپ چین میشن
و برعگس


یعنی من الان باید توی حلقه for دومم تغیر ایجاد کنم؟؟؟
چون for اول ک برای تعداد سطرهام هست...
 

sungift143

عضو جدید
منو تو حل این دو سوال کمککککککککککککککککککک کنید حتما باید تا صبح بنویسمشششششششششششششششششششششششششششششششششش
1-برنامه‌ای بنویسید که عددی را از ورودی دریافت دارد و اعداد اول از 1 تا آن عدد را چاپ کند
2-برنامه‌ای بنویسید که عددی را از ورودی دریافت کند و اعداد تام از 1 تا آن عدد را چاپ کند


شما باید اول برای برنامه عدد اول و عدد تام رو تعریف کنید
 

sungift143

عضو جدید
منظور این سوال چیه؟؟؟

*برنامه ای ب زبان c بنویسید ک دو عدد m و n را از کاربر گرفته و مجموع اعداد مضرب 3 بین آنها را به صورت جداگانه چاپ کند...

یعنی دو تا عدد بگیره بعد اعدادی ک مضرب 3 هستند و بین این دوتا عدد رو با هم جمع کنه و جمعشونو نشون بده؟؟؟
 

sungift143

عضو جدید
من برنامه ای که بگه این عدد تام هست یا نه رو نوشتم خب ولی الان واسه این نمیدونم چیکار کنم؟
عدد اولم 2 استثناست دیگه نمیدونم چیکار کنم


این برنامه میگه عددی ک وارد شده عدد اول هست یا نه

کد:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int i,x,n;
    cout<<"please enter a number:";
    cin>>x;
        for(i=2;i<x/2;i++)
        {
            if(x%i==0)
            n=1;
            break;
        }
        if (n==0)
            cout<<"it's Prime number\n";
        else
            cout<<"it isn't Prime number\n";
        cin.get();
        cin.get();
}
 
آخرین ویرایش:

Mohandes Mohades

عضو جدید
این برنامه میگه عددی ک وارد شده عدد اول هست یا نه

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,x,n;
cout<<"please enter a number:";
cin>>x;
for(i=2;i<x/2;i++)
{
if(x%i==0)
n=1;
break;
}
if (n==0)
cout<<"it's Prime number\n";
else
cout<<"it isn't Prime number\n";
cin.get();
cin.get();
}


میشه الگوریتمش و بگین ما هنوز فور نخوندیم :(
 

sungift143

عضو جدید
دوستان خروجی های این برنامه رو

int c=1;
while(c++<5)
{
c--;
printf("%d",(--c)++);
(c+=2)--;
}
چجوری باید بدست بیارم؟؟؟

من جواباشو اینجوری پیدا کردم : 2و3و4
درسته؟؟؟
 

behnam5670

عضو جدید
کاربر ممتاز
دوستان، عزیزان، وقتی توو پست‌هاتون یک کد قرار میدید، صفحه‌ی پشرفته رو بزنید و کد رو داخل تگ code قرار بدید تا بتونیم کدهاتون رو بخونیم. اینطوری اصلاً رغبتی به نگاه کردن به پست‌هاتون ندارم.
مثال استفاده از تگ کد:
کد:
[COLOR=#000000]int c=1;[/COLOR]
[COLOR=#000000]while(c++<5)[/COLOR]
[COLOR=#000000]{[/COLOR]
[COLOR=#000000]c--;[/COLOR]
[COLOR=#000000]printf("%d",(--c)++);[/COLOR]
[COLOR=#000000](c+=2)--;[/COLOR]
[COLOR=#000000]}[/COLOR]
 

sungift143

عضو جدید
دوستان، عزیزان، وقتی توو پست‌هاتون یک کد قرار میدید، صفحه‌ی پشرفته رو بزنید و کد رو داخل تگ code قرار بدید تا بتونیم کدهاتون رو بخونیم. اینطوری اصلاً رغبتی به نگاه کردن به پست‌هاتون ندارم.
مثال استفاده از تگ کد:
کد:
[COLOR=#000000]int c=1;[/COLOR]
[COLOR=#000000]while(c++<5)[/COLOR]
[COLOR=#000000]{[/COLOR]
[COLOR=#000000]c--;[/COLOR]
[COLOR=#000000]printf("%d",(--c)++);[/COLOR]
[COLOR=#000000](c+=2)--;[/COLOR]
[COLOR=#000000]}[/COLOR]

من معذرت میخوام .. من نمیدونستم چجوری باید این کارو کنم....
ممنون ک یادآوری کردین
 

Aydin_

عضو جدید
یعنی من الان باید توی حلقه for دومم تغیر ایجاد کنم؟؟؟
چون for اول ک برای تعداد سطرهام هست...
یه راهش اینه که حلقه اول سرجاش میمونه و توش دو تا حلقه تعریف میکنید
یکیش n-i تا جای خالی چاپ میکنه و حلقه دومی i تا ستاره
منظور این سوال چیه؟؟؟

*برنامه ای ب زبان c بنویسید ک دو عدد m و n را از کاربر گرفته و مجموع اعداد مضرب 3 بین آنها را به صورت جداگانه چاپ کند...

یعنی دو تا عدد بگیره بعد اعدادی ک مضرب 3 هستند و بین این دوتا عدد رو با هم جمع کنه و جمعشونو نشون بده؟؟؟

بله یعنی همین
مثلا دو تا عدد 10 و 20 رو میدید بهش
برنامه یه حلقه داره که مقدار اولیه شمارنده ش همون n یا 10 هست و بازه ش تا m یا همون 20
اینطوری :
کد:
for (i=n;i<m;i++)
یه متغیر هم خارج از حلقه تعریف میکنید با مقدار اولیه 0
بعد تو این حلقه اعداد 10 تا 20 رو چک میکنید و اگر عددی مضرب 3 بود با متغیری که قبلا تعریف کرده اید جمعش میکنید
آخر سر خارج از حلقه اون متغیر که حالا مقدارش دیگه 0 نیست رو چاپ میکنید

میتونید کد رو بنویسید و اگه مشکلی داشت بگذارید اینجا تا باهمدیگه مشکلش رو برطرف کنیم
 

Aydin_

عضو جدید
میشه الگوریتمش و بگین ما هنوز فور نخوندیم :(

فکر کنم این کد اگه اینجوری باشه بهتره :
کد:
[LEFT]#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int i,x,n=0;
    cout<<"please enter a number:";
    cin>>x;
        for(i=2;i<x/2;i++)
        {
            if(x%i==0)
            n=1;
            break;
        }
        if (n==0)
            cout<<"it's Prime number\n";
        else
            cout<<"it isn't Prime number\n";
        cin.get();
        cin.get();
}
[/LEFT]
عدد اول چه عددیه ؟
عددی که به هیچکدام از اعداد کوچکتر از خودش بخش پذیر نباشه (البته به جز 1)
درسته ؟
حالا باید برنامه ای بنویسید که عددی رو از کاربر بگیره و تو حلقه for از عدد 2 شروع کنه تا عددی که از کاربر گرفته ، چک کنه ببینه این عدد به اعداد کوچکتر از خودش بخش پذیره یا نه
واسه اینکه برنامه این همه عدد رو چک نکنه میتونید از عدد 2 شروع کنیم تا نصف عددی که کاربر وارد میکنه رو چک کنیم
این یه مسئله ریاضات گسسته ست که تو دبیرستان خوندیم
یعنی مثلا واسه اینکه بدونیم عددی مثل 23 اول هست یا نه میایم چک میکنیم :
23 بر 2 بخش پذیره ؟ نه
23 بر 3 بخش پذیره ؟ نه
23 بر 4 بخش پذیره ؟ نه
23 بر 5 بخش پذیره ؟ نه
23 بر 6 بخش پذیره ؟ نه
23 بر 7 بخش پذیره ؟ نه
23 بر 8 بخش پذیره ؟ نه
23 بر 9 بخش پذیره ؟ نه
23 بر 10 بخش پذیره ؟ نه
23 بر 11 بخش پذیره ؟ نه

پس این عدد اول هست
چون به هیچ کدام از اعداد کوچکتر از نصف خودش بخش پذیر نیست

تو این کد هم اومده عین همین رو پیاده کرده
یه عدد از کاربر میگیره (x)
بعد تو حلقه for از 2 شروع میکنه تا نصف عدد وارد شده یعنی x/2 چک میکنه
اگر باقیمانده x بر i برابر 0 بود پس یعنی عدد وارد شده اول نیست (i هی توسط حلقه یکی یکی بیشتر میشه مقدارش تا اینکه به x/2 برسه)
اون علامت درصد هم واسه باقیمانده به کار میره

تو برنامه اگر باقیمانده برابر 0 باشه مقدار n برابر 1 میشه و از حلقه خارج میشه . چون لازم نیست دیگه بقیه i ها چک بشن

به نقشی که متغیر n تو برنامه داره فلگ یا پرچم میگن
یعنی مقدارش تو برنامه یا 0 هست یا 1
اگه مقدارش 0 باشه یه چیزی چاپ میکنه برنامه و اگه 1 باشه یه چیز دیگه

اگه جایی رو متوجه نشدید بگید توضیح بدم
 

sungift143

عضو جدید
یه راهش اینه که حلقه اول سرجاش میمونه و توش دو تا حلقه تعریف میکنید
یکیش n-i تا جای خالی چاپ میکنه و حلقه دومی i تا ستاره

‌یعنی برای for اول داخل حلقه اینو بنویسم
کد:
for(k=0;k<=n-i;k++)
برای for دوم
کد:
for(j=0;j<i;j++)

بله یعنی همین
مثلا دو تا عدد 10 و 20 رو میدید بهش
برنامه یه حلقه داره که مقدار اولیه شمارنده ش همون n یا 10 هست و بازه ش تا m یا همون 20
اینطوری :
کد:
for (i=n;i<m;i++)
یه متغیر هم خارج از حلقه تعریف میکنید با مقدار اولیه 0
بعد تو این حلقه اعداد 10 تا 20 رو چک میکنید و اگر عددی مضرب 3 بود با متغیری که قبلا تعریف کرده اید جمعش میکنید
آخر سر خارج از حلقه اون متغیر که حالا مقدارش دیگه 0 نیست رو چاپ میکنید

میتونید کد رو بنویسید و اگه مشکلی داشت بگذارید اینجا تا باهمدیگه مشکلش رو برطرف کنیم
ممنون اما من چون باید این برنامه رو ب زبان c‌ بنویسیم مشکل دارم... من c++‌کار کردم...
 

sungift143

عضو جدید
برنامه ای بنویسید ک عددی از ورودی خوانده و مشخص کند جزء سری فیبوناچی هست یا نه.....

من کد برنامه ای ک عددی از ورودی دریافت میکنه و اعدادی ک جز سری فیبوناچی و قبل اون عدد ورودی هستن رو چاپ میکنه رو دارم.....
کدش اینه

کد:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int n,sum,a=1,b=1,c,i;
cout<<"please enter a number:";
cin>>n;
cout<<a<<","<<b;
    for(int i=3;i<=n;i++)
    {
        c=a+b;
cout<<","<<c;
        a=b;
       b=c;
}
cin.get();
cin.get();
}

الان باید اول سری رو برای برنامه تعریف کنم بعد if‌بزارم...
اما نمیدونم شرط if‌ رو چی باید بنویسم....:(
 

₪آمیتریس₪

کاربر حرفه ای
کاربر ممتاز
سلام دوستان !

این سوالا رو یکی داده من بذارم اینجا ! خیلیم نیاز داره گویا :cry:

میشه کمک کنید لطفا ؟ :(


چهار سؤال برنامه نويسي به زبان++ C

سؤال اول:برنامه اي بنويسيد كه يك كلمه از كاربر دريافت كرده وسپس آن را برعكس كند؟

سؤال دوم:برنامه اي بنويسيد جدول ضرب 1تا10 را در يك آرايه ي 2بعدي ذخيره كرده پس از كاربر 2عدد يك رقمي گرفته و حاصل ضرب آن دو را بدون عمل ضرب از همان آرايه بخواند و اعلام كند؟

سؤال سوم:برنامه اي بنويسيد كه ضرب يك عدد يك رقمي در يك عدد حداكثر 100رقمي محاسبه و چاپ كند؟

سؤال چهارم:برنامه اي بنويسيد كه 100 خانه آرايه را با اعداد تصادفي 1392 تا 2014 را پركند؟

 

Similar threads

بالا