Jump to content
GSForum - Segélyvonal

Programozás (segítség és publikálás kezdõknek)


Recommended Posts

Posted

Ez mióta hiba? :D

Amióta nem az angol a hivatalos nyelv Magyarországon. Szerencsére nincs gondom az angollal, de azért egy száraz, szakmai szöveget könnyebb (lehet) megérteni az anyanyelvemen. Szerintem ezzel nem csak én vagyok egyedül.

De valóban, ez inkább nevezhetõ hiányosságnak, a magyar kiadók részérõl.

Am nem ciki, hogy a MS Visual C++ 2008 Express-t használom konzolos progi írásához? :lol: Sajna csak ez van érettségi szoftverlistában, ami nekem elérhetõ.

Nem, miért lenne?

Amúgy lehet parancssorból is fordítani, és akkor elég egy mezei szövegszerkesztõ is. Érettségin egyébként sem kell komolyabb fejlesztõ-környezet, hisz nagyon egyszerû programokat adnak.

Posted

Szerintem jobban jársz, ha angolul tanulod. Igaz, hogy az alapokat könnyebb magyarul megérteni, viszont késõbb hasznosabb lesz ha "original" formában sajátítod el a mélyebb dolgokat.

Más. Valaki írt már WM-re .NET alkalmazást?

Posted

Üdv!

Adott egy 3x2 -es mátrix. Ehhez 6 label. Elsõ programnak ki kéne írni minden label-re hogy a 2dimenzios tömben melyik érték kerülne rá. ( Labelek a formon is 3x2-es rendezésben vannak. Tehát bal felsõ lenne a 0,0) Második feladat random számokkal feltölteni a mátrixot ( ez még megy is ) De hogy tudnám legegyszerûbben ráíratni a labelekre? Delphiben kéne megírni.

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

tomb : array[0..2,0..1] of byte;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i,j : byte;

begin

for i:=0 to 2 do

for j:=0 to 1 do

label1.Caption:='['+inttostr(i)+','+inttostr(j)+']';

end;

end.

Ha ezt futtatom, a bal felsõ label caption-je 2,1 lesz amikor 0,0 -t kéne kapnom :(

Légyszi segítsetek, gondolom elég triviális könnyû program ez.. de valahogy nem értem.

Köszi

Posted

" label1.Caption:='['+inttostr(i)+','+inttostr(j)+']'; "

Tudod ez azt jelenti, hogy a for ciklusban felhasznált változókat íratod ki (ami végülis mindenképp 2 és 1 lesz), és nem a tömbben található adatokat...

Posted

Így utólag, igen rájöttem, de hogy tudnám megoldani?

Posted

" label1.Caption:='['+inttostr(i)+','+inttostr(j)+']'; "

helyett

"label1.Caption:='['+inttostr(tomb)+','+inttostr(tomb[j])+']';"

Tessék néha gondolkodni is...

Posted

Szép jó estét!

C-ben írtam egy progit. Sima kétszámösszeadós valami, ha nem jó adatokat adunk meg, akkor kilép. De az alábbi hibaüzenetet kapom, nemtom, hogy mit jelent.

Köszi a választ.

IPB Image

Posted

Szép jó estét!

C-ben írtam egy progit. Sima kétszámösszeadós valami, ha nem jó adatokat adunk meg, akkor kilép. De az alábbi hibaüzenetet kapom, nemtom, hogy mit jelent.

Köszi a választ.

IPB Image

Hát én ezt C++ fordításra használom. Próbáld meg új projektként menteni. Még kezdõ vok, de az uccsó sor sztem hibás. Az elsõ érték miért &d? Nem %d az is? De sztem nem ez a gond, küldj teljes képernyõképet, hátha vki tud vmi érdemlegest is mondani.

Posted

Szép jó estét!

C-ben írtam egy progit. Sima kétszámösszeadós valami, ha nem jó adatokat adunk meg, akkor kilép. De az alábbi hibaüzenetet kapom, nemtom, hogy mit jelent.

Köszi a választ.

IPB Image

Ez sokkal egyszerûbb szerintem:

#include <iostream>

using namespace std;

int main()

{
float a;

float b;
    
    cout << ("Osszeadas!\n"); 
    cout << ("Elso ertek!\n");
    cin >> a;
    cout << ("Masodik ertek!\n");
    cin >> b;
    cout << "Az eredmeny: " << a + b <<::endl;
    
    system ("pause");
    
    return 0; 
}

Float, mert tizedeseket is tud számolni. Ha kell még plussz szám, akkor beírsz egy float c;-t is, illetve egy

cout << ("harmadik ertek!\n");
cin >> c;

Ezt megcsinálhatod még szorzással, osztással, kivonással is. Ismeri a zárójeles mûveleteket is. :)

Posted

Ez sokkal egyszerûbb szerintem:

Semmivel nem egyszerûbb (sõt...), ellenben nem ellenõrzi, hogy hány inputot adtál meg, de legfõképp te C++ -ban írtad, míg a kolléga C-ben.

Szép jó estét!

C-ben írtam egy progit. Sima kétszámösszeadós valami, ha nem jó adatokat adunk meg, akkor kilép. De az alábbi hibaüzenetet kapom, nemtom, hogy mit jelent.

Köszi a választ.

IPB Image

A hibaüzenet szerint nem ez a probléma forrása, de a main függvény fejlécébe nem kell a "void", valamint - ahogy ezt már elõttem leírták - az utolsó sorban az elsõ &d az %d kellene legyen.

A c változó használata meg felesleges. Az utolsó sorban a "c" helyére elég, ha "a+b"-t írsz.

Jó lenne ha látszódnának a fordító üzenetei is.

Posted

Semmivel nem egyszerûbb (sõt...), ellenben nem ellenõrzi, hogy hány inputot adtál meg, de legfõképp te C++ -ban írtad, míg a kolléga C-ben.

A hibaüzenet szerint nem ez a probléma forrása, de a main függvény fejlécébe nem kell a "void", valamint - ahogy ezt már elõttem leírták - az utolsó sorban az elsõ &d az %d kellene legyen.

A c változó használata meg felesleges. Az utolsó sorban a "c" helyére elég, ha "a+b"-t írsz.

Jó lenne ha látszódnának a fordító üzenetei is.

cpp a fájl, tehát õ is C++-ban írta.

A voidtól nem kéne, hogy baja legyen. Compiler böfögéseit én is várom. :)

Annyi még a baj - de ettõl fordulnia kéne -, hogy nem mondod meg a felhasználónak, hogy a program csak a "%d, %d" formátumot fogadja el helyes inputnak. (tehát két egész szám egy vesszõvel és egy szóközzel elválasztva - ez nem szó szerint vett hiba, csak elég idegesítõ tud lenni :D)

Posted

Semmivel nem egyszerûbb (sõt...), ellenben nem ellenõrzi, hogy hány inputot adtál meg, de legfõképp te C++ -ban írtad, míg a kolléga C-ben.

Akkor megírom printf-scanf-fel, és ott megszabható a bemenet. :D

Az egyszerûbbet pontosítsuk úgy, hogy szerintem- és átlátni egyszerûbb. De ugye ezt is embere válogatja. ;)

Hát elvileg van némi köze egymesházho a két programnyelvnek. Ahogy néztem a kódokat, nem tér el igazán szerintem. De való igaz, hogy én céplusszplussz-ban írtam. :)

Posted

Akkor megírom printf-scanf-fel, és ott megszabható a bemenet. :D

Az egyszerûbbet pontosítsuk úgy, hogy szerintem- és átlátni egyszerûbb. De ugye ezt is embere válogatja. ;)

Hát elvileg van némi köze egymesházho a két programnyelvnek. Ahogy néztem a kódokat, nem tér el igazán szerintem. De való igaz, hogy én céplusszplussz-ban írtam. :)

Am májkrémszaft szerkesztõje nem csak a C++-t ismeri?

Posted

cpp a fájl, tehát õ is C++-ban írta.

Az egy dolog, de ez akkor is C nyelven írt programkód, ergó bármilyen C (és természetesen C++) fordítónak le kéne tudni fordítania.

Am májkrémszaft szerkesztõje nem csak a C++-t ismeri?

Nem. Minden C++ fordító tud C kódot is fordítani.

Posted

A fordító a kiterjesztés alapján fordít elsõsorban. Nyilván, ha egy C++ fájlban csak C-s elemek vannak, akkor nincs gond, mert visszafelé teljes mértékben kompatibilis a nyelv. Csak jelezni akartam, hogy implementálhatja a saját forráskódjába a delikvens a streames megoldást is, mert cpp-t írt, ergo menni fog.

Posted

Sziasztok!

Tudna valaki segíteni?

Egy flash visszaszámlálót szeretnék készíteni.

(megnéztem ezt a tutorialt) követtem mindent lépésrõl - lépésre...

De nem sikerült. (Nem mûködik.) Elvileg a script-ek jók, ugyan az. Mûködnie kéne... :blink:

(Nem jelenik meg semmi. Csak a "nap, óra, perc, mp" felette a számok nem...) :huh:

A következõ script-eket írtam:

Ha valaki tudna segíteni, nagyon megköszönném! :rolleyes:

 this.OnEnterFrame = function() {

    var today:Date = new Date();
    var currentYear = today.getFullYear();
    var currentTime = today.getTime();
    
    var targetDate:Date = new Date(currentYear,11,25);
    var targetTime = targetDate.getTime();
    
    var timeLeft = targetTime - currentTime;
    var sec = Math.floor(timeLeft/1000);
    var min = Math.floor(sec/60);
    var hrs = Math.floor(min/60);
    var days = Math.floor(hrs/24);
    sec = string(sec % 60);
    if (sec.length < 2)    {
        sec = "0" + sec;
    }

    min = string(min % 60);
    if (min.length < 2)    {
        min = "0" + min;
    }
    
    hrs = string(hrs % 24);
    if (hrs.length < 2)    {
        hrs = "0" + hrs;
    }
    
    days = string(days);
    
    var counter:String = days + ":" + hrs + ":" + min + ":" + sec;
    time_txt.text = counter;
    
}

Posted

Tudtok nekem egy oldalt ajánlani ahol C# leírások vannak? Nagyon alapoktól kellene. Köszönöm!

Posted

Köszi mindenkinek. A szabadidõm mostanában erõsen 0-hoz konvergál, úgyhogy nem volt idõm javítgatni a progit, majd visszaírok, hogy sikerült-e a dolog.

ANSI C-t tanulok, úgyhogy abban is írtam.

Az elsõ %d-t tényleg elírtam, de ahogy néztem a legmelegebb hibát nem is vettétek észre. Lazán leírtam, hogy <stdlib.hu>. :lol:

Posted

Köszi mindenkinek. A szabadidõm mostanában erõsen 0-hoz konvergál, úgyhogy nem volt idõm javítgatni a progit, majd visszaírok, hogy sikerült-e a dolog.

ANSI C-t tanulok, úgyhogy abban is írtam.

Az elsõ %d-t tényleg elírtam, de ahogy néztem a legmelegebb hibát nem is vettétek észre. Lazán leírtam, hogy <stdlib.hu>. :lol:

omg, tényleg azt írtad :D

ezekkel a javításokkal már megy egyébként?

Posted

" label1.Caption:='['+inttostr(i)+','+inttostr(j)+']'; "

helyett

"label1.Caption:='['+inttostr(tomb)+','+inttostr(tomb[j])+']';"

Tessék néha gondolkodni is...

Köszönöm

Posted

Hello :rolleyes:

Van egy kissebbfajta NAGY problemam: 1,5 hete szenvedek ezzel a C programmal,nem minden percben,de 90%ban igen. Ketsegbeeses es duhroham kerulget=PANIK. Egyszer szamol egyszer nem, de mindig rosszul. Tanarbacsi szerint double a megfelelo modszer, bar utanna kijavitotta int-re. Aki tud 6.-aig segithet. Elore is koszonom.Azutan meg utolag. Zsolt

Write a program to assist a painting contractor to prepare quotes for painting jobs. The quotes are NOT to include GST or PST. The painter always applies 2 coats of paint to areas being painted. Painting costs depend on area to be painted and quality of paint to be used. 1 or more rooms may be painted. You can assume all walls to be painted have a height of 8 feet. Ceilings are painted using a basic grade of paint at $20 per 400 square feet. Wall paint also covers 400 square feet and 3 qualities of wall paint are available; premium at $40, regular at $30 and basic at $20. Labour costs include a setup cost of $100 plus $40 per 200 square feet (includes 2 coats) to be painted. Paint is obtained in bulk so the quote is to only include paint used. An error message is to be displayed if any invalid input is entered and input is to be prompted for and re-input until valid.

#include <stdio.h>

main ()

{

int qanswer,ceiling, ceilingsqft;

int width, length, roomcostpremium, roomcostregular, roomcostbasic;

int totalsqft, roomsqft;

int labour, ceilingcost, totalcost;

/*Program*/

printf(">>> Paint Cost Estimator <<<\n");

printf("Enter length of the room:");

scanf("%d",&length);

printf("Enter width of the room in feet:");

scanf("%d", &width);

printf("Enter quality [Premium-1,Regular-2,Basic-2]:");

scanf("%d", &qanswer);

printf("Do you want the ceiling to be painted? [Yes-1,No-2]:");

scanf("%d", &ceiling);

/*Calculation of Quality*/

if (qanswer==1)

{

roomcostpremium= 2*(8*length)+2*(8*width)*(40/400);

}

else if (qanswer==2)

{

roomcostregular= 2*(8*length)+2*(8*width)*(30/400);

}

else(qanswer==3);

{

roomcostbasic=2*(8*length)+2*(8*width)*(20/400);

}

/*Calculation of Square feet*/

if(ceiling=2)

{

ceilingsqft=width*length;

}

else(ceiling==1);

{

ceilingsqft= width*length+roomsqft;

}

roomsqft=2*(8*length)+2*(8*width);

labour=100+40/200*roomsqft;

totalcost= roomcostbasic+roomcostregular+roomcostpremium+labour;

printf("Total area is: %d sqft \n",roomsqft);

printf("Premium paint cost:$ %d \n", roomcostpremium);

printf("Regular paint cost:$ %d \n",roomcostregular);

printf("Basic paint cost:$ %d \n", roomcostbasic);

printf("Labour costs:$ %d \n", labour);

printf("TOTAL COST:$ %d \n",totalcost);

}

Posted

az int kicsi, mikor a négyzetmétert számolod, könnyen kifuthatsz belõle...azt meg nem értem, miért kell 3 változó ahhoz, hogy az árat megállapítsd :D

elsõ átfutásra ennyi, most sietnem kell

Posted

Hello Mindenkinek,

koszonom a sugast!Tegnap 11-07 ujraertelmeztem a programot....meg az eletet :huh: ez lett belole:

Ami MOST a baj: ezeken a helyeken -----> :unsure: expected expression-t ker a draga. De nem jovok ra mi az amit elvetettem.

else if helyett attertem a 2 if+else megoldasra, az if+ else if + else nem tetszik neki, nem szamol jol. Azert kell 3 valtozo,mert minoseget is kell samolni :blink: es hogy ne legyen ecceru ki kell boviteni kesobbiekben...4napon belul while-val + lesz meg kifestendo szoba?-val.

#include <stdio.h>

main ()

{

double totalsqft, roomsqft,ceilingsqft,length,width;

double labour, ceilingcost, totalcost;

double premiumcost,basiccost,regularcost;

int quality,ceiling;

/*Program*/

printf(">>> Paint Cost Estimator <<<\n");

printf("Enter length of the room:");

scanf("%lf",&length);

printf("Enter width of the room in feet:");

scanf("%lf", &width);

printf("Enter quality[Premium=1,Regular=2,Basic=3]:");

scanf("%d",&quality);

if (quality == 1)

{

premiumcost=2*8*length+2*8*width*2*40/400;

}

if(quality==1 && ceiling==2);

{

premiumcost=2*8*length+2*8*width*2*40/400+width*length*20/400*2;

}

else :unsure:

{

premiumcost=0;

}

if (quality==2)

{

regularcost=2*8*length+2*8*width*2*30/400;

}

if( quality==2 && ceiling==2);

{

regularcost=2*8*length+2*8*width*2*30/400+width*length*20/400*2;

}

else :unsure:

{

regularcost=0;

}

if (quality==3)

{

basiccost=2*8*length+2*8*width*2*20/400;

}

if ( quality==3 && ceiling==2);

{

basiccost=2*8*length+2*8*width*2*20/400+width*length*20/400*2;

}

else :unsure:

{

basiccost=0;

}

printf("Enter if ceiling to be painted [Yes-1,No-2]:");

scanf("%d", &ceiling);

if (ceiling != 1)

{

ceilingcost = 0;

}

else

{

ceilingcost = width*length*20/400*2;

}

/*Calculate room squarefeet*/

roomsqft=2*8*length+2*8*width;

totalsqft=ceilingsqft+roomsqft;

labour=100+40*totalsqft/200;

totalcost=labour+basiccost+regularcost+premiumcost;

ceilingsqft=width*length;

printf("Total Area: %.2lf sqft\n",totalsqft);

printf("Premium paint cost: $ %.2lf\n", premiumcost);

printf("Regular paint cost: $ %.2lf\n", regularcost);

printf("Basic paint cost: $ %.2lf\n", basiccost);

printf("Labour costs: $ %.2lf \n", labour);

printf("TOTAL COST: $ %.2lf \n",totalcost);

}

Posted

Megint csak felületesen futottam át, de most egy olyan probléma került felszínre, hogy mennyezet festés nélkül bármelyik ár 0 lesz.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...