- Androidos tablet topic
- TCL LCD és LED TV-k
- VR topik (Oculus Rift, stb.)
- Három oldalról üveggel határolt minitorony huppant le az Antec tervezőasztaláról
- Milyen monitort vegyek?
- Házimozi belépő szinten
- Xiaomi Pad 5 - hatásos érkezés
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Nvidia GPU-k jövője - amit tudni vélünk
- Milyen TV-t vegyek?
Új hozzászólás Aktív témák
-
buherton
őstag
Köszönöm, akkor jól gondoltam.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
BTminishop
aktív tag
Sziasztok,új vagyok még a programozásba még csakkonzol applikációt írtam és valamelyik nap nézegettem a c++-t és megtaláltam ez a WindowsFormsApplication-t megjelent egz ablak amit saját ízlésem szerint testre tudtam szabni.A kérdésem a következő,lehetséges olyan hogy ami konzolba megy program,azt úgy megoldani,hogy egy önnáló "program" legyen?! Tehát ablakja legyen ne a konzol nyitódjon meg és gyakorlatilag egy önnáló program legyen? Vagy ez,hogy lehetséges megoldani?Tudom nem egyszerű de legalább valami nekifutó kellene.Az olyan kommenteket kerülném,hogy "rossz pályát választottál" mert szerintem senki sem született programozónak.Köszönöm.
[ Szerkesztve ]
-
bucsupeti
senior tag
válasz BTminishop #4953 üzenetére
Előszöris a programozás szerintem az hogy egy probléma megoldására algoritmust készítesz. Ha ez megvan akkor az algoritmus köré felhasználói felületet tenni már "nem nagy ügy".
(Valójában persze a legfontosabb a felhasználói élmény, az hogy az alkalmazást használók szívesen dolgozzanak a szoftverrel.)A lényeg hogy ha C-ben tudsz algoritmusokat írni, akkor rendben vagy. Most már csak meg kell ismerni a különféle GUI keretrendszereket. Ahogy látom neked most egy picit a komponens alapú GUI fejlesztéssel kellene megismerkedned, ahol majd egy gomb megnyomására lefut az említett programod és valamilyen grafikus komponens segítségével (pl datagrid) megjeleníti az eredményt.
Rengeteg GUI építő tutorial létezik a youtobe-on. Ha C/C++ akkor én javasolni tudom a QT környezetet. Tényleg egyszerű és jól használható (ráadásul Linuxon és windowson is elérhető).
Itt egy QT oktató videósorozat.
Sok sikert!
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
alapz@j
tag
válasz BTminishop #4953 üzenetére
Nem egészen értem a problémát: ha a Visual Studio-ban (legalábbis gondolom, hogy ez, a sablon-név alapján) a "WindowsFormsApplication" varázsló kitett neked egy ablakot, amit saját ízlésed szerint testre tudtál szabni, akkor lényegében "írtál" egy GUI-val rendelkező programot, nem? Build solution aztán run.
[ Szerkesztve ]
-
BTminishop
aktív tag
válasz alapz@j #4955 üzenetére
Igen,le is tudtam futtatni és működött csak én igazából arra vagyok kíváncsi,hogy amit megírtam programot azt összetudom "kovácsolni" egy ablakkal (nehéz elmondani mire gondolok ) vagy külön kell megírnom,bonyolult elmagyaráznom de hát a programozás is bonyolult,és ez fogott meg benne!
Az előző hozzászólónak köszönöm a segítséget mindenféleképpen utána nézekpl.
#include <stdio.h>
void main ()
{
printf("Hello World!\n");
}
Most leirtam a világ legegyszerűbb programját,és igazából azzal nem vagyok én kibékülve,hogy ha ablakot akarok neki késziteni akkor ezt a programot másképp kell leírnom,más szintaxis szerint vagy ezt valahogy belehet helyezni?![ Szerkesztve ]
-
Ereshkigal
őstag
válasz BTminishop #4956 üzenetére
Az "összekovácsolás" egy hosszú tanulási folyamat része lesz.
Először is el kéne dönteni, melyik nyelven akarsz programozni (az egyik kommentedben C++-t emlegetsz, a másikban C kódot írsz), aztán lehet hozzá választani UI frameworköt. A fentebb ajánlott Qt egy elég jó választás lehet.
(Printf helyett mást fogsz használni.)
-
BTminishop
aktív tag
válasz Ereshkigal #4957 üzenetére
C nyelven programozok,csak mi az iskolában úgy szoktuk meg a microsoft visual studio-t,hogy c++ Tehát akkor ha C nyelven szeretnék programozni akkor a fenti tutoriálok nem érvényesek,igaz?
-
Ereshkigal
őstag
válasz BTminishop #4958 üzenetére
Bele lehet hegeszteni a C-t is a Qt-be (én sose próbáltam), de szerintem nem érdemes szórakoznod vele.
C-n jobban le leszel korlátozva, nem is tudom, mit szoktak ajánlani hozzá, talán GTK+-t. -
bucsupeti
senior tag
válasz BTminishop #4958 üzenetére
grafikus felület programozásánál felejtsd el a C-t! Természetesen lehet azzal is, csak nem épp a legjobb választás. Ha desktop alkalmazást akarsz készíteni akkor C++ (esetleg nagyon óvatosan mondom: Java Swing).
Ha suliban Visual Studiot használtok akkor hazsnáld azt.
[ Szerkesztve ]
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
DrojDtroll
veterán
Mi lehet a hiba? Miért nem tudok négy dimenziós tömböt deklarálni?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t[100][100][100][100], i, j, k, l;
int bentvan=1, tanar, tantargy, hetnapja, ora;
printf("Succesfull declaration\n");
for(i=0;i<100;i++){
for(j=0;j<100;j++){
for(k=0;k<100;k++){
for(l=0;l<100;l++){
t[i][j][k][l]=0;
}
}
}
}
do{
printf("Add meg a tanart");
scanf("%d", &tanar);
printf("Add meg a tantargyat");
scanf("%d", &tantargy);
printf("Add meg, hogy a het melyik napjan");
scanf("%d", &hetnapja);
printf("Add meg, hogy hanyadik ora");
scanf("%d", &ora);
if(tanar==0){
bentvan=0;
}else{
t[tanar][tantargy][hetnapja][ora]=1;
}
}while(bentvan);
return 0;
} -
Karma
félisten
válasz DrojDtroll #4962 üzenetére
Hibakeresésnél legközelebb másold ide a pontos hibaüzenetet, és hogy fordításkor vagy futáskor történt a hiba.
Egyébként szerintem az a baj, hogy egy 100^4 elemű inttömb bő 400 MB memória lenne, amit stacken nem lehet elhelyezni...
Ha ekkora memóriaterület kell, nem úszod meg a heap használatát (malloc/free), de sokkal célravezetőbb, ha újragondolod a feladatod. Több mint valószínű, hogy nincs szükséged az egész tömbre a memóriában.
[ Szerkesztve ]
“All nothings are not equal.”
-
alapz@j
tag
válasz BTminishop #4956 üzenetére
C-ben is könnyedén lehet GUI-t programozni, akár közvetlenül a Win32 API-t akár valamelyik multiplatform toolkitet, mint a GTK vagy az egyébként általam is használt és imádott IUP. Ettől függetlenül én is a Java Swinget vagy a .Net-et ajánlanám kezdő programozónak, mert azok eleve adottak a Java és a .Net környezetekben, nem kell dll-ekkel vagy statikus programkönyvtárakkal bajlódni.
A kérdésedre egyébként az a válasz, hogy az ablakot a megfelelő függvényhívásokkal hozod létre (kovácsolod a programodhoz): pl. win32 API-val
...
int mydialog = DialogBox(hInstance, MAKEINTRESOURCE(DLG_MYDLG), NULL, (DLGPROC)MyDlgProc);IUP-al:
Ihandle *dlg;
...
IupShow(dlg);stb., stb.
Ja, és egy jó tanács: ne keverjétek a C-t és a C++ -t, még nevükben sem
-
DrojDtroll
veterán
Hogyan tudom konyen a kovetkezo bemenetet int tombbe alakitani?
21 45 3 68
-
bucsupeti
senior tag
válasz DrojDtroll #4966 üzenetére
bash scriptben akarod megtenni?
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
lotuska
tag
Sziasztok, kezdo vagyok C-ben (elso programom lenne), elso eves infos, nem Magyarorszagon. Nem nagyon ertek angolul sem sokat, utananeztem a beolvasasnak neten, de nem jottem ra mi a gond, eddig Pascalt tanultam, nem ertem mi a baj ezzel a beolvasassal: (a source file .c kiterjesztessel van elmentve)
#include <stdio.h>
void main()
{
char letter;
printf("kerem a karaktert \n");
scanf("%c", &letter);
printf("%c", letter);
}a hibauzenet:
Error 1 error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\roland\documents\visual studio 2013\projects\consoleapplication1\elso.c 6 1 ConsoleApplication1
Valaki elmagyarazna? koszi a segitseget (a projektem C++/win32)
-
alapz@j
tag
válasz lotuska #4973 üzenetére
Már megbocsáss, de te nem a problémát oldottad meg, hanem a compilert sikerült rávenned arra, hogy szemet hunyjon a hibád felett. Mi akadálya volt annak, hogy a szájbarágós magyarázatnak megfelelően a scanf_s függvényt használd a scanf helyett? És akkor egy csapásra egy buffer overflow lehetőséget is kiküszöböltél volna...
char c;
scanf_s("%c", &c, 1);[ Szerkesztve ]
-
lotuska
tag
//harom beolvasott szam kozul a legkisebbet hat. meg
#include <stdio.h>
void main()
{
int i, szam, min;
for (i = 1; i < 4; i++)
{
printf("kerem a szamot\n");
scanf_s("%d", &szam, 1);
if (i == 1)
min = szam;
else
if (szam < min)
min = szam;
}
printf("A legkisebb szam: \n", min);
getchar();
}Azt akarom megkerdezni, hogy miert nem ir ki ez semmit a kepernyore, valakine van valamilyen otlete? Koszi
-
lotuska
tag
#include <stdio.h>
void main()
{
char c;
int a, b, d;
printf("kerek ket egesz szamot es a vegezni kivant muvelet szimbolumat\n");
scanf_s("%d%d%c", &a,&b,&c, 1);
if (c == '+')
{
d = a + b;
printf("%d %c %d = %d", a, c, b, d);
}
}Miutan beolvas ket egesz szamot, miert ugrik tul? Nem keri be a karaktert, nem ertem miert... Ha kulon scanf_s irok akkor sem... Valaki tudja mi a problema?
-
bucsupeti
senior tag
válasz lotuska #4978 üzenetére
A billentyűzet pufferbe bennmarad egy enter és azt olvassa ki a scanf a %c-re
Ezt úgy lehet kezelni, hogy a scanf-nek megadod az elválasztó karakter, amit a beolvasáskor elnyel.
Az elválasztó karakter ez esetben a \r.Érdemes kiíratni hoyg mit is olvasott be, így hamar kiderülnek a hasonló hibák.
Javítsd ki így a scanf-es sort:
scanf("%d\r%d\r%c",&a,&b,&c);
így nekem működött linux alatt. a scanf_s nem ansi C szabvány, hanem a microsoftnak a találmánya, azzal nem tudom kipróbálni.
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
Cidan
tag
Sziasztok!
Szeretnék némi segítséget kérni tőletek bináris fájlból való olvasáshoz. Találtam egy feladatot nemrégiben ami megfogott, mert nem tudok rájönni a megoldásra. Így szól:
"Olvassa be egy 'h.bin' nevű bináris fájlból a long int h[6]; tömböt, 6*sizeof(long int) méretben!"Odáig eljutottam, hogy ha minden igaz akkor fread() függvényt kell használni az eljáráshoz, viszont nem teljesen értem a függvény működését és magát a feladatnak se azt a részét, hogy egy bináris fájlból hogy olvassak be egy tömböt.
Ha valaki tudna adni bővebb magyarázatot, vagy a témához szorosan kapcsolódó anyagot azt megköszönném.
-
don_peter
senior tag
Nem biztos, de itt nem a bináris fájl a lényeg, hanem az, hogy a bináris fájlból olvass be 6*sizeof(long int) méretet.
Tehát van egy tömböd aminek 6 eleme van.
elemenként (long int) mérettel.
Ez végül lesz majd egy a 6*sizeof(long int).Annyit tudok hirtelen még, hogy az int típus az maximum 32bit, ha előtte van a long, akkor hosszabb is lehet, de nem tudom mennyivel.
Talán duplája kb. 64bit.
Ha ezt követjük akkor a tömböd 6*64bit-es lesz.:
tomb[6][8] ={ // (8*8==64bit)
{0b00000001}, {0b00000011}, ...stb };Ha nem jó akkor majd a szakik javítják, de én így értelmezem..
[ Szerkesztve ]
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
don_peter
senior tag
válasz don_peter #4983 üzenetére
Illetve kicsit hiányos volt az előző:
#define elemekszama 6
#define bitszam 64
unsigned char tomb[elemekszama][bitszam] = { { "1","0","1","0",...64db }, {}, ...6db };Ebben a formában mondjuk byte-onként fogja értelmezni (6*64byte), de a lényeg talán látható, hogy mire akartam rámutatni...
[ Szerkesztve ]
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
bucsupeti
senior tag
válasz don_peter #4984 üzenetére
Simán a sizeof(long) operátor kell. Így az adott implementáción magától fogja kiszámolni a méretet bájtokban, így nem kell ismerni a long mértete.
fread(tomb,6*sizeof(long).....) hívással simán beolvassuk a tömböt.
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
don_peter
senior tag
Srácok, kellene írnom egy Windows programot amellyel COM porton keresztül egy PIC-nek (mikrovezérlő) adatokat tudok küldeni USART (RX/TX) adatvonalon.
Egyelőre csak kisebb 1 LED be/ki kapcsolására gondoltam.
Ahogy olvasgatok a C Sharp-ot ajánlják kinti fórumokon.
Mi a véleményetek? Milyen programot érdemes használnom?
Tudtok adni linket esetleg letöltéshez illetve, ezek ingyenesen használhatóak vagy fizetős programok?
Előre is köszi.Ja igen C nyelven írnám a profikat.
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
DrojDtroll
veterán
Hogyan lehet egy ilyen stringbol szamokat csinalni?
"2 31 457"
[ Szerkesztve ]
-
don_peter
senior tag
válasz DrojDtroll #4988 üzenetére
atio() függvény lesz a barátod
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
don_peter
senior tag
válasz DrojDtroll #4990 üzenetére
Tördeld el a stringet a szóközöknél és utána az eldarabolt stringeket már át tudod alakítani az atoi() függvénnyel.
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
DrojDtroll
veterán
válasz DrojDtroll #4992 üzenetére
Irtam ra sajat fugvenyt ami szetszedi innentol mar minden megy az atoi()-val.
-
don_peter
senior tag
válasz DrojDtroll #4993 üzenetére
Nah akkor megoldódott.
Egyébként egy for() és if() feltéttel meg lehet oldani.[ Szerkesztve ]
----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----
-
alapz@j
tag
válasz DrojDtroll #4988 üzenetére
char *string = "2 31 457";
int i1, i2, i3;
sscanf(string, "%d %d %d", &i1, &i2, &i3); -
alapz@j
tag
válasz DrojDtroll #4996 üzenetére
Jól megbonyolítottad a dupla tömbökkel
char string[] ="1 22 333 444 5555";
char *pch = strtok(string," ");
while (pch != NULL) {
printf("%i\n", atoi(pch));
pch = strtok(NULL, " ");
}vagy ha már belelendültem:
char *string = "1 22 333 4444 5555";
size_t i = strlen(string);
while (--i) if (string[i] == ' ') printf("%i\n", atoi(string + i));ez utóbbi jobb is, mert a strtok-al ellentétben nem módosítja a stringedet.
-
lotuska
tag
sziasztok, valaki leirja hogy lehet a legegyszerubben azt a programot megirni, hogy:
beolvasunk egy szuletesi datumot es irjuk ki hany napot elt a mai napig az illeto szemelykoszi
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest