Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 10.11.2008, 22:23  postituse pealkiri:  C++ arendus...  

Minu esmane katsetus graafilise keskkonna jaoks miskit teha. See peab olema utiliit mis ruutvõrrandit lahendab. Ilma igasuguse ette vamistuseta on nii kaugele jõutud KDevelopi kasutades.

link: http://n6ges.pri.ee/ruutvorrand.tar.gz

Äkki see inimene vaatab üle selle asja ja viskab mõnel lingi normaalsele õppevahendile. Smile

//tahaks loota, et läbi ei sõimata.

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

eric
Pingviini külastaja
Pingviini külastaja



Liitunud: 28.02.2007
Postitused: 34

Distributsioon: Ubuntu 9.10
estonia.gif
postituspostitatud: 10.11.2008, 23:11  postituse pealkiri:  (teema puudub)  

laadisin paketi alla, kuid kuna ./configure "soovitas" kde arenduspakettide paigaldamist jätsin kompileerimise pooleli.

seejärel vaatasin lähtekoodi, kuid midagi otseselt sinu programmeeritud (peale akna disainimise) (veel) ei leidnud - kogu "kupatus" on enamjaolt kdevelop'i poolt genereeritud.

soovitaks võibolla alustada lihtsamast otsast - installeeri QT arenduspaketid (libqt4-dev, qt4-doc, qt4-dev-tools) ja uuri qt dokumentatsiooni (väga selge ja ülevaatlik + piisavalt näiteid). proovi sellessamas kdevelope-is mõni QT näide kompileerida ("tööle saada") ja siis sama näite lähtekoodiga "mängida" (i.e. seda muuta, seejärel kompileerida ning vaadata, kas programmi "käitumine" muutus nagu olid kavandand).

edu ja järjekindlust soovides!

e.

ps. alustasin kdevelop-i kasutamisega umbes 2 aasta eest ja nüüd ei vahetaks "teda" naljalt enam millegi muu vastu. eelnevalt olin ca 10 aastat kasutand (windoozis) borland c++ builderit. kdevelop on super ja ka qt-teegid (libraries) on super (ega's KDE muidu neil põhineks, vää Wink ?)


olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 11.11.2008, 00:08  postituse pealkiri:  (teema puudub)  

jah tõsi peale akna disaini ei suutudki mikit teha..

järgmine katsetus....

Kood:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>
#include <math.h>

using namespace std;

int rehkendus(){
int a, b, c, d, x1, x2;
   cout << "Tere, ruutvõrrandi rehkendaja olen. arvud palun :)" << endl;
   cout << "Sisesta arv a ";
   cin >> a;
   cout << "Sisesta arv b ";
   cin >> b;
   cout << "Sisesta arv c ";
   cin >> c;
   d=b*b-4*a*c;
if (d < 0){
   cout << "Diskriminant on negatiivne (" << d <<") . Ruutvõrrandit ei teki.\n";
   return EXIT_SUCCESS;  //väljavise
}else{
   cout << "Diskrminant on " << d  << endl;
   x1= -b+sqrt(d)/2*a;
   x2= -b-sqrt(d)/2*a;
   cout << "x1 = " << x1  << endl;
   cout << "x2 = " << x2  << endl;
}
}

int main(int argc, char *argv[])
{
rehkendus();
/*int jarg, J, n;
cout << "Kas jätkata?  J/n"<< endl; // rehkendaks veel???
cin >> jarg;
if(jarg == J) return rehkendus(); //jätkamine
if(jarg == n)return EXIT_SUCCESS; //väljavise
//krt, see vuristab kogu jutu ette, ükshaaval peaks..
*/
return EXIT_SUCCESS;

 
}


see sai käsurea jaoks c++ ikka.

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 11.11.2008, 00:21  postituse pealkiri:  (teema puudub)  

Pole küll mingi ütleja aga äkki peaks siiski proovima ilma graafilise arenduskeskonnata alguses läbi ajada. Saab korralikult selgeks kuidas need komponendid seal asetatakse ja siis võib ju pärast Kdevelopi kasutada.

Ma hakkasin ka vahepeal qt -d õppima aga asi jäi kuidagi katki vist ajapuuduse taha (vabanduse leiab alati). Samas oskan panna kokku graafilisi progesid javaga ja seda on parem õppida tavalise tekstiredaktoriga (jälle subjektiivne arvamus).

Qt ja java graafika progemise vahel on teatud sarnasus ei tea kes kelle pealt järele teinud on Smile

Lihtsalt mõte mida ei pea mingil juhul keegi tõsiselt võtma.

_________________
"Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford

olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 12.11.2008, 22:59  postituse pealkiri:  (teema puudub)  

tore kui asi tööle hakkab nagu soovitud. puudu on vaid sisestatava info kontroll, et kas on arv või ei ole arv Smile

Kood:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>
#include <math.h>


using namespace std;
char jarg = 0;

int end() //funksioon, mis välja viskab
{
   return EXIT_SUCCESS;
}//väljavikaja lõpp

int rehkendus(){

int a, b, c, d, x1, x2;
   
   cout << "Sisesta arv a ";
   cin >> a;
   cout << "Sisesta arv b ";
   cin >> b;
   cout << "Sisesta arv c ";
   cin >> c;
   d=b*b-4*a*c;
if (d < 0){
   cout << "Diskriminant on negatiivne (" << d <<") . Ruutvõrrandit ei teki.\n";
   
}else{
   cout << "Diskrminant on " << d  << endl;
   x1= (-b+sqrt(d))/(2*a);
   x2= (-b-sqrt(d))/(2*a);
   cout << "x1 = " << x1  << endl;
   cout << "x2 = " << x2  << endl;
} //if else lõpp
   cout << "Kas jätkata?  j/e"<< endl; // rehkendaks veel???
   cin >> jarg;
switch(jarg){
   case 'j':
   rehkendus(); //rehkendame veel
   break;
   case 'e':
   end(); //ei rehkenda veel
   break;
   
} //lüliti lõpp
}//rehkendus lõpp



int main(int argc, char *argv[])
{
cout << "Tere, ruutvõrrandi rehkendaja olen. arvud palun :)" << endl;

rehkendus(); //rehkenduse väljakutse


}//main lõpp

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

KristjanS
Vana Pingviin
Vana Pingviin


Vanus: 35
Liitunud: 29.12.2006
Postitused: 419

Distributsioon: Debian
blank.gif
postituspostitatud: 01.12.2008, 00:50  postituse pealkiri:  (teema puudub)  

KAs keegi teist ühele programmile lisavõimaluse viitsiks meisterdada? Peaks imelihtne olema, aga ma ei jaga antud programmeerimiskeelest essugi.

Programm ise asub siin:
http://muquit.com/muquit/software/grabc/grabc.html

Mis see teeb? Käivitad programmi, see muudab ikooni ja kui klõpsu teed, siis programm tuvastab selle koha koordinaadid ja värvi.

Mis mul vaja? 1) Võimalust määrata käsitsi piksli koordinaadid, ilma hiireklõpsuta, nii et see annab siis selle piksli värvi 2) Võimalust saada ainult koordinaadid või värvi

Programm ise on ~300 rida, kui ainult natukene oskaks, siis teeks ise ära. Vaja ühe makro jaoks. Very Happy

_________________
Ubuntu Brainstorm: Have a device manager
Seadmehalduriga peaks saama jälgida riistvara, juhtprogrammi vahetada, ning vastavalt juhtprogrammile seadistusi muuta.

wk
Vana Pingviin
Vana Pingviin



Liitunud: 24.10.2007
Postitused: 1133
Asukoht: Tallinn, vahel Vastseliina vald
Distributsioon: Debian, Kubuntu
estonia.gif
postituspostitatud: 01.12.2008, 16:00  postituse pealkiri:  (teema puudub)  

KristjanS kirjutas:
Mis see teeb? Käivitad programmi, see muudab ikooni ja kui klõpsu teed, siis programm tuvastab selle koha koordinaadid ja värvi.
Kuna ma C-d ise ei valda siis täpsustaks ainult, et praeguses seisus tagastab see programmike ainult RGB-väärtuse, seda 16- ja 10-süsteemis. Kuna üks läheb STDERRi ja teine STDOUTi, siis saab valida, kumba skriptis mugavam kasutada on.

_________________
Kõike hääd,
WK

bobc
Pingviini aktivist
Pingviini aktivist


Vanus: 42
Liitunud: 09.07.2005
Postitused: 165
Asukoht: undef
Distributsioon: SouRCe64 GNU/Linux
estonia.gif
postituspostitatud: 04.05.2009, 14:18  postituse pealkiri:  (teema puudub)  

Pakuks omaltpoolt välja väikese rakenduse kuidas lugeda pixli värvi etteantud kordinaadilt. sgc_out.tar.bz2
Sai natuke xlib programmeerimis manuali loetud (pole eriline C progeja).

Kood:

make sgc
sgc 100 100
sgc 100 100 -hex

Toimis xorg-server 1.5.1 ja xorg-server 1.6.1 peal, ei oska kommenteerida kuidas toimib/ei toimi kui desktop efektid on kasutusel (compositing window manager).

_________________
Image

olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 04.05.2010, 02:39  postituse pealkiri:  (teema puudub)  

uus küsimus siia,

nimelt vajaks juhendamist, kuidas panna rakendus kontrollima parajasti sisseloginud kasutaja gruppi.

kui kasutaja on grupis SEE siis rakendus lubab teha SEDA ja kui kasutaja on grupis TOO siis lubab teha TODA
kui ollakse mõlemates kruppides siis lubatakse mõlemaid operatsioone teha.

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

-ordi-
Vana Pingviin
Vana Pingviin


Vanus: 31
Liitunud: 13.12.2008
Postitused: 821

Distributsioon: GNU/Linux
estonia.gif
postituspostitatud: 04.05.2010, 07:35  postituse pealkiri:  (teema puudub)  

olavsu1 kirjutas:
uus küsimus siia,

nimelt vajaks juhendamist, kuidas panna rakendus kontrollima parajasti sisseloginud kasutaja gruppi.

kui kasutaja on grupis SEE siis rakendus lubab teha SEDA ja kui kasutaja on grupis TOO siis lubab teha TODA
kui ollakse mõlemates kruppides siis lubatakse mõlemaid operatsioone teha.


Mul ei ole praegust võimalus proovida aga umbes nii saad id kätte.

Kood:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>


Kood:
..................................
     
      int current_uid = getuid();
      printf(”My UID is: %d. My GID is: %d\n”, current_uid, getgid());
      system(”/usr/bin/id”);
 ...............................


Pärast saad kasutada juba seda http://www.cprogramming.com/tutorial/lesson5.html


olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 04.05.2010, 11:48  postituse pealkiri:  (teema puudub)  

töötas, jutumärgid olid valed.

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

andreas
Pingviini aktivist
Pingviini aktivist


Vanus: 30
Liitunud: 26.02.2008
Postitused: 112
Asukoht: Raasiku
Distributsioon: Mageia Cauldron
estonia.gif
postituspostitatud: 04.05.2010, 15:28  postituse pealkiri:  (teema puudub)  

http://www.opengroup.org/onlinepubs/007908775/xsh/getgroups.html
Kood:
#include <unistd.h>
#define GRUPPE 50
#define SEE 1000
#define SEDA 1
#define TOO 1001
#define TODA 2

gid_t grupid[GRUPPE];
int teha;

getgroups(GRUPPE, grupid);

for(int i=0; i < GRUPPE; i++)
{
   if(grupid[i] == SEE)
     teha = SEDA;
   else if (grupid[i] == TOO)
     teha = TODA;
}

if (teha == SEDA)
{
  // Tee SEDA
}
if (teha == TODA)
{
 // Tee TODA
}

Hoiatus: Koodi ei ole testitud. Kasutada ülima ettevaatlikusega.


olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 04.05.2010, 17:28  postituse pealkiri:  (teema puudub)  

andreas kirjutas:
http://www.opengroup.org/onlinepubs/007908775/xsh/getgroups.html
Kood:
#include <unistd.h>
#define GRUPPE 50
#define SEE 1000
#define SEDA 1
#define TOO 1001
#define TODA 2

gid_t grupid[GRUPPE];
int teha;

getgroups(GRUPPE, grupid);

for(int i=0; i < GRUPPE; i++)
{
   if(grupid[i] == SEE)
     teha = SEDA;
   else if (grupid[i] == TOO)
     teha = TODA;
}

if (teha == SEDA)
{
  // Tee SEDA
}
if (teha == TODA)
{
 // Tee TODA
}

Hoiatus: Koodi ei ole testitud. Kasutada ülima ettevaatlikusega.



tänud, töötas tõesti poolikult. ei tehtud mõlemat operatsiooni kui kasutaja kuulus mõlemasse gruppi.

täiendus:

Kood:
#include <unistd.h>
#define GRUPPE 50
#define SEE 1001
#define SEDA 1
#define TOO 1002
#define TODA 2   

gid_t grupid[GRUPPE];
int teha, toda;

getgroups(GRUPPE, grupid);

for(int i=0; i < GRUPPE; i++)
{
   if(grupid[i] == SEE){
     teha = SEDA;
   }
   if (grupid[i] == TOO){   
     toda = TODA;
   }
}

if (teha == SEDA)
{
 cout << "Test 1" << endl; // Tee SEDA
    //system("/usr/bin/id");
}
if (toda == TODA)
{
 cout << "Test 2" << endl;// Tee TODA
    //system("/usr/bin/id");
}
if (teha != SEDA && toda != TODA){
    cout << "Ei ole õigusi!" << endl;
    //system("/usr/bin/id");
}
}


-ordi-
Vana Pingviin
Vana Pingviin


Vanus: 31
Liitunud: 13.12.2008
Postitused: 821

Distributsioon: GNU/Linux
estonia.gif
postituspostitatud: 07.05.2010, 18:21  postituse pealkiri:  (teema puudub)  

olavsu1 kirjutas:
andreas kirjutas:
http://www.opengroup.org/onlinepubs/007908775/xsh/getgroups.html
Kood:
#include <unistd.h>
#define GRUPPE 50
#define SEE 1000
#define SEDA 1
#define TOO 1001
#define TODA 2

gid_t grupid[GRUPPE];
int teha;

getgroups(GRUPPE, grupid);

for(int i=0; i < GRUPPE; i++)
{
   if(grupid[i] == SEE)
     teha = SEDA;
   else if (grupid[i] == TOO)
     teha = TODA;
}

if (teha == SEDA)
{
  // Tee SEDA
}
if (teha == TODA)
{
 // Tee TODA
}

Hoiatus: Koodi ei ole testitud. Kasutada ülima ettevaatlikusega.



tänud, töötas tõesti poolikult. ei tehtud mõlemat operatsiooni kui kasutaja kuulus mõlemasse gruppi.

täiendus:

Kood:
#include <unistd.h>
#define GRUPPE 50
#define SEE 1001
#define SEDA 1
#define TOO 1002
#define TODA 2   

gid_t grupid[GRUPPE];
int teha, toda;

getgroups(GRUPPE, grupid);

for(int i=0; i < GRUPPE; i++)
{
   if(grupid[i] == SEE){
     teha = SEDA;
   }
   if (grupid[i] == TOO){   
     toda = TODA;
   }
}

if (teha == SEDA)
{
 cout << "Test 1" << endl; // Tee SEDA
    //system("/usr/bin/id");
}
if (toda == TODA)
{
 cout << "Test 2" << endl;// Tee TODA
    //system("/usr/bin/id");
}
if (teha != SEDA && toda != TODA){
    cout << "Ei ole õigusi!" << endl;
    //system("/usr/bin/id");
}
}


A'la sellist väga õudsat koodi ei ole mõtet kirjutada (#define 1 0).


olavsu1


Vana Pingviin
Vana Pingviin


Vanus: 48
Liitunud: 01.12.2006
Postitused: 923

Distributsioon: ubuntu, mandriva
estonia.gif
postituspostitatud: 07.05.2010, 22:14  postituse pealkiri:  (teema puudub)  

milles seisneb õudus?

_________________
olen Troll ja ootan pingviin.org konto sulgemist.

-ordi-
Vana Pingviin
Vana Pingviin


Vanus: 31
Liitunud: 13.12.2008
Postitused: 821

Distributsioon: GNU/Linux
estonia.gif
postituspostitatud: 07.05.2010, 22:23  postituse pealkiri:  (teema puudub)  

olavsu1 kirjutas:
milles seisneb õudus?


Ma ei näe erilist põhjust kirjutada nii:

#define A 50

See selline mõtetu virin minu poolt ...


andreas
Pingviini aktivist
Pingviini aktivist


Vanus: 30
Liitunud: 26.02.2008
Postitused: 112
Asukoht: Raasiku
Distributsioon: Mageia Cauldron
estonia.gif
postituspostitatud: 08.05.2010, 09:58  postituse pealkiri:  (teema puudub)  

Miks A?


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group