- 3 évig még biztosan nem rendelhetünk Xiaomi EV-t
- A Microsoft feltalálta az olcsó AI-t
- Otthoni hálózat és internet megosztás
- Olcsóbb lett a Tesla Full Self-Driving szoftvere
- Megrendszabályozza a Pornhubot az EU
- Musk szerint már jövőre itt vannak a Tesla Optimus humanoid robotok
- Windows 11
- Ubiquiti hálózati eszközök
- Az MSI RadiX AXE6600 tesztje – router, játékosoknak
- A TikTokon marakodik Trump és Biden, betilthatja az USA
Új hozzászólás Aktív témák
-
Lortech
addikt
Én találjam ki hogy mit akarsz?
''ezzel probaltam meg kiiratni de semmi. ''
Kiiratni vissza a képernyőre, vagy kiírni a fájlba, vagy mit akartál? Mi az hogy de semmi?
fprintf -nek megadtad a fpontok FILE streamet, így a formátumnak megfelelő adatokat kiírja a fájlba, feltéve ha leveszed a &-t, ahogy mondtam.. Hogy utána mit csinálsz az megint más kérdés. De minek olvastatod vissza a programmal, miért nem nézed meg egyszerűen, hogy mi lett a fájlban?
Nehéz kiigazodni rajtad.Thank you to god for making me an atheist
-
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!”
-
manrick
tag
Sziasztok.
Gyakorolok a pénteki vizsgára, és a következő kis programot írtam:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSZAM 3
struct book {
char nev[20];
char cim[40];
int ev;
float ar;
};
main() {
struct book tar[MAXSZAM];
int i=0,j;
clrscr();
while (i!=2)
{
printf (''\nKérem a könyv szerzőjét: ''); gets (tar.nev);
printf (''\nKérem a könyv címét: ''); gets (tar.cim);
printf (''\nKérem a kiadás évét: ''); scanf (''%d'', &tar.ev);
printf (''\nKérem a könyv árát: ''); scanf (''%f'', &tar.ar);
i++;
}
printf(''\nA tárolt adatok:\n'');
for (j=0; j<MAXSZAM; j++)
{
printf(''\n\nA %d könyv adatai:\n'', j+1);
printf(''Az író: %s\n'', tar[j].nev);
printf(''Címe: %s\n'', tar[j].cim);
printf(''Kiadás éve: %4d\n'', tar[j].ev);
printf(''Ár: %5.2f'', tar[j].ar);
}
getch();
}
A program fut is, feltöltéskor 1. alkalommal szépen kéri az adatokat, de 2. alkalommal már nem kéri a szerzőt, hanem egyből ugrik a címre. Miért?
tudna valaki segíteni?
Köszi szépen
ManrickAz éremnek két oldala van. Nézz a háta mögé is!
-
Lortech
addikt
A szokásos. Benneragadt az stdinben egy whitespace (a scanf (''%f'', &tar.ar);)-nek a \n-je), és [ i ] -ket használsz, csak szóköz nélkül, így kiveszi a fórummotor, és már megint csak lestem pár másodpercig. Windózeren működik az, hogy fflush(stdin);-t beraksz a ciklusba az első beolvasás elé. Egyébként ez nem szabványos, az fflush működése az stdin-re nem meghatározott.
Ja meg a kiíratást túlindexeled, 1-gyel több rekordot iratnál ki, mint amit bekértél.
[Szerkesztve]Thank you to god for making me an atheist
-
manrick
tag
Köszi, közben megoldottam, bár nem teljesen úgy ahogy leírtad.
egyszerűen a gets ( tar [ i ] .nev) helyett a scanf (''%s'', &tar [ i ] .nev)-et használom, így működik teljesen jól.
Igen tudok a plusz indexről az véletlenül maradt ott.
Köszi szépen
[Szerkesztve]Az éremnek két oldala van. Nézz a háta mögé is!
-
manrick
tag
Még egy kérdésem lenne.
Hogyan tudom megcsinálni azt, hogy a fájl sorait egy többdimenziós tömbbe teszem?Az éremnek két oldala van. Nézz a háta mögé is!
-
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!”
-
ktg3
őstag
helló
újabb problémába ütköztem
szokásosan nem tudom h hol a hiba...
ez a feladat:
Írd meg az alábbi függvényeket a String osztályban:
strlen(const String& s);
strchr(const String& s, char c);
strcmp(const String& s1, const String& s2);
strstr(const String& s1, const String& s2);
A függvények legyenek statikusak! A működésük egyezzen meg az azonos nevű C könyvtári függvényekével!
itt van fent a kód:[link]
előre is thx -
nukeleo
csendes tag
Sziasztok!
Sürgős segiítség kellene C++-ban:
az a feladatom , hogy egy beolvasott fileban (szöveges) nézzem meg hány sor van, és tudjak beszurni / törölni sorokat a megadott sorba !
Valamint a fájlban tudjak keresni egy megadott szot, és kiirja hogy hanyadik sorban van a keresett szo!
Azt az utasítast kaptam hogy operator[] (indexelő operatort ) használjak!
Aztán még , két txt fájlt tartalmát kiirni egy harmadik fájlba!
ugy hogy használjak egy buffert is!
nagyon köszönöm a válaszokat -
Jester01
veterán
* Az strcmp az nem boolean visszatérési értékű kellene legyen. Ha a compare viszont igen, akkor az nyugodtan hívhatja az strcmp-t.
* Az strcmp-ben a if (i==s1.elementsNum-1) feltétel elég borzasztó, elég lenne a ciklus után visszaadni igaz értéket
* rendszeresen nem szabadítod fel az előző tartalmat
* hiányzik a lezáró 0 byte a concatenate fvben
* if(not) return false; else return true; ilyet ne csinálj már
* strchr nem mindig ad vissza értéket, de ha igen, akkor biztos, hogy kell a +1 ?
* az strstr gyakorlatilag halvaszületett
Első ránézésre ennyi.Jester
-
Jester01
veterán
strcmp: <0 =0 >0 értéket add vissza attól függően, hogy az első string kisebb, egyenlő vagy nagyobb mint a második. compare fv-t nem tudom honnan vetted, nincs a feladatban.
strstr igazából az strchr-hez hasonlóan pozíciót kellene visszaadjon mivel a te implementációdban a char*-nak szerintem semmi értelme.Jester
-
nukeleo
csendes tag
hali
Azt szeretném , hogy mielott kiirom a fileba az adatokat, törölje ki az adat2.txt -bol ami benne van_???
Hogy lehetne?
void kiir(buffer& b)
{
fstream fp(''adat2.txt'',ios:ut);
fp<<b.buff;
fp.close();
}
THX -
PazsitZ
addikt
-
nukeleo
csendes tag
Hali!
Bocs az elözző üzenetemért, csak nagyon kész vagyok ,mert holnapra kell leadnom a házimat,és ilyenkor szoktam hülyeségeket beszélni!
Az utlsó elötti üzenetemben mar irtam mit szeretnék, de most akkor konkrétabban leírom:
Azt szeretném megcsinálni, hogy egy beolvasott fileban (szöveges) lekérdezni hány sor van, és tudjak beszurni / törölni sorokat a megadott sorba!
Azt az utasítast kaptam hogy : operator[] (indexelő operatort ) használatával!
Ha tudtok vmi függvénnyel segíteni, vagy mar kész progit mutatni, köszönöm! -
Jester01
veterán
Elég buta dolog ilyen megkötést adni, hogy az [] operátort kell használni...
Mindenesetre a legegyszerűbb megoldás ha fogsz egy vector<string> változót és szépen beolvasod a sorokat a fájlból. Abban aztán indexelhetsz [] operátorral, beszúrhatsz/törölhetsz és a végén kiírod újra az egészet.Jester
-
ktg3
őstag
help pls
-
nukeleo
csendes tag
Sziasztok!
A kérdésem az lenne, hogy itt van ez a beolvas függvény:
void beolvas(buffer& b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
fstream fp(''adat.txt'',ios::in);
while(!fp.eof())
{
fp.getline(b.buff,b.size);
}
fp.close();
}
Hogy kellene módosítani ezt(vagy lehet mást is ajánlani), hogy paraméterként elötte lehetne a fájl nevét bekérdezni, és azt a fájlt
nyitná meg utána????
köszi a válaszokat. -
nukeleo
csendes tag
Sziasztok!
Ittlenne a kódom: nem tudom miert csak egy sort olvas be a forrásfájlbol, a bufferba? Segitsetek, lehet a beolvas függvényem nem jo, vagy a buff tárolo, nem tudom...
/*csomo felesleg is van most benne amit nem használtam még, tekintsetek el töle*/
THX nagyon elöre is; nukeleo
#include <cstring>
#include <iostream>
#include <fstream>
using namespace std;
class buffer {
char* buff;
int size;
public:
buffer():buff(0),size(0){}
buffer(const buffer&);
buffer& operator=(const buffer&);
buffer& operator+=(const buffer&);
bool operator==(const buffer&);
buffer& buffer:: operator=(const char*);
buffer& buffer:: operator+=( const char*);
bool buffer:: operator==(const char*);
friend void beolvas(buffer &);
friend void kiir(buffer &);
//void beolvas(const char*);
friend ostream& operator<<(ostream& s, const buffer b);
friend istream& operator>>(istream& s, const buffer b);
~buffer(){ delete[] buff; }
};
/*void beolvas(const char* file)
{
fstream fp(file,ios::in);
char *c = new char[500];
fp.close();
fp>>c;
cout<<c;
}
*/
buffer::buffer(const buffer& e)
{
buff=new char[(size=e.size)+1];
if (e.buff)
strcpy(buff,e.buff);
}
buffer& buffer:: operator+=( const char* value)
{
char* temp=new char[size = strlen(buff)+ strlen(value) +1];
strcpy(temp,buff);
strcat(temp, value);
delete[] buff;
buff = temp;
return *this;
}
buffer& buffer:: operator+=(const buffer& e)
{
char* temp=new char[size+=(e.size+1)];
strcpy(temp,buff);
strcat(temp,e.buff);
delete[] buff;
buff=temp;
return *this;
}
buffer& buffer:: operator=(const char* value)
{
delete[] buff;
if( size=strlen(value))
{
buff=new char[size+1];
strcpy(buff,value);
}
return *this;
}
buffer& buffer:: operator=(const buffer& e)
{
if( this!= &e)
{
delete[] buff;
buff=new char[size=e.size];
strcpy(buff,e.buff);
}
return *this;
}
bool buffer:: operator==(const char* value)
{
if(size==strlen(value)) return true;
else return false;
}
bool buffer:: operator==(const buffer& e)
{
if(size==e.size) return true;
else return false;
}
ostream& operator<<(ostream& s, const buffer b)
{
//for(int i=0;i<b.size;++i)
//{
if(b.size)
s<<b.buff;
//}
return (s);
}
int karakterek_szama()
{
fstream fp(''adat.txt'' ,ios::in);
char d;
int k=0;
while(!fp.eof())
{
fp.get(d);
++k;
}
fp.close();
return k;
}
istream& operator>>(istream& s, buffer b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
for(int i=0;i<b.size;++i)
{
s>>b.buff;
}
return (s);
}
void beolvas(buffer& b)
{
int k=karakterek_szama();
delete[] b.buff;
b.buff=new char[(b.size=k)+1];
fstream fp(''adat.txt'' ,ios::in);
while(!fp.eof())
{
fp.getline(b.buff,b.size);
}
fp.close();
cout<<k;
}
void kiir(buffer& b)
{
fstream fp(''adat2.txt'',ios:ut);
fp<<b.buff;
fp.close();
}
char menu ()
{
char n;
cout<<'' MENU \n\n'';
cout<<''1: File beolvasás \n'';
cout<<''2: Szöveg hozzáadása a fájlhoz \n'';
cout<<''3: Aktualis buffer tartalma\n'';
cout<<''4: Mentés\n'';
cout<<''0: Exit \n'';
cin>>n;
return n;
}
int main(){
char m;
buffer a;
buffer b;
char *c = new char[20];
char *d = new char[500];
while ((m = menu())!= '0')
{
switch (m)
{
case '1':
beolvas(b);
cin.get();
cin.get();
break;
case '2':
cin>>d;
b+=d;
;
break;
case '3':
cout<<b;
cin.get();
cin.get();
break;
case '4':
kiir(b);
break;
}
system (''CLS'');
}
} -
KMan
őstag
Mi a rakert nem tudok egy tomb i-edik elemet bemasolni egy valtozoba??
mind2 ugyanolyan tipusu. nem jo neki az ertekadas operator??
tomb[ i ].valamit=valamibe;
hulyetkapok.
ki is printelem a valamit, meg a valamibe-t, de a valamibe-re 0.000000 dob...Csak a balekok alszanak [SAS]
-
caddie
csendes tag
De most komolyan. Ettol egyertelmubb dolog nincs, hogy az ertekadas bal oldalan allo operandusnak adod ertekul az ertekadas jobb oldalan allo operandust. Mar a matematikaba is szinte mindig igy van a:={...}. Ez igazan nem a fordito hibaja.
''C++ : Where friends have access to your private members.'' — Gavin Russell Baker.
-
caddie
csendes tag
Nem lenne hatranyos, hogy ha
- leszukidened a kodod a relevans reszekre, nehogy mar nekunk kelljen megfejteni, hogy pontosan mire gondolsz
- egy paste-bin -be betenni es egy linket adni, mert teljesen olvashatatlan igy indentalas nelkuk
Ha ezt megteszed szivesen segitek, addig bocs, de az alabbi behanyt kodra nem szivesen fut ra a tekintetem.''C++ : Where friends have access to your private members.'' — Gavin Russell Baker.
-
-
Nowa
csendes tag
Sziasztok! Nem találtam jobb topikot, újat meg nem akartam nyitni: nekem C -ben lenne szükségem némi segítségre.
Ncurses-ben kell írni egy játékprogramot, de sajnos már nem maradt idő arra, hogy rendesen megtanítsák nekünk, ezért kérek segítséget.
Egy amolyan ''légvédelem''-progit kéne írni, ahol csillagok -lehetőleg egyszere több- hullanak lefelé, és egy O -val (ami a célkerszt) kéne levadászni őket, mielőt leesnek (akkor vége). A célkereszt mozgatása megvan, a leeső csillagokkal már nagyobb gondban vagyok, van pár minta-forráskódom (kígyó,pattogólabda), azokból próbálok rájönni hogy mit hogy kell. De hát elég nehézkesen haladok.
A másik egy olyan progi lenne, ahol menüből választhatok matematikai eljárások közül (azokat vágom), csak a menühöz kéne némi segítség, mert az is ncurses-ben van.
Ja, linux alatt futó C-ről van szó!
Előre is köszönök bármilyen segítséget. -
jancsi881109
tag
Sziasztok!
A segitségetekre lenne szükségem, gépemen Windows Vista op rendszer van, és vmiért nem hajlandó 1 c programot sem lefordítani.. Felraktam már a Dev-c++ -t és a Code:locks nevü progikat is,de egyik sem hajlandó fordítani..
1 ilyen hibaüzivel leáll a progi:
mingw32-g++.exe: no input files
Ez a Vista miatt lehet? Ti tapasztaltatok ilyet? Mi lehet a megoldás?
Üdv Jancsi''Te is fiam, Bluetooth?''
-
Lortech
addikt
válasz jancsi881109 #237 üzenetére
(dupe, törölhető)
[Szerkesztve]Thank you to god for making me an atheist
-
Lortech
addikt
válasz jancsi881109 #237 üzenetére
Thank you to god for making me an atheist
-
atm*RefeeZ
tag
hello
ilyen kérdésem lenne,hogy valaki nem tudja-e,hogy mi okoz olyan "hibát",hogy ilyenre
int j;
randomize
j=random(13)+1; (ugye elvileg 1-13 tartományban lennének a számok) j= 1494-et dob ki.ötletek?köszönöm előre is
-
atm*RefeeZ
tag
válasz atm*RefeeZ #240 üzenetére
bocsi buta voltam. sima %d volt és nem adtam meg változót,arra írta ki.
-
kvantum
csendes tag
Sziasztok!
nem tudna valaki egy bios.h-t kuldeni vagy linkelni nekem?
Dev-C++-t hasznalok,es az nem ismeri,neten meg nem igazan talaltam letoltheto verziot.
elore is kosz. -
szigisz85
csendes tag
Üdv!
NxN matrix determinánsának meghatározaása! Ezt kell megírnom C++-ban. Kerestem már megoldásokat, de részletesebb valamit nem.
-
Janos03
csendes tag
Sziasztok!
Nem rég van programozásunk( borland c++ ), és ennél a feladatnál elakadtam:S hiába nekiülök, nem tudom megcsinálni, légyszives segítsetek!
Előre is köszönöm!Egy K körlemezt a következő adatokkal adunk meg: K(xk,yk,r,), ahol xk és yk a körlemez középpontjának koordinátái, rk pedig a körlemez sugara. Egy tetszőleges P(x,y) pont-ahol x és y a pont koordinátái-rajta van a K körlemezen ha(xk-x)négyzeten+(yk-y)négyzeten<=rknégyzeten
Készítsen programot, amely a billentyúzetről beolvassa két körlemez és egy pont adatait, majd az adatok alapján kiiírja a képernyőre az alábbiak közül a megfelelő állítást:
"A pont egyik körlemezen sincs rajta."
"A pont csak az elsőként megadott körlemezen van rajta."
"A pont csak a máasodikként megadott körlemezen van rajta."
"A pont a megadott körlemezek közös részén található."[ Szerkesztve ]
-
Nantucket
tag
Nem igazán értjük, pontosan hol akadsz ezzel el. Ha valami konkrét kérdésed van biztos válszol valaki, de ilyen általánosságban senki se fog. Egyébként ilyenkor google szokott a leghasznosabb lenni, használd. Egyébként meg ezt a feladatot printf() scanf() if-else és a Math könyvári függvények nem túl bonyolult kombinációjával meg fogod tudni oldani (max 50 sor), ha vhol elakadsz írj.
Gyűlölöm a HDD-ket
-
.DLL
veterán
Üdv! Levelezőn kezdtem C-t tanulni és egy olyan kérdésem lenne hogy milyen függvénnyel lehet karaktert tesztelni, hogy az szám-e vagy betű-e (pl. ahova számot kér a progi ne lehessen kiakasztani betű beírásával.
getch(); esetén elvileg az ASCII kódtábla alapján lehet szűrni hogy csak a 0x30 és 0x39 közötti karaktereket (amik elvileg 0-9-ig a számok) engedje bevinni, de ha scanf( );-el kérek be adatot akkor hogyan lehet ezt megoldani?
Előre is köszönöm a segítséget![ Szerkesztve ]
(P.H.)
Ú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!
- Spórolós topik
- 3 évig még biztosan nem rendelhetünk Xiaomi EV-t
- Autós topik
- A Microsoft feltalálta az olcsó AI-t
- Assetto Corsa Competizione
- Megjelentek az első HMD okostelefonok, ezek a magyar áraik
- OLED TV topic
- Így építsd a billentyűzeted!
- VR topik (Oculus Rift, stb.)
- Gyúrósok ide!
- További aktív témák...