- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- ArchiCAD és Artlantis topik
Új hozzászólás Aktív témák
-
amargo
addikt
A Scanf-el is meg lehet csinálni, csak én már untam, hoyg annyi mindent kell lekezelni sokszor.. Pointerekkel lehetne még igazán jól lekezelni a dolgot, hogy ne is legyen pazarló, de amilyen szinten a tanárok elvárják, ahhoz most ez is jó:
//---------------------------------------------------------------------
bool IsDigit(char ch)
{
return ((ch >= '0' && ch <= '9') || ch == '.');
}//bool IsDigit(char ch)
//---------------------------------------------------------------------
template <class Var>
void getNum(Var &n, Var lob, Var hib) //lob az alsó határ
{
bool error;
do
{
string str;
n = 0;
error = false;
cin >> str;
for(int h = 0; h < (signed)str.length(); h++)
{
if(!IsDigit(str[ h ]) || str[ 0 ] == '-' )
{
error = true;
cout << ''Hiba, Szamot adjon meg!\n'' << endl;
break;
}
}
if(!error)
{
n = (Var)atoi(str.c_str());
}
if((n < lob || n >= hib) || error) //Nem engedjük meg a hib-ig menni és a lob-nál nagyobbnak kell lennie!
{
cout << ''Hibas a bevitt ertek\n'' << lob << '' -tol, '' << hib << '' -ig. Adja meg a szamot.'' << endl;
error = true;
}
}while( !(lob <= n) || error);
}//int getNum()
Szerk: az előnye, hogy lebegőpontos számokat is képes kezelni.. Nem kell hozzá átírkálni.
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Jester01 #119 üzenetére
Hi!
Egyetértek. Bambán csak beszurtam a template-et.. hogy lebegőpontosra is jó legyen.. figyelmen kívűl hagyva dolgokat.. rengeteg részletet ki is hagytam, a figyelésből..
Viszont ez a istringstream egyből leveszi a válunkról a feladatot ezért hálás vagyok, hogy megmutattad!
Kicsit belekontárkodtam:
template <class Var>
void getNum(Var &n, Var lob, Var hib)
{
string str;
while(getline(cin, str))
{
istringstream tmp(str);
tmp >> n;
if (!tmp.fail() && tmp.eof() && n <= hib && n >= lob) break;
cerr << ''Invalid input'' << endl;
}
}
Belekötni nem tudok, mert minek is?“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Hamár, a másikat így eltoltam.. ebben mi a hiba?
template <class Var>
void fgetNum(Var &n, Var lob, Var hib)
{
string str;
n = 0;
while(getline(cin, str))
{
bool error = false;
int dot = 0, i = 0;
if( str[ 0 ] == '-')
i = 1;
for( ; i < str.length(); ++i )
{
char ch = str[ i ];
if (IsDigit(str[ i ])) continue;
else if(str[ i ] == '.' && dot < 1)
{
dot++;
}
else
{
error = true;
}
}
if(!error)
{
n = (Var)atof(str.c_str());
}
if((n < lob || n >= hib) || error)
{
cout << ''Hibas a bevitt ertek\n'' << lob << '' -tol, '' << hib << '' -ig. Adja meg a szamot.'' << endl;
}
else
{break;}
}
}
atof-nél van valami jobb átalakító? mint borlandéknál az StrToInt?“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
main()
{
char c='I';
do {
/*...*/ <- EZ ITT A KÓDOD HELYE, azt is csinálhatod, hogy kirakod egy függvénybe a kódod és ide csak a függ hívást rakod.
cout<<''Ujra kezdes( I/N )?''<<endl;
}
while( (c=getchar())!='N');
}“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
-
amargo
addikt
válasz FehérHolló #163 üzenetére
union { // Struktura
LONGLONG li;
FILETIME ft;
} CreateTime, EndTime, ElapsedTime;
SYSTEMTIME SYSstart, SYSend, SYSelapsed;
GetLocalTime(&SYSstart);
Sleep(600);
GetLocalTime(&SYSend);
SystemTimeToFileTime(&SYSstart, &CreateTime.ft);
SystemTimeToFileTime(&SYSend, &EndTime.ft);
ElapsedTime.li = EndTime.li - CreateTime.li;
FileTimeToSystemTime(&ElapsedTime.ft, &SYSelapsed);
Bár a dátumra nem tökéletes, de én uniont hazsnálnék a célra.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz FehérHolló #167 üzenetére
Még annó referencia könyvből vettem. Szerintem te is ugyan úgy rátalálhattál volna ilyenre, a tanár nem feltételezheti azt, hogy nem nézel utána a dolgoknak.
Jester01 : Magyarázat a fentiek. Könyvben találtam, eddig 1x használtam, amikor ezredmásodperces pontossággal kellettek a dolgok.
[link]
[link]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz FehérHolló #173 üzenetére
Szerk: Hülyeséget keztem leírni, az előbb.
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Ez a függvény hogy? Nincs paraméternek átadva a FILE, nincs lezárva.. & nem kell, nem a címét akarod kirakni.
void kirak(FILE *stream)
(...)
main()
{
FILE* stream;
(...)
kirak(stream);
fclose(stream);
}“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
struct matrix
{
int** pData;
int o;
int s;
};
bool GetMatrix(matrix &pMatrix)
{
pMatrix.pData = new int*[ pMatrix.o ];
if(!pMatrix.pData)
return false;
for(int i = 0; i < pMatrix.o; i++)
{
pMatrix.pData[ i ] = new int[ pMatrix.s ];
if(!pMatrix.pData[ i ])
return false;
}
return true;
}//bool GetMatrix(matrix &pMatrix)
Esetleg valami ilyesmire gondoltál csak string.el?
szerk: kimaradt..
main()
{
bool tBool = GetMatrix( pMatrix );
if(!tBool)
{
cout << ''Hiba a matrix letrehozesanal!'' << endl;
return false;
}
ifstream x(filenm.c_str());
if (x.fail()){
cout << ''A megadott fajlt nem talalom!'';
return false;
}
//Beolvassuk/kiírjuk a tömb hosszát
x >> pMatrix.o;
x >> pMatrix.s;
for(int i = 0; i < pMatrix.o; i++)
for(int j = 0; j < pMatrix.s; j++)
x >> pMatrix.pData[ i ][ j ];
}
...
Csak ez szóközzel elválaszotott szanvanként olvassa fel.. tehát amúgy le kell kezelned.
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
A helyedben írnék egy algoritmust, amivel nagy számok összeszorzását letudod bontani pár(majd jópár) kisebb számjegyre is. Ezeknek az értékeit egy sztringben tárolhatod (a végeredmény), és szintén folytatod.
Azaz, kell egy algoritmus, amivel letudsz bontani nagy számot.
Egy másik, amivel ezeket a rész összegeket összetudod adni.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Nem értem, amikor leírtam Neked, akkor most? Kód kellene? Nincs olyan numerikus változó, amibe akármekkora számot elraktároznál.. létezik valami objektum, amit banki rendszerekhez használnak, de a megoldást fentebb írtam.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
* az egy mutató(ezt inkább később, ha még az elején vagy), gondolom karakter tömböt szeretnél:
char i[10];
cin >> i;De ajánlom még a string könyvtárat is.
string i; cin >> i;
kis segítség:
Basic Input/Output“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Ha karakter tömbre mutató mutatótba (húú, de szép mondat..) akarsz írni, ahhoz előbb le kell foglalni neki a területet
szerk: el is írtam..
char *i = new char[10];
cin >> i;
//majd
delete[] i;igaz amit Te leírtál, az csak annyi, hogy van egy mutatód, akár ezt is megadhatnád neki:
char *i = 0;
i = (char*)new string;
cin >> i;[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Input/Output with files
Itt jól le van írva.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
VB még értem is, de a delphit már nem. Script nyelveken ezt tényleg csak pár sorban meglehet csinálni, sőt bash-ben ez nagyon minimális, 5perces feladat.
Ez a feladat szerintem hibakezeléssel 15 - 20 sor és akkor csak a hasamra csaptam és kb 5-10perces meló c++, könyvtárhoz kell egy rekurziv bejárás talán ez dobja meg a kódolást. (bár az is lehet az STL-nek erre is van megoldása)"C++-ban is, de míg ott lehet, hogy 100 sornyi kódja lesz (10 órányi kódolással, debugolással)"
ööö lehet én néztem be valamit és nem csak annyit, kell, hogy egy könyvtárszerkezetet bejársz és bizonyos dátumú fájlokat átmásolsz máshova más néven bitenként?
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
-
amargo
addikt
Ha sikerül végre elindítanom a virtualPC-et, akkor megírom.
Meg van ez és ezt kell be állítanod, amennyire emlékszem. Sajna nem tudtam kipróbálni, mert olyan komponenseket is tartalmaz, ami miatt most hisztizik, ha nincs benne.. mind1 így szerintem mennie kell.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Fire/SOUL/CD #381 üzenetére
HI!
Köszi a megerősítést.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Igen, működni fog, de mi a cél, mert, hogy a 'b' és az 'a'-t nem tudod inicializálni így az biztos, vagyis fogod, csak nem azzal, amivel gondolnád.
Azt inkább a függvény törzsébe rakd.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz gygabor88 #408 üzenetére
Huhhh, bocsánat én vagyok a ...béna. Megint csak nem látok.
int N;
cin >> N;
int t[N];Biztos nem jó és fordítási hibát, kapsz, hogy nincs deklarálva a tömb mérete, hiszen ez nem dinamikus tömb.
A helyes:
int *t;
int N;
cin >> N;
t = new int[N];Még 1x elnézést, benéztem és csak a cin-ig jutottam..
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz !wannabe #459 üzenetére
eclipse fagyogat?
Gondolom a hozzáértők beállítgatnak mindenfélét, és amire Te oda kerülsz a gépelé, egy romhalmaz fogad.
Ha a CodeBlocks vagy DEV C++ hozzá hasonlítod, az számomra elég erős. Pedig nem orvérzésig használom, de szoktam használni több könyvtárral, az elején, amíg nem tudtam felkonfigurálni, nekem is gondjaim voltak (ez tény)..Inkább tedd ki pendrive-ra és onnan fejlesz (ha nincs laptop).
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz !wannabe #463 üzenetére
eclipse c/c++ 80M nem kell telepíteni.
Semmit nem konfiguráltam és simán lefordult egy helloworld.Pendrive-ra is kirakhatod, talán kicsit lassabb lesz(vagy, amíg használod felmásolod a gépre), de legalább hordozható.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
int **n =new int * [max1];
Itt létrehoztál egy mutatókból álló tömböt egy mutatóra.
Azaz, a benne lévő mutatók területét még nem foglaltad le, hanem csak a mutatókból álló tömb méretét.Ami hiányzik, hogy lefoglald a benne lévő mutatóknak is a helyét.
Tovább nem néztem, de ez mindenképpen szükséges, hogy ne csak a vakvilágnak próbálj meg értéket adniTovábbá egy hasznos tanács ha a mélységével együtt struktúrába rendeled.
Egyszerűbb lesz kezelned.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Egy lehetséges megoldást, azért beteszek. De örülök, hogy rájöttél. Ha csak beraktam volna a megoldást, nehezebben értenéd meg. De lehet tévedek.
struct matrix
{
int** pData;
int dom;
};
//---------------------------------------------------------------------
bool GetMatrix(matrix &pMatrix)
{
if( pMatrix.dom == 0 && pMatrix.dom == INT_MAX) //hiba a mátrix létrehozásánál, elég az alapokhoz.
{
return false;
}
pMatrix.pData = new int*[ pMatrix.dom ];
for(int i = 0; i < pMatrix.dom; i++)
{
pMatrix.pData[ i ] = new int[ pMatrix.dom ];
}
return true;
}//bool GetMatrix(matrix &pMatrix)“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
-
amargo
addikt
Szia,
Míg C# alatt .NET -et használtál addig gondolom c++ alatt nem a .NET c++ érted, innentől kezdve hiába keresed a .NET-es datasource-ot, mert az nem a C++ hanem a .NET része (persze c++ is lehet ilyen nevű osztály).
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Brown ügynök #1216 üzenetére
Most komolyan, a QT-t megnézted?
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Brown ügynök #1237 üzenetére
A QT Creator már egy egész jól használható IDE lett.
Maga az SDK pedig több mint elégnek kell lennie.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz WonderCSabo #1274 üzenetére
Nem kell izgulni, embert nem ismertem eddig, aki így használja, bár szerintem CPT - Command Post Terminal.
A cmd-t szerintem mindenki megérti vagy terminál.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
-
amargo
addikt
Vannak itt gyöngyszemek, amiket a studio csak a 10-es verziójára volt képes kinőni
Ezt gondolom már megtaláltad., tovább. De erre én is csak azt tudom írni, hogy a project-el van a gond, nálunk is volt rengeteg ilyen, akár hibás control-nak köszönhetően. Pl a devexpress-es control-ok sokszor szörnyen vannak megírva, igaz a support válaszol.
1, ilyen akkor szokott lenne, ha több studio is meg van nyitva, akkor a legutolsóját jegyzi meg.
2,
a, 10-es ben oldották meg
b, továbbra is szívásÉn relative path hivatkozásokat használok, mert bizony a referenciákkal bőven lehet szívni. Amióta csak így használom nem futottam ilyen hibába.
3, C# esetén szinte mindig pontos üzeneteket ad, igaz a 8-al való ismereteim már kicsit megkoptak, de ott is inkább a c++-os projektekkel szívtam én is, de ezek inkább a linker "hibái".
Van egy "általános megoldás" a furcsa hibákra, VS újraindítása , nálam is tűntek már el dolgok kb évente 1x a tfs-t elveszti.
A megfogott fájl kapcsán pedig érdemes megnézni process explorer-el, mert bizony meg van az fogva, ilyenkor nálam mindig az a helyzet, hogy a VS fogta meg és bizony újra kell indítaniSajnos a frissítések itt új vásárlást is jelentenek, amit sokszor nem is lehet megjátszani, mert <1.1-et már csak target-ek bűvészkedésével lehet elérni.
Hozzáteszem nem védeni akarom, csak mint írtam sokszor rájöttem, hogy bizony én hibámból feküdt meg a VS, persze az UI-ra ez nem mentség, az a régebbi verziókban tényleg borzalmas, ha 6-ot használtál, akkor igazán ott kaparod meg magad
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz dabadab #1725 üzenetére
"ha az ember nem csinal direkt okorsegeket"
Én azt vettem észre, hogy sokszor tisztában sincsenek azzal, hogy mit miért használnak, megszokták/így látták/csak mert és a kód már is borzasztó lassú lett.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Qwertz_ #1939 üzenetére
Erre használják többek között a hatul tesztelő ciklusokat, ha csak túl akarsz lenni rajta, akkor használd a break-et.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- HP ProLiant MicroServer Gen8
- Helldivers 2 (PC, PS5)
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- További aktív témák...