» »

C programiranje

C programiranje

«
1
2 3

Janko97 ::

Zdravo!!

OK zgodba taka: Septembra grem v 2. letnik šole za računalništvo in bomo obravnavali progremiranje v c-ju nato pa še v c++. Zdaj pa me zaanima katero knjigo priporočate za C v mislih imam knjigo abC in v katerem programu naj začnem. Profesor mi je govoril o nekem "cpp" progremu?!? Zdaj pa me zanima še vaše mnenje saj kater progrem priporočate poleg tega če je ta "cpp" sploh tapravi!!

Havla za odgovore !!

Blinder ::

99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 1080 Pismo smo stari v bozjo mater. Recesija generacija

Janko97 ::

Aha to je torej ta program...
Še enkrat hvala ti :)

Zgodovina sprememb…

  • spremenilo: Janko97 ()

Highlag ::

Glede na to, da se tisti CPP ne razvija več lahko pogledaš tudi Codeblocks, ki so praktično identična zadeva, se pa še vedno vzdržuje.
Never trust a computer you can't throw out a window

MasterBlaster ::

Če boš delal na win, je Visual C++ Express še vedno najboljši.
Tk je pa pika .

napsy ::

Ne morm verjet, da se nekateri kar ta dev-c++ tisijo naprej. Kot ze omenjeno, Codeblocks je dobra alternativa. Ce hoces se kaj boljsega pa si oglej Qt Creator, vendar nisem cist preprican ali je samo IDE ali pa tudi dobis zraven prevajalnik, ki ti bo prevajal kodo v izvedljiv program. Kar se tice knjige, za C obstaja 'The C programming language' vendar ne vem kako se bo to dalo brat srednjesolcu (precej strokovna angleska knjiga za C, vendar ena boljsih).
"If you die, you die. But when you live you live. There is no time to waste."

Bura ::

Janko97 je izjavil:

Zdravo!!

OK zgodba taka: Septembra grem v 2. letnik šole za računalništvo in bomo obravnavali progremiranje v c-ju nato pa še v c++. Zdaj pa me zaanima katero knjigo priporočate za C v mislih imam knjigo abC in v katerem programu naj začnem. Profesor mi je govoril o nekem "cpp" progremu?!? Zdaj pa me zanima še vaše mnenje saj kater progrem priporočate poleg tega če je ta "cpp" sploh tapravi!!

Havla za odgovore !!




SERŠ Maribor?

Janko97 ::

Bura je izjavil:

Janko97 je izjavil:

Zdravo!!

OK zgodba taka: Septembra grem v 2. letnik šole za računalništvo in bomo obravnavali progremiranje v c-ju nato pa še v c++. Zdaj pa me zaanima katero knjigo priporočate za C v mislih imam knjigo abC in v katerem programu naj začnem. Profesor mi je govoril o nekem "cpp" progremu?!? Zdaj pa me zanima še vaše mnenje saj kater progrem priporočate poleg tega če je ta "cpp" sploh tapravi!!

Havla za odgovore !!




SERŠ Maribor?


Vegova :)

roba87 ::

Kot je že en omenil. Visual studio C++ express edition/Code::Blocks (za moje pojme je boljsi prvi). Ostala jajca kot so Dev++ raje spreglej. Za knjige o C ne vem, vem pa da je na youtube veliko tutorialov za začetnike in bi ti priporočal, da si malo ogledaš, ker eni fantje znajo zelo dobro razložiti.

Zgodovina sprememb…

  • spremenil: roba87 ()

techfreak :) ::

Dev-Cpp že 7 let ni bil posodobljen, torej je logično slabši za uporabo kot trenutna orodja in niti približno ni primeren za uporabo.

Uporabi enega izmed že predlaganih, Visual Studio C++ Express Edition in Code::Blocks.

Janko97 ::

Najprej havla za nasvete.. Sem pa ugotovil da je Dev C++ res za en *****. Tko da zdaj uporabljam Code Blocks. Do knjige pa še nisem prišel ampak sem na You Tubu gledal ene tuturiale, kjer nek moški star 22. let fenomenalno razloži. Gre lepo postopoma najprej Hello world,Kalkulator ki sešteva, if stavki, loop...

LP

Janko97 ::

Zdravo!!
Zdaj, ko sem začel se je pojavila neka napaka in sicer ko prevedem in zaženem program mi napiše da program ne deluje več?? Delam pa v code blocks pa probal sem tudi v DEV C++ isto mi javla na drugem računalniku. Zdaj pa nevem al je s kodo kaj narobe:?!?!?!


in pa še napaka ki mi jo javlja.....


Lep pozdrav

Zgodovina sprememb…

  • spremenilo: Janko97 ()

mallard ::

Za format "%d" moraš funkciji scanf podat naslov spremenljivke (z drugo besedo kazalec na spremenljivko), kamor se bo shranila vrednost, ti pa podajaš (neinicializiran) int.

scanf("%d%d", &num1, &num2);


Pomagaj si s to tabelo:
http://en.cppreference.com/w/c/io/fscanf

Zgodovina sprememb…

  • spremenilo: mallard ()

Janko97 ::

mallard je izjavil:

Za format "%d" moraš funkciji scanf podat naslov spremenljivke (z drugo besedo kazalec na spremenljivko), kamor se bo shranila vrednost, ti pa podajaš (neinicializiran) int.


scanf("%d%d", &num1, &num2);


Pomagaj si s to tabelo:
http://en.cppreference.com/w/c/io/fscanf

Okej še zdaj nisem poštekal kako bi to naredil. Zato bi prosil če nekdo, ki zna prilepi rešitev.

LP

Invictus ::

Za učenje C-ja je vsak prevajalnik dober. Preden bo obvladal bolj napredne zadeve, bo pa že nekaj našel.

Tako ali tako bodo največja muka pointerji. Tu ne pomaga noben "fancy" prevajalnik.

Drugače se pa strinjam da je Visual C++ Express dovolj dober zate.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Vesoljc ::

Abnormal behavior of abnormal brain makes me normal...

mallard ::

Janko97 je izjavil:


Okej še zdaj nisem poštekal kako bi to naredil.

scanf("%d%d", &num1, &num2);
//            ^      ^
//            address-of operator

// če ti bo bolj jasno:

int num1, num2;
int* ptr_num1 = &num1;
int* ptr_num2 = &num2;

scanf("%d%d", &num1, &num2);       // pravilno
scanf("%d%d", ptr_num1, ptr_num2); // pravilno
scanf("%d%d", num1, num2");        // narobe

darkkk ::

/*šnelkurz pointerjev
* greš pogledat vsebino naslova
& dobiš naslov nečesa
-> isto kot (*struktura).member
*/

int num1;
scanf("%d", &num1); /*tule probaš pisat v pomnilnik na naslovu, ki kaže na num1, kar je ok */
int p_num1 = &num1; /*v p_num1 si shranil naslov num1*/
scanf("%d", p_num1); /*spet ok, ker si naredil isto kot zgoraj*/
scanf("%d", num1); /*ni ok, na nek neznan naslov (interpretacijo num1, ki kaže bohvedi kam) probaš neki napisat in se ti k prevajalnik pritoži, kar je ok*/

int num2;
p_num1 = &num2;
scanf("%d", p_num1); /*v num2 boš šel neki napisat*/
printf("n1 = %d, n2 = %d", num1, num2); 





poleg tega, v kodi ti manjka return.


edit:
int p_num1 = &num1; // no go
int *p_num1 = &num1;

Zgodovina sprememb…

  • spremenil: Vesoljc ()

Janko97 ::

Živjo!!!

Res hvala vsem, ki ste mi pomagali razvozlavati in ste podrobno opisali kaj naredi kakšen ukaz v programu. Še enkrat hvala. Le kdaj bom jaz obvladal tako kot vi :))

Lep pozdrav!!

napsy ::

Da ne bo ponovnega izbrisa ... Anzes, moras vedet da je C stari jezik in zahteva veliko discipline pri programiranju. Posebej takrat, ce se bos loteval kaksne vecje projekte pisat, mogoce odsvetujem C. Ne me narobe razumet, men je C primarni jezik, tut v sluzbi delam non-stop z njim. Vendar se je izkazalo, da bi sedaj za kaksne projekte izbral drug jezik.
"If you die, you die. But when you live you live. There is no time to waste."

redo ::

En primer te discipline je, da moraš preveriti vrednosti, ki jih vrača funkcija scanf. Samo za ponazoritev. Kaj tvoj program (s predlaganimi popravki, seveda) izpiše, če namesto števil npr. vnesem "a", ali pa "0 a", morda "138432 a"? To je prvi problem. Drugi problem je v funkciji scanf sami. Kaj program izpiše, če vnesem "1 4294967297" (ali bolje, brez morda napačnih predpostavk, kar "1000000000000000000 10000000000000000000000000000000")?

Seveda, dokler eksperimentiraš, se učiš, ali pa pišeš kodo za lastne potrebe in se problema zavedaš, to ni tak problem (te pa lahko kdaj ugrizne v rit).

napsy ::

Ko smo ze pri napakah, sem (tut deloma zaradi sebe) sestavil kratek dokument o pogostih tezavah, na katere sem naletel med razvojem. Na sreco mam precej kompetentne sodelavce, da so me opozorili na te napake :)

C bad voodoo
"If you die, you die. But when you live you live. There is no time to waste."

Janko97 ::

Zdravo!!

Zdaj, ko že nekaj časa delam v C-ju, je prišlo do nekega problema:
Hotel sem narediti program, ki te vpraša za dve števili in ju zdeli. Ratalo mi je narediti samo da mi te dve števili zdeli in izpiše ostanek (npr. 9/2=4 ostane 1). Hotel bi pa da mi izpiše da je 9/2=4.5 pa nevem kako.

Prosim za pomoč oziroma kakšne namige :)!!
Hvala

Smurf ::

Tip spremenljivke, ki je integer spremeni v float ali double (ki podpira decimalno vejico).

Janko97 ::

Hvala ti sicer do float ali double še nisem prišel si bom pa pogledal kakšen toturial za to.
Lep pozdrav!!

Janac ::

Dober dan,

zanima me kaj da napišem v kodo da mi bo v cmdju šlo v drugo vrsto?

Sedaj sem pisal printf vsakega v svojo vrsto ampak se mi vse prikaže v eni vrrsti.

Blinder ::

\n

\n


lahko daš zraven še
\a
, če želiš slišat pisk

  fdfdafdadfa            \n   
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 1080 Pismo smo stari v bozjo mater. Recesija generacija

Zgodovina sprememb…

  • spremenil: Blinder ()

Janac ::

#include<stdio.h>

main()
{
    printf("ROFL");
    |n printf("LOL");
    
   
	
	return 0;


A si tko mislu? Ne dela.

k--p ::

printf("haha\n");

Janac ::

Pa če hočem da je ena vrsta vmes prazna?

black ice ::

Dodaš še en newline (\n).

k--p ::

lah napises kolikor hoces praznih vrstic in jih kombiniras s tekstom, stevili itd..: printf("\n\nBlablabla\n\n\n\n\hahahaan\n\n\n\n\n%d\n\n\n",stevilo);

Janac ::

aha, hvala.

Kje je tukaj napaka? hočem da deluje tako da bo sestel 3 stevilke naenkrat.

#include<stdio.h>

main()

{ 
      printf("vnesite stevilke in med njimi vstavite +");

     float num1, num2;
    char operation;
    while (15) {
        scanf("%f%c%f", &num1, &operation, &num2, &operation, &num3);
        if (operation == '+');
         printf("%f\n", num1+num2+num3);

}   
  return 0;

    }

amacar ::

Na hitro, če pa misliš še gledat kje je +, boš pa moral pregledati cel vnesen niz, ampak glede na tvoje znanje dvomim da naloga to od tebe zahteva.

#include <stdio.h>
#include <string.h>

main()
{
   float a,b,c;
   scanf("%f", &a);
   scanf("%f", &b);
   scanf("%f", &c);
   printf("%f",a+b+c);
   return 0;
}

k--p ::

lahko tudi tako če hočeš še plus kontrolirat, pa vsakega posebej..
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("vnesite 3 stevilke in med njimi vstavite +: ");
    float num1, num2,num3;
    char operation1, operation2;
    scanf("%f%c%f%c%f", &num1, &operation1, &num2, &operation2, &num3);
    if (operation1 == '+' && operation2 == '+')
         printf("%f\n", num1+num2+num3);
    return 0;
}

oemdzi ::

C# me zanima kako googlat(katere iskalne nize), da bi našel tutorial kako v c# form dodam - in + znakec, ki mi ob kliku skrči&skrije oz raztegne&pokaže elemente kot so texboxes, labels in buttons oziroma označeno področje. Delam namreč v okvirju seminarske program za faks, ki izračuna porabo kalorij med različnimi aktivnostmi in tudi zaužite kalorije. Zato rabim v eno okence zrinit seznam nekaj 100 različnih hranil(label + textbox) in seznam teh aktivnostih. Ideja je da bi jih sortiral po abecedi in ko klinem na A se pokaže hrana, ki se začne s črko A itd...

Vem da sem pred nekaj mesci, ko sem se začel spoznavati s programiranje, naletel na ta tutorial na youtube, ki je točno to pokazal, ampak mi ga nikakor ne uspe ponovno najti in nimam pojma kako se bi to imenovalo, ker vse kar dobivam za rezultat so resizable forms (za različne resolucije) in podobno. Saj bi počakal kak dan pa bi mi kapnilo kaj sem takrat vpisal v google, samo ravno delam ta program, pa sem tudi časovno omejen.
*Črna grafična kartica z rumeno lučko in varčnim hladilnikom*
Neslišen intel procesor iz lepe modre škatle* 2 enakomerno ploščata rama*
*overclockan napajalnik in varno ohišje z modro lučko* Hofer gamer copate*

Zgodovina sprememb…

  • spremenil: oemdzi ()

Qushaak ::

Za Microsoft-ove tehnologije je Pluralsight 1A za učenje.

creator2 ::

Anzes tudi jaz sem bil lani v 2.letniku, vse lekcije smo pa delali tukaj :
http://www.cplusplus.com/doc/tutorial/

Prišli niti nismo daleč, mislim da se lahko do septembra večino tega naučiš če boš priden, ker v šoli se stvar zavleče in ne pridemo daleč.. no, nevem kako so drugi profesorji.

Če hočeš ti lahko pošlem vse programe in teste ki smo jih delali, piši na ZS.

EWER115 ::

C how to program založba DEITEL, ne bo ti žal, obstajajo isto imenske za Javo, C#, C++ vse enkratne :)
Okolje za C pa priporočam Codeblocks

Lp!

Zgodovina sprememb…

  • spremenil: EWER115 ()

Janac ::

Pozdravljeni, pišem najbolj preprost program. In sicer, predvsem nevem kje so napake(ali pa jih sploh ni???).

Hvala za pomoč.



Kje je tukaj napaka?

garamond ::

Mogoče nisi bil zbran pri malih in velikih črkah in je hInstance namesto hinstance?

Janac ::

garamond je izjavil:

Mogoče nisi bil zbran pri malih in velikih črkah in je hInstance namesto hinstance?


Najlepša hvala za predlog, ki pa žal ni učinkoval.

jizzer ::

@Janac
Kaj če bi ti dejansko nekje napisal kaj več o programu ki ga sestavljaš? Smetiš po miljon temah (ki se mimogrede niti na c++ ne navezujejo), z enim in istim vprašanjem. Pa ne delaj screenov ampak prilepi kodo v tekstovni obliki.
Pa nemoraš pričakovat od nekoga da bo takoj vedel za kako napako gre če niti ne vidi celega programa.
Sam tudi nevem kaj bi lahko bla napaka, niti nevem če je logična ali sintaktična, se ne spoznam tolko na c++, se opravičujem samo si mi dekl lifto.

edit: pa malo več samoiciative se tut pričakuje če že sprašuješ po forumu, ne pa da ljudi žališ. Mogoče boš tu kaj več našel: http://msdn.microsoft.com/en-us/library...

Zgodovina sprememb…

  • spremenil: jizzer ()

Janac ::

Evo sem vse popravil do CreatingWindow.

hwnd = CreateWindowEx (szAppName,
                        TEXT ("Yet another Hello program"),
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        NULL,
                        NULL,
                        hinstance,
                        NULL);
                                     
    ShowWindow  (hwnd, iCmdShow);
    UpdateWindow (hwnd);


Tko po drugih examplih iz neta naj bi blo pravilno, ampak men izpiše:

invalid conversion from `TCHAR*' to `DWORD'


Če za zadnjim NULLL-om odstranim ) in ; lepo steče čez to vrstico in nato v naslednji izpiše:

expected `)' before "ShowWindow"


Kar razumem, da hoče met ) pred ShowWindow...

Mogoče kdo ve kaj delam narobe?

Senitel ::

CreateWindowEx ima na dodaten parameter na začetku! Ali uporabi CreateWindow, ali pa dodaj ta en parameter (CreateWindowEx).

Janac ::

Če napišem samo CreateWindow mi pa že v tej vrstici ne spusti naprej...

c0ded ::

Namesto TEXT ("Yet another Hello program"), probaj _T("Yet another Hello program").

Janac ::

V kolikor ni Ex-a ne spusti čez to vrstico...

c0ded je izjavil:

Namesto TEXT ("Yet another Hello program"), probaj _T("Yet another Hello program").


Si mislil z Ex ali brez Ex-a? Z nobenim ne spusti naprej...

Zgodovina sprememb…

  • spremenil: Janac ()

shadeX ::

Kaj pa če bi se sintakse prej naučil, ali..?

Janac ::

shadeX je izjavil:

Kaj pa če bi se sintakse prej naučil, ali..?


Povej, kje vidiš napako?

Ja če še ne vidiš, ravno sedaj delam na sintaksi.
«
1
2 3


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java @Override

Oddelek: Programiranje
6715 (580) kretze
»

C in računanje kotov

Oddelek: Programiranje
376095 (5148) RatedR
»

naloga ne funkcionira

Oddelek: Programiranje
101356 (1265) FX6300B
»

c napaka .c:4:1: error: expected identifier or '(' before '{' token

Oddelek: Programiranje
141832 (1405) MrStein
»

[c] char zadeva

Oddelek: Programiranje
222109 (1907) TheCyborg

Več podobnih tem