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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: wild_honey در 09 آذر 1385، 09:40 ق‌ظ

عنوان: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: wild_honey در 09 آذر 1385، 09:40 ق‌ظ
سلام دوستان
میخواستم ببینم تو اوبونتو چجوری میشه با ++C برنامه نوشت
من از قسمت Synaptic Pack پکیج CPP-4 رو نصب کردم
حالا چجوری برنامه هامپ کامپایل کنم ؟؟
ممنون
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مهدی پیشگوی در 09 آذر 1385، 10:10 ق‌ظ
سلام از نرم افزار GCC استفاده کنین برنامه رو نوشته و باهاش کامپایل و اجرا کنین
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: nimax در 09 آذر 1385، 10:43 ق‌ظ
دوست عزیز شما با استفاده از دستور sudo apt-get install build-essential میتونی ابزارهای مورد نیاز برای برنامه نویسی رو نصب کنی.
بعد از اون کدهات رو در یک ویرایشگر متنی مینویسی و با پسوند name.cc یا name.cpp ذخیره میکنی.
و در آخر با استفاده از دستور زیر فایلت رو Compile کن.
gcc(g++) -o name name.cc
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مهدی پیشگوی در 06 دی 1385، 11:56 ق‌ظ
برای کاربرانی که با ++c تحت ویندوز هم کار کردن و می خوان از توابعی مانند ()getch و غیره استفاده کنن من یه پک برای این مموعه دارم بخوایین براتون میذارمش بردارین
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: mahmoodbajlani در 18 اسفند 1385، 01:03 ب‌ظ
ممنون می شم اگر زود جوابم را بدین.برنامه ای بنویسید که عددی صحیح از ورودی بگیرد و معادل حروفی ان (انگلیسی)را چاپ کند وبرعکس.                                                                                                 مثلا:1951=یک هزارو نه صد پنجاه و یک :-*




برنامه ای بنویسید که مجموع تعداد n جمله از سری فیبوناجی را محاسبه ودر خروجی چاپ کند.
                                                                                                                       سری فیبوناجی=1 1 2 3 5 8 13 ....
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: mahmoodbajlani در 18 اسفند 1385، 01:14 ب‌ظ
برنامه ای بنویسید که مجموع تعداد n جمله از سری فیبوناجی را محاسبه و در خروجی چاپ کند.
                                                                                سری فیبوناجی=1 1 2 3 5 8 13 ...
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: mahmoodbajlani در 18 اسفند 1385، 01:21 ب‌ظ
تابعی بنویسید که دو ارگمان را بپذیرد و ارگمان اول را به توان ارگمان دوم برساند . ارگمان اول یک مقدار double و ارگمان دوم یک مقدار صحیح مثبت یا منفی است. برنامه ای بنویسید که از ان استفاده کند.متشکرم
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مهدی پیشگوی در 18 اسفند 1385، 02:31 ب‌ظ
سلام فکر کنم اگه تو سایت برنامه نویس تاپیک بزنین بهتر جواب میگیرین
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: amirdj در 27 فروردین 1386، 04:25 ب‌ظ
مهدی پیشگوی عزیز
اگه لطف کنید اون پک برای توابع ویندوز رو هم بزارید ممنون میشم
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مهدی پیشگوی در 27 فروردین 1386، 05:06 ب‌ظ
تو سایت برنامه نویس نوشتم
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: arman_o71 در 21 تیر 1386، 02:36 ب‌ظ
برنامه ای بنویسید که مجموع تعداد n جمله از سری فیبوناجی را محاسبه و در خروجی چاپ کند.
                                                                                سری فیبوناجی=1 1 2 3 5 8 13 ...

#include <iostream>

using namespace std;

int sumFib(int n)
{
    int f1 = 1, f2 = 1, sum = 0;
    for (int i = 0; i < n; i++)
    {
        sum += f1;
        int temp = f1 + f2;
        f1 = f2;
        f2 = temp;
    }
    return sum;
}

int main()
{
    int n;
    cin >> n;
    cout << sumFib(n) << endl;
    return 0;
}
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: arman_o71 در 21 تیر 1386، 02:42 ب‌ظ
تابعی بنویسید که دو ارگمان را بپذیرد و ارگمان اول را به توان ارگمان دوم برساند . ارگمان اول یک مقدار double و ارگمان دوم یک مقدار صحیح مثبت یا منفی است. برنامه ای بنویسید که از ان استفاده کند.متشکرم

#include <iostream>

using namespace std;

double power(double a, int b)
{
    if (b < 0)
        return 1 / power(a, -b);

    double p = 1;   
    for (int i = 0; i < b; i++)
        p *= a;

    return p;
}

int main()
{
    double b;
    int e;
    cin >> b >> e;
    cout << power(b, e) << endl;
    return 0;
}
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مرتضی علیرضایی در 06 امرداد 1386، 07:37 ب‌ظ
سلام

می خواستم بپرسم ببینم کسی از شما تاحالا با CImg.h کار کرده یا نه؟ پدر من را در آورد از بس خطاهای عجیب غریب داد....!

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

اگه یه زبان دیگه هم بود (غیر از ویژوال) اشکالی نداره.
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مهدی پیشگوی در 06 امرداد 1386، 07:59 ب‌ظ
می تونین از پایتون استفاده کنین :
البته این کد فایل تصویری رو پخش می کنه نمی دونم به دردتون بخوره یا نه ؟

#!/usr/bin/python

import pygst
pygst.require( "0.10" )

import gst
from eagle import *

class Player( object ):
    STATE_STOPPED = gst.STATE_NULL
    STATE_READY = gst.STATE_READY
    STATE_PAUSED = gst.STATE_PAUSED
    STATE_PLAYING = gst.STATE_PLAYING

    def __init__( self, callback=None ):
        self.is_playing = False
        self.filename = None

        self.bin = gst.parse_launch( "playbin" )
        self.bus = self.bin.get_bus()
        self.bus.enable_sync_message_emission()
        self.bus.add_signal_watch()

        if callback:
            def on_message( bus, message ):
                t = message.type
                if   t == gst.MESSAGE_EOS:
                    self.is_playing = False
                    self.filename = None
                    callback( self )
                elif t == gst.MESSAGE_ERROR:
                    err, debug = message.parse_error()
                    print "Error: %s" % err, debug
            # on_message()
            self.bus.connect( "message", on_message )
    # __init__()


    def play( self, filename ):
        self.bin.set_property( "uri", "file://%s" % filename )
        self.bin.set_state( gst.STATE_PLAYING )
        self.filename = filename
        self.is_playing = True
    # play()


    def stop( self ):
        self.bin.set_state( gst.STATE_NULL )
        self.bin.set_property( "uri", "" )
        self.filename = None
        self.is_playing = False
    # stop()


    def pause( self ):
        if self.is_playing:
            self.bin.set_state( gst.STATE_PAUSED )
        else:
            self.bin.set_state( gst.STATE_PLAYING )

        self.is_playing = not self.is_playing
    # pause()
# Player


def add_file( app, button, value ):
    app[ "playlist" ].append( value )
# add_file()


def play( app, button ):
    rows = app[ "playlist" ].selected()
    if rows:
        idx, row = rows[ 0 ]
        fname = row[ 0 ]
        app[ "play" ].set_inactive()
        app.player.stop()
        app.player.play( fname )
        app[ "play" ].set_inactive()
        app[ "pause" ].set_active()
        app[ "stop" ].set_active()
        app[ "now_playing" ] = "Playing %s" % app.player.filename
# play()


def pause( app, button ):
    app.player.pause()
    if app.player.is_playing:
        msg = "Playing %s" % app.player.filename
        app[ "play" ].set_inactive()
        app[ "pause" ].set_active()
        app[ "stop" ].set_active()
    else:
        msg = "Paused %s" % app.player.filename
        app[ "play" ].set_inactive()
        app[ "pause" ].set_active()
        app[ "stop" ].set_active()
    app[ "now_playing" ] = msg
# pause()


def stop( app, button ):
    app.player.stop()
    app[ "play" ].set_active( bool( app[ "playlist" ].selected() ) )
    app[ "pause" ].set_inactive()
    app[ "stop" ].set_inactive()
    app[ "now_playing" ] = "Nothing is playing!"
# stop()


def playlist_selected( app, table, rows ):
    if rows:
        app[ "play" ].set_active()
# playlist_selected()


def end_of_stream( player ):
    app = get_app_by_id( "music_player" )
    app[ "play" ].set_active( bool( app[ "playlist" ].selected() ) )
    app[ "pause" ].set_inactive()
    app[ "stop" ].set_inactive()
    app[ "now_playing" ] = "Nothing is playing!"
# end_of_stream()


app = App( id="music_player",
           title="Music Player",
           top=( OpenFileButton( id="add_file",
                                 filter=( "*.mp3", "*.ogg" ),
                                 callback=add_file,
                                 ),
                 ),
           center=( Table( id="playlist",
                           label=None,
                           show_headers=False,
                           types=( str, ),
                           selection_callback=playlist_selected,
                           ),
                    ),
           bottom=( Button( id="play",
                            stock="media:play",
                            callback=play,
                            ),
                    Button( id="pause",
                            stock="media:pause",
                            callback=pause,
                            ),
                    Button( id="stop",
                            stock="media:stop",
                            callback=stop,
                            ),
                    Label( id="now_playing",
                           label="Nothing is Playing!",
                           ),
                    )
           )

app.player = Player( callback=end_of_stream )
app[ "play" ].set_inactive()
app[ "pause" ].set_inactive()
app[ "stop" ].set_inactive()


run()
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: arman_o71 در 07 امرداد 1386، 01:27 ب‌ظ
از SDL استفاده کنید
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مرتضی علیرضایی در 07 امرداد 1386، 03:01 ب‌ظ
از SDL چه جوری استفاده کنم؟
میشه یه نمونه ساده مثال بزنید......

اگه با C باشه بهتره.....
می خوام یک تصویر را (حالا فرمت تصویر فرق نمی کنه) وارد برنامه بکنم، مختصات هر پیکسل و رنگش را بدست بیارم و ذخیره کنم. که دفعات بعد برای نمایش اون تصویر نیاز به فایل تصویر نداشته باشم. یعنی با فراخوان مشخصات پیکسلها و نمایش انها روی صفحه نمایش بتونم دوباره تصویر را ایجاد کنم.
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مرتضی علیرضایی در 08 امرداد 1386، 03:11 ب‌ظ
سرانجام تونستم با C یک تصویر BMP را وارد کنم......!  ;D ;D ;D ;D
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: arman_o71 در 08 امرداد 1386، 05:05 ب‌ظ
SDL intro رو گوگل کن
فکر کنم توی مخازن اوبونتو هم example داشته باشه

initialize:
{ SDL_Surface *screen;

    screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
    if ( screen == NULL ) {
        fprintf(stderr, "Unable to set 640x480 video: %s\n", SDL_GetError());
        exit(1);
    }
}

Blit image:
void ShowBMP(char *file, SDL_Surface *screen, int x, int y)
{
    SDL_Surface *image;
    SDL_Rect dest;

    /* Load the BMP file into a surface */
    image = SDL_LoadBMP(file);
    if ( image == NULL ) {
        fprintf(stderr, "Couldn't load %s: %s\n", file, SDL_GetError());
        return;
    }

    /* Blit onto the screen surface.
       The surfaces should not be locked at this point.
     */
    dest.x = x;
    dest.y = y;
    dest.w = image->w;
    dest.h = image->h;
    SDL_BlitSurface(image, NULL, screen, &dest);

    /* Update the changed portion of the screen */
    SDL_UpdateRects(screen, 1, &dest);
}


عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مرتضی علیرضایی در 08 امرداد 1386، 08:33 ب‌ظ
SDL intro رو گوگل کن
فکر کنم توی مخازن اوبونتو هم example داشته باشه

خیلی ممنون....
با این کد شما هم انجام شد... البته راحتر بود.
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hasannoori در 21 امرداد 1386، 01:32 ب‌ظ


خیلی ممنون....
با این کد شما هم انجام شد... البته راحتر بود.
دوست عزیز این مسئله برای من خیلی حیاتیه اگر ممکنه توضیح دهید
یک تصویر با هر فرمت رو چطور میتونم به سی(ترجیحا سی پلاس )فرستاد و اون رو مورد پردازش قرار داد.؟
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: مرتضی علیرضایی در 21 امرداد 1386، 03:05 ب‌ظ
سلام
کار ساده ای نیست....!
با تصاویر bmp مثل آرایه رفتار کنید. اطلاعات یک فایل در بیتهای ابتدای اون ذخیره شده.
از این منبع استفاده کنید

URL http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/cips2ed.pdf (http://URL http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/cips2ed.pdf)

این فایلهای پیوست هم منبع خوبی هست....
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: Leo در 23 امرداد 1386، 03:24 ب‌ظ
از Anjuta IDE میتونین استفاده کنید .

با g++ میتونین کامپایلش کنید
 
با دستور make

عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hasannoori در 24 امرداد 1386، 11:04 ق‌ظ
سلام
کار ساده ای نیست....!
با تصاویر bmp مثل آرایه رفتار کنید. اطلاعات یک فایل در بیتهای ابتدای اون ذخیره شده.
از این منبع استفاده کنید

URL http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/cips2ed.pdf (http://URL http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/cips2ed.pdf)

این فایلهای پیوست هم منبع خوبی هست....
برای لینک کتاب خیلی ممنونم کامل و مفید بود!
فعلا دارم مطالعه میکنم
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hasannoori در 24 امرداد 1386، 11:05 ق‌ظ
از Anjuta IDE میتونین استفاده کنید .

با g++ میتونین کامپایلش کنید
 
با دستور make


میشه کمی بیشتر توضیح بدید :-X
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: lomion در 26 امرداد 1386، 09:11 ق‌ظ
Anjuta یک محیط برنامه نویسی خوبه. که اجازه می‌ده پروژه بسازید و بعدش کامپایل و build رو به شکل خودکار انجام می‌ده.
Geany هم هست که من فکر میکنم از Anjuta بهتره.
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hamid206 در 24 شهریور 1386، 04:13 ق‌ظ
ببخشید این سوال رو می کنم چون زیاد به این تاپیک ربطی نداره dvd ابونتو GTK+ وتمام کتابخانه های وابسته به اون رو بصورت پیش فرض داره؟ :oops:
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: ابراهیم در 26 شهریور 1386، 02:04 ق‌ظ
یک تصویر با هر فرمت رو چطور میتونم به سی(ترجیحا سی پلاس )فرستاد و اون رو مورد پردازش قرار داد.؟
سلام،
CImg و یا QImage از Qt
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hasannoori در 26 شهریور 1386، 10:19 ق‌ظ
یک تصویر با هر فرمت رو چطور میتونم به سی(ترجیحا سی پلاس )فرستاد و اون رو مورد پردازش قرار داد.؟
سلام،
CImg و یا QImage از Qt
میدونم که تقاضای زیادی ولی، اول ازتون تشکر میکنم و دوم کمی توضیح بیشتر
و در صورت امکان یه مثال کوچیک(به همراه بسته باینری)
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: ابراهیم در 29 شهریور 1386، 08:16 ب‌ظ
ببخشید که از پاسخ مستقیم پرهیز می کنم. این جوری برای همه به تره!
http://www.google.com/search?q=cimg
http://www.google.com/search?q=qt+qimage
عنوان: پاسخ به: برنامه نویسی با ++c در اوبونتو
ارسال شده توسط: hasannoori در 31 شهریور 1386، 11:38 ق‌ظ
از کمکتون متشکزم.
مشکل اینه که برنامه های نوشته شده با QT کامپایل نمی شود.
تو انجمن هم مطرح کردم نتیجه ای نگرفتم. :o