انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: برنامه سازی به زبان c  (دفعات بازدید: 5070 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین رجبی

  • Full Member
  • *
  • ارسال: 156
  • جنسیت : پسر
    • پایگاه شخصی علی رجبی
برنامه سازی به زبان c
« : 14 اسفند 1387، 07:20 ب‌ظ »
سلام من یک کد سی که در لینوکس با geany اجرا میکنم خطای زیر یا هشدار زیر را میبینم در ویندوز با turbo c++ مشکلی نداره.
#include <stdio.h>
int a=0;
int main ()
{
printf("Please enter a number :");
scanf("%i ",a);
printf("Your Nubmer: %i",a);

return 0;
}

message:  test.c:6: warning: format ‘%i’ expects type ‘int *’, but argument 2 has type ‘int’

مشکل چیه ؟
یک سوال دیگه چه طوری c++ را نیز در لینوکس بنویسیم ؟
و سه اینکه برنامه Kdevelop چرا کد ها رو build یا کام\ایل نمیکند؟

با تشکر. :)

آفلاین Saman.S

  • Sr. Member
  • *
  • ارسال: 322
  • جنسیت : پسر
پاسخ به: برنامه سازی به زبان c
« پاسخ #1 : 14 اسفند 1387، 07:54 ب‌ظ »
scanf برای این که بتونه مقدار متغیرها رو عوض کنه, آدرس متغیر رو بگیره نه خود متغیر رو. به جای a از a& استفاده کنید. توربوسی اشکال نمی گیره ولی جواب درستی هم نمی ده.
پ=M

آفلاین رجبی

  • Full Member
  • *
  • ارسال: 156
  • جنسیت : پسر
    • پایگاه شخصی علی رجبی
پاسخ به: برنامه سازی به زبان c
« پاسخ #2 : 14 اسفند 1387، 10:01 ب‌ظ »
ممنون
نگفتید چرا kdevelop کامپایل را نداره و فایل را نمیسازه ؟

« آخرین ویرایش: 14 اسفند 1387، 10:36 ب‌ظ توسط رجبی »

آفلاین hamid206

  • Jr. Member
  • *
  • ارسال: 99
پاسخ به: برنامه سازی به زبان c
« پاسخ #3 : 15 اسفند 1387، 12:04 ق‌ظ »
همم . براي c++ هم از همون geany استفاده كن هم سبك تر هست هم امكاناتش كامل هست ولي در مورد كامپايلر دقيقا نمي فهمم منظور شما چيه نه geany و نه kdevel فكر نمي كنم كامپايلر داشته باشن فقط يه دكمه دارن كه كليك مي كني و همون دستوري كه شما قرار بود به فرض به gcc يا g++ در خط فرمان بدي خودشون اجرا مي كنن و خروجي حاصل رو حالا در يك پنجره نمايش مي دن ( اگه اشتباه متوجه شدم شرمنده )

آفلاین رجبی

  • Full Member
  • *
  • ارسال: 156
  • جنسیت : پسر
    • پایگاه شخصی علی رجبی
پاسخ به: برنامه سازی به زبان c
« پاسخ #4 : 15 اسفند 1387، 12:24 ق‌ظ »
سلام راستی چه طور این کامپایلر c++ را نصب کنم در بسته ها نیست ؟

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: برنامه سازی به زبان c
« پاسخ #5 : 15 اسفند 1387، 09:06 ق‌ظ »
سلام راستی چه طور این کامپایلر c++ را نصب کنم در بسته ها نیست ؟
همون ++g هست.(البته با gcc هم میشه کد ++C رو کامپایل کرد ولی با ++g راحتتر و بهتره)

آفلاین رجبی

  • Full Member
  • *
  • ارسال: 156
  • جنسیت : پسر
    • پایگاه شخصی علی رجبی
پاسخ به: برنامه سازی به زبان c
« پاسخ #6 : 18 اسفند 1387، 05:59 ب‌ظ »
سلام این g++ در بسته ها هست ؟

آفلاین Saman.S

  • Sr. Member
  • *
  • ارسال: 322
  • جنسیت : پسر
پاسخ به: برنامه سازی به زبان c
« پاسخ #7 : 18 اسفند 1387، 06:17 ب‌ظ »
بله در مخازن هست.
sudo apt-get install g++

lomion

  • مهمان
پاسخ به: برنامه سازی به زبان c
« پاسخ #8 : 18 اسفند 1387، 10:18 ب‌ظ »
می تونید هم بسته build-essential ر نصب کنید که هم اون و چند بسته دیگه ر برای شما نصب کنه.

آفلاین royaflash

  • Sr. Member
  • *
  • ارسال: 466
  • جنسیت : پسر
  • تلاش برای بهتر شدن بهترین شیوه زندگی است (سقراط)
    • در مفهوم اپن سورس ، گنو/لینوکس
پاسخ به: برنامه سازی به زبان c
« پاسخ #9 : 30 خرداد 1388، 10:46 ق‌ظ »
سلام دوستان خسته نباشید
سالی‌ داشتم من برنامه نویسی رو تازه شروع کردم حال چطوری می‌تونم تو linux برنامه نویسی به زبان c رو انجام بدم (کدوم برنامه )
thanks
وبلاگ |
وب سایت [url=http://unixmen.ir]

در صورت نیاز+ شماره تلفن 09141100257

آفلاین Meys@m

  • Full Member
  • *
  • ارسال: 190
  • جنسیت : پسر
  • ما زنده به آنیم که آرام نگیریم
پاسخ به: برنامه سازی به زبان c
« پاسخ #10 : 31 خرداد 1388، 04:57 ب‌ظ »
تو لینوکس به راحتی هر چه تمام‌تر میتونی سی بنویسی،
راه اول : gedit رو باز میکنی، برنامه‌ات رو توش مینویسی، با پسوند c ذخیره میکنی و بعد در ترمینال می نویسی :
gcc -oOutputName Source.cکه در اینجا OutputName همون اسمیه که میخوای برنامه‌ی اجراییت داشته باشه و Source.c هم همون سورسی که بالا ذخیره کردی.
تبصره »» برای کامپایل از این طریق باید در هنگام وارد کردن دستور بالا در ترمینال، سورس در پوشه جاری ترمینال باشه.

راه دوم : به مانند دوستان بالا از شبه‌کامپایلر geany استفاده کنی که دستور گرفتنش اینه:
sudo apt-get install geanyبعد اون سورست رو بنویس و روی دکمه کامپایل کلیک کن، خودش برات کامپایل میکنه و اجرا.

راه سوم : از برنامه eclipse استفاده کنی، نمیدونم تو مخازن هست یا نه، ولی از طریق لینک زیر میتونی دانلودش کنی:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz
موفق باشی.
from freedom came elegance

آفلاین reza10203045

  • Jr. Member
  • *
  • ارسال: 57
پاسخ به: برنامه سازی به زبان c
« پاسخ #11 : 03 تیر 1388، 12:48 ب‌ظ »
سلام من یک کد سی که در لینوکس با geany اجرا میکنم خطای زیر یا هشدار زیر را میبینم در ویندوز با turbo c++ مشکلی نداره.
#include <stdio.h>
int a=0;
int main ()
{
printf("Please enter a number :");
scanf("%i ",a);
printf("Your Nubmer: %i",a);

return 0;
}

message:  test.c:6: warning: format ‘%i’ expects type ‘int *’, but argument 2 has type ‘int’

مشکل چیه ؟
یک سوال دیگه چه طوری c++ را نیز در لینوکس بنویسیم ؟
و سه اینکه برنامه Kdevelop چرا کد ها رو build یا کام\ایل نمیکند؟

با تشکر. :)

در مورد سوال شما یکی اینکه برای نوع int باید از d% استفاده کنید و هنگام فراخوانی متغیر از علامت آدرس استفاده کن همانطوری دوست عزیزی در بالا به آن اشاره کرده

آفلاین ARH

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
  • Hardware Enthusiast
    • پروفايل شخصي من در گوگل
پاسخ به: پاسخ به: برنامه سازی به زبان c
« پاسخ #12 : 04 تیر 1388، 12:45 ق‌ظ »
ممنون
نگفتید چرا kdevelop کامپایل را نداره و فایل را نمیسازه ؟



سلام دوست من

در مورد kdevelop دیدم کسی سوالت رو ‍پاسخ نداده ! ببین Kdevelop هم مثل Visual Studio یک IDE هست در واقع یک محیط گرافیکیه. VS هم همینطوره وقتی شما تو اون محیط برنامه‌ات رو می‌نویسی و میزنی که کامپایلش کنه. VS خودش برات این کار رو انجام نمی‌ده بلکه فایل برنامه‌ات رو میده با کام‍پایلر مایروسافت (دستور cc) و اون برات این کار رو میکنه!
بنابر این نباید از Kdevelop به عنوان یک IDE توقع داشته باشی که خودش برات کام‍‍پایل کنه!
KDevelop در اصل رابطی میشه بین کدی که نوشتی و کامپایلر لینوکست ! وقتی شما دکمه کامپایل رو بزنی اما مشخص نکرده باشی که این رابطه به چه صورت باید شکل بگیره ! خوب معلومه که خطا میده.
کلا تو لینوکس فایل‌های اسکریپت Makefile فایل‌هایی هستند که چگونگی کام‍پایل کردن سورس برنامه ها رو مدیریت می‌کنند و این فایل ها با دستور Make اجرا می‌شوند. بنابر این اگر شما یک فایل Makefile برای برنامه‌ات داشته باشی فقط کافیه که آدرس پوشه اون فایل رو به Kdevelop بدی تا برات تو اون جا دستور Make رو زمانی که دکمه F8 یا build رو میزنی بزنه و کل سورس هات رو کامپایل کنه.
حالا فایل Makefile نداری و نمی‌دونی چه طوری اون رو درست کنی ؟ خوب مثل منی .... بازم یک سری ابزار های دیگه هستند به نام Automatic Build system ها که اونها این فایل‌ Makefile رو برای برنامه‌ای که داری می‌نویسی درست میکنند مثل Automake یا Cmake.
بنابر این با فرض اینکه Cmake رو رو سیستمت نصب داشته باشی میتونی یک پروژه جدید از نوع Cmake داخل Kdevelop باز کنی و دیگه کاری نداشته باشی که Makefile چیه و کجاست خود این Cmake تمام این کارها رو برات میکنه !  (automake یک کم دردسرش بیشتره)

برای کسب اطلاعات بیشتر میتونی به فایل سخنرانی من در جشن معرفی اوبونتو ۹.۰۴ مراجعه کنی توش این Cmake رو کامل توضیح دادم :
http://haghdoost.persiangig.com/document/ARH-Kdevelop-UNR.pdf