Hirdetés
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz Jester01 #1146 üzenetére
Nagyon akartam aknát keresni, úgyhogy csináltam egy kis windows over ncurses emulátor réteget Screenshot mûködés közben: [link]
Persze a színekkel meg a speciális keretrajzoló karakterekkel nem foglalkoztam.
Annyi haszna volt a dolognak, hogy felhívhatom a figyelmed arra a tényre, hogy a konzol ablak windows alatt is átméretezhetõ, vagyis nem szép dolog arra építeni, hogy 80 oszlop van.
Ja és persze kipróbáltam az automatikus feltárást is Azt kellene még lekezelnie, ha olyan mezõt tár fel, ahová a felhasználó már tett zászlót.
Valamint nem ártana egy #include <math.h> mivel így a floor függvényt implicit int visszatéréssel használja és telerakja aknával az egész táblát Persze lehet, hogy windows alatt valamelyik másik header már berántja, akkor vedd úgy, hogy nem szóltam.Jester
-
emitter
őstag
válasz Jester01 #1139 üzenetére
na asszem ezt mára feladom, már nem fog az agyam ilyen későn
egyszerűen ez a rekurzív dolog nagyon bekavar, nem is értem a lényegét, hogy honnan hova ugrik a progi futása a rek. fv-hívások közben, stb...
másik kérdés:
konzolos módban végre rájöttem, hogyan lehet színeket kevergetni, de nincs vhol egy táblázat, hogy milyen kevergetéssel milyen színeket lehet előállítani?
ha jól számolok, összesen 22 színárnyalatot lehet csinálni, beleértve a fehéret, feketét, ugye? -
-
emitter
őstag
válasz Jester01 #1132 üzenetére
kicsit bonyolultabb a helyzet, mint gondoljátok szóval ha lehet, máshogy oldom meg ezt a rekurzív cuccost:
kérdés, hogy lehet azt lekérdezni (''felfogni''), hogy ha én egy tömb nemlétező indexű elemét akarom elérni. Gondolom ilyen esetben a progi generál magának valahova egy hibaértéket (valami error-output-ba?) Van ilyen egyáltalán?
Csak mert ha ezt tudnám hasznosítani, akkor nem kellene ennyiféle if-elágazást csinálni a feltar() fv-emben, hanem elég lenne megnézni a szomszédos mezők akna-vizsgálatakor, hogy az igaz-e az error (azaz nem létezik ilyen indexű tömbelem, azaz túlléptem a pálya szélét).
Ha error==1, akkor break; vagy vmi ilyesmi, és folytatom a következő mezővel a vizsgálást.
Szal van ilyesmi error-cucc? -
emitter
őstag
válasz Jester01 #1130 üzenetére
ok, javítottam, most jó kell legyen
meek csicsikálni, holnap a suliban még debuggolok
még azon a feltar()-on van mit csiszolni
meg a mentett pálya folytatása sem az igazi
ja, ha még nézegeted, akkor 'proba.txt' néven mentsd el a pályát, mert a load() is azt olvassa vissza (egyelőre)
jó éjt!
és köszi a segítséget[Szerkesztve]
-
emitter
őstag
válasz Jester01 #1121 üzenetére
hali!
én is sokat szívtam nélküled de legalább kisebb simításokat tudtam végezni a ''holt időmben''
szóval a kérdésem az, h miért száll el a progim (lefut, rögtön bezáródik hibaüzi nélkül)
mindent kikommenteztem, csak a load() maradt, ez nem akar menni rendesen
[link]
megköszönném ha rá tudnál pislantani, köszi előre is! -
Sianis
addikt
válasz Jester01 #1121 üzenetére
Szia!
Rád vártam vazze'
Válaszok:
1) Minek visszatérni? Szerintem egy ilyen laza kis feladathoz felesleges.
2) Ez is visszatérésel toldja meg nem? Vagy így abszolút nem megy?
3) Nem rontom el a változót, nem közösségi felhasználásra készül.
4) Javítva köszi...
5) Szerintem ezzel Win alatt nem lesz gond, főleg, hogy a tanár a saját gépén csak rendelkezik fájl létrehozási funkcióval.
6) Sokat szívtam vele, így legalább működik... Már nem tudom, hogy hol kell, hol nem, de azt tudom, hogy nélkülük nem volt tökéletes. Dev-C++ gcc-t használ, hát a fene sem tudja, hogy mikor mit ront el.
7) Nem működik, ha egy sorba van írva az osztással. Teljesen rejtély, de ha egy sorban van, akkor nagyon rossz számokat generál, így különírva megy.
Kérdés: Neked sincs ötleted, hogyan lehet pl 5-6 tizedesjegy pontosággal 0-1 között úgy, hogy 100000 generált szám között ne ismétlődjön túl gyakran? Tanár kötekedni szokott emiatt, de szerintem az én megoldásom sem rossz, szakmai fórumokon ezt a számot megírtam, plusz egyetemi tanárok is így használják. Neked esetleg valami ötlet? -
emitter
őstag
-
emitter
őstag
válasz Jester01 #1090 üzenetére
Igen, elég zavaros volt, kijavítottam a hibákat. A fájlban a mezőket mátrix-formában tárolom, szal Enterrel a sorok végén, ezért kell először egy átmeneti temp-változóba olvasni.
Most ott tartok, h műxik a dolog, kiírja a képernyőre a fájl helyes tartalmát, de rögtön lefutás után feldob egy hibaüzit, h a ''0x7c...'' címen található utasítás ''0x00...'' mem.címre hivatkozott. stb.
[link]
és ha kell, itt a file [link] -
emitter
őstag
válasz Jester01 #1088 üzenetére
oks, megint igazad volt
most műxik, de futás után rögvest bezárja a konzolablakot, pedig nem kéne neki
ha főprogramból nem hívom meg a load() fv-t (kikommentezem), akkor ok a progi futása,
amúgy meg bezáródik
int load(char *fajl, int *mx, int *my, palya **mezo)
{
FILE *fs;
int i=0, j=0;
char c;
char *temp;
fs=fopen(fajl,''rt'');
fscanf(fs,''%d'',mx);
printf(''%d\n'',*mx);
fscanf(fs,''%d'',my);
printf(''%d\n\n'',*my);
mezo=malloc((*my)*sizeof(palya*)); //dinamikus memoriafoglalas
if(mezo==NULL)
{
fprintf(stderr,''\nKeves a memoria!\n'');
return -1;
}
for(i=0;i<(*my);i++)
{
mezo=malloc((*mx)*sizeof(palya));
if(mezo==NULL)
{
fprintf(stderr,''\nKeves a memoria!\n'');
return -1;
}
}
temp=(char*)malloc((*mx)*(*my)*sizeof(char));
for(i=0;i<*my;i++) //az allas beolvasasa
{
fscanf(fs,''%s'',temp);
printf(''%s'',temp);
for(j=0;j<(4*(*mx));j++)
{
mezo[ i ][ j ].akna=c-48;
mezo[ i ][ j ].reveal=fgetc(fs)-48;
mezo[ i ][ j ].mark=fgetc(fs)-48;
mezo[ i ][ j ].szomsz=fgetc(fs)-48;
printf(''%d'',mezo[ i ][ j ].akna);
}
printf(''\n'');
}
free(temp);
fflush(fs);
fclose(fs);
}
egy pillanatra látom felvillanni az ablak tartalmát, és kiírja rendesen a beolvasott cuccokat, de aztán nagy semmi -
emitter
őstag
válasz Jester01 #1084 üzenetére
na, ma átnézettem a kódot az C-tanárommal, úgyhogy kicsit tisztább lett a kép a kimenő paramétereket illetően
azóta viszont újabb érdekes probléma adódott, futtatáskor ezt kapom:
[Warning] parameter names (without types) in function declaration
<pre>
int load(char *fajl, int *mx, int *my, palya **mezo)
{
...
char *temp;
...
temp=malloc((*mx)*(*my)*sizeof(char));
...
fscanf(fajl,''%s'',temp);
...
free(temp);
...
}
</pre><p> </p>
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1081 üzenetére
na neeee! ennyire nem lehetek lámer kicsit le vagyok fáradva...
oks, így megy a dolog, köszi
viszont újabb kérdésem akadt:
ha egy fv-nek kimenő paraméterként akarok átadni int értékeket, azt gondolom érték szerint nem lehet, vagy igen?
ez így nem műxik, hogyan írjam át, h jó legyen?
...
void load(char *fajl, int *mx, int *my, palya **mezo)
{
...
fscanf(fajl,''%d'',&mx);
fscanf(fajl,''%d'',&mx);
...
}
...
int main()
{
int mx, my;
...
load(''proba.txt'', mx, my, mezo);
...
}
az mx, my változóknak a load fv adna értéket, kimenő paraméterként
szal mikor meghívom a load fv-t, nem adok át neki bemenő mx,my értéket, viszont azt akarom, h ő adjon vissza mx,my-t
remélem érthető vok -
emitter
őstag
válasz Jester01 #1076 üzenetére
oké, értem
akkor hogyan tudom a beolvasott számok ascii értékei helyett a valódi értéküket megkapni?
van erre vmi konvertáló fv?
for(i=0;i<my;i++) //az allas beolvasasa
{
for(j=0;j<mx;j++)
{
mezo[ i ][ j ].akna=fgetc(fs);
printf(''%d'',mezo[ i ][ j ].akna);
}
temp=fgetc(fs); //EOL-karakter olvasása
printf(''\n'');
}
így 48, meg 49 értékeket ír ki -
Hujikolp
őstag
válasz Jester01 #1042 üzenetére
Az oprendszer nekem mindegy de ha lehet akkor XP. A nyelv lehetne magyar, mármint a menü meg ilyenek. Sajnos nem értek a programozáshoz ezért keresnék v.kit aki tud nekem segíteni. Ha van olyan program amivel lehet másikat készíteni azt is sívesn megnézném de lehet hogy boldogulok vele...
A program amit szeretnék készíteni, az a COM-1-ra készülne. Azt szeretném, hogy ha én leírok egy szöveget és rákattintok egy gombra, akkor azt kódolja be morse jelekbe, (amit én megtudok neki adni hogy mi legyen pl.:''a'' ''.-'' ) és a megfelelô ütemre a COM porton továbbítsa rövid és hosszú jeleket. Ha például egy ''a'' betüt szeretnék, akkor a COM-porton egy helyen (tökmindegy hol) lead egy pl.:5voltos feszültséget fél másodpercig (ez a rövid) és egy hosszabbat ez 1mp. Így tranzisztor segítségével egy másik áramkörbe tudom helyezni a morse impulzusokat. Az áramkör egy Rádió adó-vevő lenne, ami hang-pittyegésekkel továbítja a másik adónak ami most vevő. A másik adó veszi a jelet és továbbítja a másik PC COM portjához, ami ezután visszakódolja a morzejeleket és utána azt kiírja szövegesen.
Ennél szerintem részletesebben nem tudom leírni. (szerintem).
elöre is köszz -
_Petya_
őstag
válasz Jester01 #1047 üzenetére
struct elem * Beletesz(struct elem *e,int szam) {
struct elem *seged;
seged = (struct elem *)malloc(sizeof(struct elem)) ; // csinalunk egy uj elemet
(seged->csat) = e; // aminek a pointere a sor elso elemere mutat
e = seged; // a sorra mutato pointert beallitjuk az uj elemre
(seged->sorszam) = szam ; // es kitoltjuk az ereteket
if (szam != 0)printf(''beletesz: %d'',szam) ;
return e;
}
int Kivesz(struct elem **e) {
struct elem *seged1; // ket segedpointerunk lesz
struct elem *seged2;
seged2 = *e; // seged2 az utolso elotti, seged 1 az utolso pont (illetve most az elso 2)
if (seged2 != NULL) { // ha van a sorban elem
if (seged2->csat != NULL) { // es legalabb ketto elem van a sorbwn
seged1 = seged2->csat;
while(seged1->csat != NULL) { // mindket pointerrel jobbra lepunk a lancban
seged2 = seged1;
seged1 = (seged1->csat);
}
seged2->csat=NULL;
printf(''kivesz: %d'',seged1->sorszam) ;
return (seged1->sorszam); // vegigmegyunk, amig seged1->csat == 0
} // es visszaterunk seged1 ertekevel, seged2 lesz a lanc vege
else { // ha csak egy elem van, akkor kivesszuk, e-t null-ra allitjuk (ures)
*e = NULL;
printf(''kivesz: %d'',seged2->sorszam) ;
return (seged2->sorszam);
}
}
return 0;
}
Átírtam így, dex = Kivesz(&asz);
-nél elszáll, m sőt itt is :
asz = Beletesz(asz,a) ;
j = asz;
fprintf(kifile,''%d '',asz->sorszam) ;szeirntem így is valami baja van. Mi lehet a gond?
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
emitter
őstag
válasz Jester01 #1033 üzenetére
ok, a save-t átírtam fprintf-re, magában működik is, azaz ha mainből így hívom:
save(''proba.txt'', mx, my, mezo);
akkor sikeresen elmenti
viszont ha a fájlnevet stringként akarom átadni, akkor fagy:save(fnev, mx, my, mezo);
mainben fnev-et így deklaráltam:char *fnev;
hol van a kutyi elásva? -
emitter
őstag
válasz Jester01 #1029 üzenetére
köszi az ötleteket, főként a pályaméretest
az itoa miért fog inic. területre írni? leírnád a helyes megoldást?
kicsit (nagyon!) átírtam a progit, a main-ben kezelem a fájl létezését, felülírását, stb, a save() pedig csak az adott névre elmenti az állást (ezen még javítani fogok)
szóval a kérdés, hogy a következő main-beli részlettel mi a gond:
(fnev string típusú)printf(''\nMilyen neven akarod elmenteni (xxx.txt): '');
scanf(''%s\n'',fnev);
f=fopen(fnev,''rt'');
if(f==NULL) //ha hiba van a megnyitaskor, azaz ha nincs ilyen
{ //nevu fajl, akkor elmentjuk egy ujba ezen a neven
// fflush(f);
// fclose(f);
save(fnev, mx, my, mezo);
}
_____________ a save() fv________________int save(char *fajl, int x, int y, palya **mezo) //parameter: a fajlnev,
{ //a jatek allasat tarolo 2D-s tomb (elemei 3-bitesek),
FILE *fs; //a tomb meretei
char *s;
int i=0, j=0;
fs=fopen(fajl,''wt'');
for(i=0;i<y;i++) //az allas fajlba irasa
for(j=0;j<x;j++)
{
itoa(mezo[ i ][ j ].akna,s,10);
fputs(s,fs);
}
fflush(fs);
fclose(fs);
return 1;
}
a progi legelőször bekéri a fájl nevét, aztán lefagy, pedig nem is létezett előtte a fájl -
emitter
őstag
válasz Jester01 #1027 üzenetére
igen, ez nekem nem nagyon szúrt szemet , de köszi!
szóval:int save(char *fnev, int x, int y, palya **mezo) //parameter: a fajlnev,
{ //a jatek allasat tarolo 2D-s tomb (elemei 3-bitesek),
FILE *f; //a tomb meretei
char c;
char *s;
int i=0, j=0, temp=0;
if(!(f=fopen(fnev,''rt''))) //ha hiba van a megnyitaskor, azaz ha nincs ilyen
{ //nevu fajl, akkor nyitunk egy ujat ilyen neven
f=fopen(fnev,''wt'');
}
else //ha nincs hiba megnyitaskor, azaz letezik a fajl,
{ //megkerdezzuk, hogy felulirjuk-e
do
{
printf(''\nIlyen nevu fajl mar letezik. Felulirja? (i/n) '');
c=getch();
if(c=='i') //felulirjuk
{
fflush(f);
fclose(f);
f=fopen(fnev,''wt'');
}
else return 0; //sikertelen mentes, nem irjuk felul
}
while((c!='i')||(c!='n'));
}
for(i=0;i<y;i++) //az allas fajlba irasa
for(j=0;j<x;j++)
{
itoa(mezo[ i ][ j ].akna,s,10);
fputs(s,f);
}
fflush(f);
fclose(f);
return 1;
}
létrehozza a fájlt, de nem ír bele semmit
ha mégegyszer lefuttatom, már létezik ugye a fjl, megkérdezi h felülírja-e, ha ekkor 'i'-t nyomok, mégegyszer megkérdezi, majd megint...
(ha itt mást bill-t nyomok, akkor teszi a dolgát, nem írja felül)
mi lehet a bibi -
emitter
őstag
válasz Jester01 #1025 üzenetére
huh, ez nehéz szülés volt!
én már teljesen belezavarodtam ezekbe az indexekbe, nélküled nem tudtam volna rájönni a hiba okára az tuti!
Tényleg, úgy jó, ahogy te írtad, még annyit kellett tenni, hogy a free()-nél is változtatni kellett:
<pre>for(i=0;i<my;i++) free(mezo[ i ]); //memoriafelszabaditas
free(mezo);</pre><p>
akkor ez a része ok
ha esetleg még van rá lehetőséged, megnéznéd, hogy a save() miért fagyasztja le a cumót?
1000thx!!!!!
szerk: arra is rájöttem, miért maradt le az egyik (meg az összes többi) hsz-ben az [ i ] : mert ez a ph-n a dőltbetű
[Szerkesztve]
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1021 üzenetére
akkor most hogyan jó véglegesen?
most így néz ki, de így is fagy néhamezo=malloc(mx*sizeof(palya*)); //dinamikus memoriafoglalas
if(mezo==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
for(i=0;i<my;i++)
{
mezo=malloc(my*sizeof(palya));
if(mezo==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
}
sokszor ilyet dob fel:
vagy simán bezárja magát, vagy a windóz zárja be a szokásos ablakot megjelenítve (ami felajánlja a ''jelentés a microsoftnak'' lehetőséget ) -
emitter
őstag
válasz Jester01 #1019 üzenetére
így jó? egyébként így is éppúgy kifagy egy-két menet után
mezo=malloc(mx*sizeof(palya*)); //dinamikus memoriafoglalas
if(mezo==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
for(i=0;i<mx;i++)
{
mezo=malloc(my*sizeof(palya));
if(mezo==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
}
vagy a 2. malloc is mx*sizeof(palya)-t foglaljon le? -
emitter
őstag
válasz Jester01 #1001 üzenetére
Igen, azt a cella-t csak elnéztem, nem ezt akartam írni
Köszi a scanf-hez az ötletet, de még mindig van rajta mit javítani, mert ha pl olyat adok be, hogy ''9,10g'', azaz a megengedett ''int,int'' végére még egy betűt is írok, akkor elszáll az aranyos!
Ezt hogy tudnám kivédeni?
Aztán, ha először beadok pár entert, majd utána adom meg a két számot, akkor is összedől
most így néz ki:
(mx,my,temp,pmeret int típusúak)
do{
system(''cls'');
printf(''Mekkora palyan szeretne jatszani? (sor,oszlop) '');
temp=(scanf(''%d, %d'',&mx,&my));
while(getchar() != '\n'); //scanf pufferenek uritese
}
while( (temp!=2) || (mx<pmeret) || (my<pmeret) ); -
emitter
őstag
válasz Jester01 #999 üzenetére
Hát nagyon hálás vagyok neked, pont ez a linkelt oldal kellett nekem
tök érthetően leír mindent, pedig ráadásul angol
akkor nekem uezt kell leírnom, csak a mutatók nem int-re hanem egy struct-ra fognak mutatni, ugye?
így:
...
typedef struct
{
int...
} palya;
...
main()
{
...
palya **cella;
...
cella=malloc(mx*sizeof(palya*)); //dinamikus memoriafoglalas
if(cella==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
for(i=0;i<my;i++)
{
cella=malloc(my*sizeof(palya));
if(cella==NULL)
{
fprintf(stderr,''Out of memory!\n'');
return -1;
}
}
for(i=0;i<mx;i++) free(cella); //memoriafelszabaditas
free(cella);
...
Más:
ez végtelen ciklusba kerül, ha karaktert adok be neki, miért?
do{
system(''cls'');
temp=0;
printf(''Mekkora palyan szeretne jatszani? (sor,oszlop) '');
temp=(scanf(''%d, %d'',&mx,&my));
if(temp==NULL) continue;
}
while(temp!=2); //bekeres, amig pont 2 parametert kapunk -
emitter
őstag
válasz Jester01 #997 üzenetére
aha, akkor ezt most a main-be írjam?
ha jól érteleztem, akkor lesz egy state típusú struktúrám, aminek elemei a 2D-s tömb méretei, és egy cell típusú elemekből álló cells nevű struktúra?
miért kell a cell*, miért nem elég a cell?
mit tárolnék a cell típusban?
mégis maradnék a 2D-s tömbnél, erre is tudnál írni egy deklaráció-példát?
én így írtam eddig:
struct cell
{
int vmi;
int vmi;
...
} cella;
cell **tomb (azért nem tomb[][], mert így meg kéne adnom előre a mértetét) -
emitter
őstag
válasz Jester01 #995 üzenetére
köszi szépen!
még csak most tanulgatom a C-t, nem megy minden elsőre
lenne még egy kérdésem:
-az aknakereső-progimban egy két dimenziós tömbben tárolnám az egyes cellák tulajdonságait, azaz a tömb minden eleme egy struktúra lenne
-a tömb méretét a progi futása közben a felhasználó adná meg (mekkora pályán akar játszani)
-van egy-két függvényem, amelyeknek ezt a 2D-s tömböt kéne átadni paraméterben, úgy, hogy változtatni is tudják a tartalmát (gondolom a tömb címét kell átadni)
és akkor a kérdés: hogyan érdemes megvalósítani ezt a tömböt? Globális változóként deklarálni, vagy csak a main-en belül, vagy van vmi egyszerűbb és jobb megoldás a bonyolult tömb kiváltására?
(próbáltam már mindenféleképpen megvalósítani ezt a rendszert, de a progi a függvények hívásakor mindig elszáll, és nem tudom, hol a hiba )
köszi előre is! -
emitter
őstag
válasz Jester01 #980 üzenetére
köszi a linkeket!
végülis rátaláltam egy oldalra, és ezzel oldottam meg a problémát [link]
viszont nem igazán tudom értelmezni a clrscr() -t
úgyhogy írtam egy saját törlőfv-t, de nem tudom, h meddig töröljem a képernyő tartalmát, azaz hányadik sorig
nem értek hozzá, de ha egy konzolablakban véget ér valahol a szöveg, akkor az utolsó karakterhelyen áll valamilyen lezárókarakter (pl. '\0') ?
vagy hogyan oldhatnám meg, hogy takarékosság miatt pontosan csak az utolsó sorig törölje a képernyőt?
vagy olyan cucc, ami az adott kurzor-pozíción álló karaktert adja vissza? -
emitter
őstag
válasz Jester01 #976 üzenetére
ok, köszi
akkor megpróbálkozom ezzel a winapival
ez ugye szabványos cucc, devc ismerni fogja?
ha nem az se baj, nemsokára visualC-t szerzek
a haragos szmájli nem neked szólt, hanem a windóznak, vagy inkább magának a helyzetnek, hogy még mindig windózt használok, mert suli közben egyszerűen nincs időm linuxot fölrakni, megszokni, beletanulni
majd talán karácsony után, meg a vizsgaidőszak elteltével lesz erre mód... addig még szívok egy picit a puhával -
-
emitter
őstag
válasz Jester01 #970 üzenetére
bocs, de az ncurses linuxos, nekem meg még sajna windózom van
a winapi-s dolgot nem igazán értem: ez miért dolgozik mindenféle windózos cuccokkal, mikor konzolban fut a progi? mi nem tanultunk még ilyeneket, szal a c nyelv ezen része elég kínai
egyszerűbben nem lehet megoldani a dolgot? devc-t nem tudom rávenni arra, h elfogadja a borlandos függvényeket?
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- 13400F, 32GB, 1TB, 3TB, 3080
- Kingston Fury Beast memória 2x8 GB DDR5, 5200 MHz, CL40 (KF552C40BBK2)
- Apple iPad 10, Silver, 64Gb, Wifi, makulátlan, garanciális + pencil
- Apple iPad Air 6 ( M2) , Space Gray , 13'' Retina, 256Gb, Wifi, Makulátlan, 2027.06-ig garanciális
- Bomba ár! Dell Latitude 3500 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I Cam I W11 I Garancia
Állásajánlatok
Cég: Axon Labs Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest