Hirdetés
- Akciófigyelő - Epic Store ajándékozás 7. nap: Control
- Akciófigyelő - Epic Store ajándékozás 6. nap: Dredge
- 2024 - Békés, boldog karácsonyt kívánunk minden olvasónknak!
- Akciófigyelő - Epic Store ajándékozás Dark and Darker: Legendary Status
- Jövőre érkezik az új Agatha Christie: Death on the Nile játék
Új hozzászólás Aktív témák
-
sagit
veterán
Turbo C++ 3.0-t kellene futtatnom 64bites Vista-n.
megoldható valahogy?előre is köszi
LG C3 65" || iPhone 15 Pro Max || Macbook Air M1 ||
-
lakisoft
veterán
Hibaüzeletet ír valamit?
- Árad -
-
Csuty12
csendes tag
sziasztok,
nemrég kezdtem el programozni, de most át tértem Win 7-re és egyszerűen el sem akar indulni a Borland C++, tegnap még vistam volt, ott a teljes képernyő volt a probléma és az hogy angol billentyűs volt.. Most pedig el sem indul.. Valaki tudja esetleg hogy mitől lehetséges ez a hiba?
Köszönöm a segítséget
-
Zwiebel
tag
Újabb kérdésem lenne hozzátok
A múltkori könyv nem igazán jött be és úgy gondoltam, hogy megpróbálkoznék egy másikkal hátha jobban elmagyarázza a dolgokat
Erre a könyvre gondoltam:Azt szeretném megkérdezni, hogy valaki ismeri -e és ha igen akkor mik a tapasztalatai?
[ Szerkesztve ]
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
Zwiebel
tag
Köszönöm szépen!
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
Zwiebel
tag
Kipróbáltam a system("pause") parancsot beírni de sajnos így is elviszi azonnal a képernyőt
Valamit elronthattam?Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
Zwiebel
tag
Köszönöm a válaszokat!
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
martonx
veterán
-
bpx
őstag
windows forms azért annál összetettebb, nem csak úgy megy, hogy vannak "parancsok", mint a konzolos alkalmazásban
kézzel megírni a kódot elég bonyolult és aprólékos munka (bár nem lehetetlen )innen le tudod tölteni a visual studio 2008 express-t (külön a visual c++ része elég): [link]
ebben tudsz windows forms-os alkalmazást létrehozni, és designer nézetben berakni komponenseket
a működést pedig háttérben, a kódban megvalósítani, bár ehhez nem árt tisztában lenni az alapokkal[ Szerkesztve ]
-
Zwiebel
tag
Köszönöm!
1. Igen úgy gondolom.
2. Akkor esetleg tudna nekem valaki mondani egy olyan oldalt, ahol az ilyen parancsok is fent vannak?
Előre is köszönöm (újra )
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
Zwiebel
tag
Sziasztok!
Újabb 2 db kérdéssel fordulnék hozzátok, ha nem nagy gond
1.: Hogyan tudom azt megcsinálni c++-ban, hogy a fájlt lássam is mikor futtatja és nem csak "elkapja" előttem?
2.: Ha Windows Formosan (ablakosan) szeretnék C++-ban progit írni akkor oda jók ugyanazok a parancsok mint a "DOS"-os környezetűhöz?
Válaszotokat előre is köszi!
(Ja és még azért csak idáig jutottam el a programozásban ( semeddig ) mert nagyon sok dolgom volt és nem igazán tudtam vele foglalkozni )
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
kampi_
csendes tag
Sziasztok!
Egy nagyon egyszerű kérdésem lenne, csak én vagyok béna. Szóval, hogy tudok a proc-ba egy db "-et másolni? Mert sajnos sehogy sem működik.
strcat(proc," " ");
Előre is köszönöm a segtíséget!
Kampi
-
Briganti
tag
válasz Fire/SOUL/CD #572 üzenetére
koszi, sikerult megoldanom, nem eppen igy, mert az sincs fixalva hogy hany szam van egy sorba, de beirom a megoldasom, kitudja hogy kinek segitek majd vele
while (!feof(fi)) {
fscanf(fi,"%d%c",&szam,&c);
if (elso==1) min=szam,elso=0;
else if (c!='\n') {
min = (min>szam)?szam:min;
elso=0;
}
else {
printf("\t\t\nMin: %d",min);
elso=1;
}
}az elso valtozo mutatja hogy uj sort kezdtunk.
Meg egyszer koszi a segitsegeteket!!
[ Szerkesztve ]
If debugging is a process of removing bug, then programming is a process of putting them in ...
-
félisten
válasz Briganti #571 üzenetére
Hali!
Az fscanf() arra is jó, ha változó darabszámú érték van soronként....
csak azért írtam a korábbi módszert, mert az egyik lehetőséget feltételeztem, azaz fix számú érték szerepel soronként. itt egy példa ami demonstrálja a másik lehetőséget.
(nem a legszebb, de a legáttekinthetőbb )#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * FH;
int szamok[9];
if (!(FH=fopen("adat.txt","rt"))) {
printf("Nem lehet megnyitni a fajlt...\nkilepes");
exit(-1);
}
printf("%d",fscanf(FH,"%d;%d;%d;%d;%d;%d;%d;%d;%d;%d",
&szamok[0], &szamok[1], &szamok[2], &szamok[3], &szamok[4], &szamok[5], &szamok[6], &szamok[7], &szamok[8], &szamok[9]));
fclose(FH);
return 0;
}1. megnyitjuk a fájlt, ha nem lehet akkor hibával kilépünk
2. beolvassuk az első sorát a SZAMOK tömb-be illetve kiíratom hogy hány adatot sikerült beolvasni
3. lezárom a fájlt, kilépésez utóbbi lehetőség nagyon fontos. Az fscanf visszad egy egész értéket, ami azt tartalmazza hogy hány darab adatot tudott beolvasni
Ha az első sorban csak 1 adat volt, akkor 1-et ír ki, ha az első sorban 6 adat volt, akkor meg 6-ot ír ki a progi, stb, azaz tudod, hogy az adott sorban, hány adatod volt. Ezek bekerülnek a tömb-be, egy ciklussal végigjárva(aminek a ciklusszámlálója annyi, mint amennyit az fscanf() visszaadott) könnyen kikeresheted a legkisebbet.Ahhoz hogy ez menjen, persze kell tudnod, a szöveges fájlod egy sorában mennyi szám szerepelhet MAXIMÁLISAN. Ennyi elemszámú tömböt állíts elő és kész.
Fire
UI: bocs, hogy én is ide pakoltam a C-topic helyett...
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Briganti
tag
válasz Jester01 #570 üzenetére
bocsi a topikert!
azt hiszem ezzel probalkozom, mert nem egyforman vannak a szamok a sorokba (ezert is bocs, valoban kimaradt ez), es ez tunik a legjobbnak, koszi a segitseget!!
If debugging is a process of removing bug, then programming is a process of putting them in ...
-
félisten
válasz Briganti #568 üzenetére
Hali!
Ha C-ben kell valamit segíteni, akkor a következőkben, majd a C topic-ba írd...
Az fscanf jó megoldás, feltéve ha a szöveges állományod fix formátumú, azaz minden sorban azonos számú érték szerepel. Tehát nem lehet, hogy az első sorban 6 míg a másodikban csak pl 4 integer szerepel. Nem írtad, hogy konkrétan hány szám van egy sorban, ezért én most 3-nak veszem.
Léterhozod a 3 integert
int szam1,szam2,szam3;megnyitod a fájlt, és beolvasod az értékeket
fscanf(f,"%d %d %d", &szam1,&szam2,&szam3);
Ebben esetben a 3 szám szóközzel van elválasztva a szöveges fájlban.Ha más karakterrel van elválasztva példul pontosvesszővel, akkor így:
fscanf(f,"%d;%d;%d", &szam1,&szam2,&szam3);
Tehát egyszerűen ugyanazt a karaktert kell az fscanf-nél használni mint amivel a szöveges fájlban is el vannak választva az adatok...Szöveges fájlban ENTER karakterig tart egy sor. Amikor végigolvasod a fájlt minden egyes fscanf egy sor...
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Briganti
tag
Hellosztok egy kis segitsegre lenne szuksegem ...
C-ben van egy olyan feladat hogy egy szoveges allomany soraiban szamok vannak, es meg kell keresni mindegyik sorba kulon kulon a legkisebb szamot, es egy masik allomanyba menteni azt.
amugy megoldhatonak tunik a feladat, ott vagyok elakadva hogy hogyan lehet beolvasni soronkent a szamokat ... az fscanf(f,"%d",szam) -l kitudom szedni a szamokat, de nemtudom hogy melyik sorhoz tartozik ... a legvegso megoldasra arra gondoltam hogy spaciumtol spaciumig olvasni oket karakterenkent, es ugy dolgozni veluk, de olyan ocska munkanak tunik, biztos van jobb megoldas
senki se higgye, hogy a hazimat akarom megoldatni veletek, nem a kodot kerem, csak legalabb valami tippet ami szerint el tudnek indulni, elore is nagyon szepen koszi!!!
If debugging is a process of removing bug, then programming is a process of putting them in ...
-
kampi_
csendes tag
Sziasztok!
Szeretnék futtatni egy külső programot az én programomon belül, de oly módon, hogy átadok neki paramétereket.Én így próbáltam:
execl("psexec.exe","-u","user","-p","pass","\\\\target","-i","-d","run",NULL);
vagy,
system("psexec -u user -p pass \\\\target -i -d run");
A user, a pass, beolvasott értékek, a target és a run pedig fájlból beolvasott értékek. Sajnos egyik módon sem működik, mert a psexec-et mindig a user nevű felhasználóval akarja elindítani, valamint a többi változót sem kezeli változóként, hanem azt veszi paraméternek amit én odaírtam. De nekem meg pont az lenne a lényeg, hogy ne kelljen megadni fix-en a programon belül, hanem lehessen úgy, hogy beolvasom a kért adatokat, és azt pedig behelyettesíti. Nagyon fontos lenne, légyszíves segítsetek.
Előre is köszönöm a segítséget!
-
Jester01
veterán
válasz Darth_Revan #564 üzenetére
Valami ilyesmire gondoltál?
#include <iostream>
#include <vector>
using namespace std;
template<class T>
class Array
{
public:
T& operator[](unsigned int i)
{
if (i >= _vector.size())
{
_vector.resize(i + 1);
}
return _vector.at(i);
}
operator T*()
{
return (_vector.size() > 0) ? &_vector.at(0) : 0;
}
private:
vector<T> _vector;
};
int main()
{
Array<char> s;
s[0] = 'a';
s[1] = s[0] + 1;
s[3] = 'c';
cout << (char*)s << endl;
Array<int> a;
a[1] = 3;
a[2] = 2;
a[3] = a[0] + a[1] + a[2];
for(int i = 0; i < 5; i++)
{
cout << a[i] << " ";
}
cout << endl;
return 0;
}Az átméretezésnél szokás inkább duplázni a méretet.
Jester
-
Darth_Revan
veterán
Sziasztok!
Tudna valaki mutatni egy példát egy olyan osztályra ami rugalmas tömböt valósít meg STL vector tároló segítségével?Köszi.
-
DJ.Gróf
aktív tag
Sziasztok! Elkezdtem tanulni a c++ programozást .Szükségem lenne egy BuilderX nevü programra. Honnan tudok letölteni ,otthoni felhasználású programot?
köszönöm a segítséget!
-
eXodus
őstag
válasz Jester01 #559 üzenetére
"Valószínűleg nem ismeri fel érvényes betűnek az aktuális locale beállítások mellett."
Hát igen..Váltogattam azt és amit én írok ő,ű betű az szépen ki is írja, de ami a változóban van azt nem."A wcstombs mit ad vissza? ( If a wide character was encountered which could not be converted, (size_t)(-1) is returned.)"
Jó h írod ... -1et ad vissaz.
-
eXodus
őstag
üdv!
wcstombs -al konvertálok stringet akkor ha ő betűhöz érkezik akkor onnantól Ě karaktereket szúr be végig.
Mi lehet a probléma? -
Jester01
veterán
válasz #82189568 #556 üzenetére
Ez már majdnem jó. Az a baj, hogy a hőfok bekérésekor a pufferben marad a sorvég jel. Erre a skipws manipulátor a segítség.
Ha egyszer c++, akkor az stdio-t és az stdlib-et felejtsd el és ne használd a standard C i/o műveleteket (de legalábbis ne keverd a kettőt).
Tehát a releváns 2 sor pl így nézzen ki:
cout << "Ujra ? (I vagy i)? ";
cin >> skipws >> repeat;Mivel a bemenet alapból soronként pufferelt, ezért a kérdésre nem elég i-t nyomni, hanem kell az enter is. Ennek kikerülésére nincs egyszerű mód.
Jester
-
#82189568
törölt tag
válasz Jester01 #555 üzenetére
Sikerült, de most újabb falba ütköztem:
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
int main()
{
int hofok;
char repeat;
do {
cout<<"Add meg a homersekletet: ";
cin>> hofok;
if ( 100 >= hofok && hofok >= 0 ) {
cout<<"VIZ\n";
}
else if ( hofok > 100 ) {
cout<<"GOZ\n";
}
else if ( hofok < 0 ) {
cout<<"JEG\n";
}
printf("Ujra ? (I vagy i)? ");
repeat = getchar();
putchar('\n');
}while(repeat == 'I' || repeat=='i');
system("PAUSE");
} -
Jester01
veterán
válasz #82189568 #554 üzenetére
Hát, az a javítás nem sikerült túl jól. Szerintem kalapáld addig, amíg legalább a -1, +1, +101 értékekre jól működik. Most a 101-re azt mondja víz.
A folytatásra vonatkozó kiírást és bekérést még a while előtt megcsinálhatod és a while-ban csak azt kell ellenőrizni, hogy mit adott be a felhasználó.
Jester
-
#82189568
törölt tag
válasz Jester01 #553 üzenetére
Igen, köszönöm, javítottam.
Viszont a do- while ciklus beágyazásában kérnék egy kis segítségét!
Magát a cout részt hova kell írni amikor megkérdezi, hogy szeretném e még egyszer?#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
int main()
{
int hofok;
do {
cout<<"Add meg a homersekletet: ";
cin>> hofok;
if ( hofok > -1 ) {
cout<<"VIZ\n";
}
else if ( hofok > 100 ) {
cout<<"GOZ\n";
}
else if ( hofok < 0 ) {
cout<<"JEG\n";
}while( itt kéne a segítség );
system("PAUSE");
return 0;
}[ Szerkesztve ]
-
#82189568
törölt tag
Sziasztok!
Segítségeteket szeretném kérni a kódom átírásában, azt szeretném, hogy miután lefut megkérdezze, hogy szeretném e még egyszer lefuttatni
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
int main()
{
int hofok;
cout<<"Add meg a homersekletet: ";
cin>> hofok;
if ( hofok < 100 ) {
cout<<"VIZ\n";
}
else if ( hofok > 100 ) {
cout<<"GOZ\n";
}
else if ( hofok < 0 ) {
cout<<"JEG\n";
}
system("PAUSE");
return 0;
}Köszönöm előre is!
-
skoda12
aktív tag
-
icespeak
csendes tag
Köszi a segítséget. A probléma azonban az hogy két hibával nem tudok mit kezdeni.
Az egyik a main-ben 41-es sor error: at this point in file ez így érthetetlen számomra.
A másik a headerben 11-es sor error: too many arguments to function `bool ReadFromFile(const std::string&). -
skoda12
aktív tag
válasz icespeak #548 üzenetére
#ifndef _READ_
#define _READ_
#include <string>
#include <vector>
bool good(int k);
int Read12(const std::string &msg, const std::string &errormsg);
void ReadFromKeyboard(std::vector<std::vector<int> > &t);
bool ReadFromFile(const std::string &fname);
int ReadInt(std::string msg, std::string errormsg, bool cond(int) = good);
int ReadNat(std::string msg, std::string errormsg, bool cond(int) = good);
#endifMég néhány hibát javítani kell a mainben, de a header így jó lesz.
Szerk.: Egyébként, ha ennyi helyen kell névterekre hivatkozni, akkor inkább using direktívát érdemes használni std::string és std::vectorra.[ Szerkesztve ]
-
icespeak
csendes tag
Hellótok C++-ban a header fájlnál van problémám a függvényekkel
#include "read.h"
#include "ellenoriz.h"
#include <iostream>
#include <vector>
#include <sstream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
vector<vector<int> > t;
char ch;
do{
// Adatok beolvasása
vector<vector<int> > t;
bool file_ok = true;
// Adatbevitel módja
int v;
if(argc>1) v = 1;
else{
cout << "Az adatbeolvasás módja:"<< endl
<< " SZÖVEGES FÁJL(1)"<< endl
<< " BILLENTYŰZET (2)"<< endl;
v = Read12("Válasszon: ","Csak 1 vagy 2 közül választhat!");
}
// Beolvasás
string fname;
switch(v)
{
case 1 :
if(argc<=1){
cout << "Adja meg a szöveges fájl nevét: ";
cin >> fname;
}
else fname = argv[1];
file_ok = ReadFromFile(fname, t);
break;
case 2 :
cout << "Adja meg az értékeket!";
ReadFromKeyboard(t);
break;
}
// Kiíratás
if(file_ok)
{
if(minden(t)) cout << "Minden sorban van legalabb egy primszam"<< endl;
else cout << "Nincs minden sorban primszam"<< endl;
cout << endl << "Futtassam újra? (I/N) "; cin >> ch;
}
}while(ch!='n' && ch!='N');
return 0;
}
read.cpp tartalma
#include "read.h"
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int Read12(const string &msg, const string &errormsg)
{
int n;
bool hiba = true;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = (n==0 && str!="0") || n<1 || n>2;
if(hiba) cout << errormsg << endl;
}while(hiba);
return n;
}
void ReadFromKeyboard(vector<vector<int> > &t)
{
int n=ReadNat("kerek egy pozitiv egesz szamot( hany soros a matrix):\t","nem pozitiv egesz szamot adtal meg!");
int m=ReadNat("kerek egy pozitiv egesz szamot( hany oszlopa van a matrixnak):\t","nem pozitiv egesz szamot adtal meg!");
t.resize(n);
for (int i=0;i<n;i++)
{
t[i].resize(m);
for (int j=0;j<m;j++)
{
cout <<"t["<<i+1<<"]["<<j+1<<"]: ";
t[i][j]=ReadInt("","nem szamot adtal meg!");
}
}
}
bool ReadFromFile(const string &fname)
{
int n,m,ertek;
int t[n][m];
ifstream x(fname.c_str());
if(x.fail()){
cout << "Hibás fájlnév!"<< endl;
return false;
}
while(!x.eof()){
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
x >> ertek;
t[i][j]=ertek;
}
}
}
return true;
}
bool good(int k) {
if (k>0)
{
return true;
}
else
{
return false;
}
}
int ReadInt(string msg, string errormsg, bool cond(int) )
{
int n;
bool hiba;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = n==0 && str!="0" || !cond(n);
if(hiba) cout<< errormsg<< endl;
}while(hiba);
return n;
}
int ReadNat(string msg, string errormsg, bool cond(int) )
{
int n;
bool hiba;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = n==0 && str!="0" || n<0 || !cond(n);
if(hiba) cout<< errormsg<< endl;
}while(hiba);
return n;
}
read.h tartalma
#ifndef _READ_
#define _READ_
#include <string>
bool good(int k);
int Read12(const string &msg, const string &errormsg);
void ReadFromKeyboard(vector<vector<int> > &t);
bool ReadFromFile(const string &fname);
int ReadInt(std::string msg, std::string errormsg, bool cond(int) = good);
int ReadNat(std::string msg, std::string errormsg, bool cond(int) = good);
#endif -
nistv4n
tag
lehet én értelmeztem félre a kér(d)ését, akkor igazad van, de én úgy értelmeztem, hogy nem akarja, hogy gombot kelljen leütni, csak gondolom látni szeretné az eredményét a programnak, hogy jól működik-e.
Csak miután megadja az utolsó értéket, a progi lefut, kilép. Ezt kiküszöbölni pedig, kezdő szinten tökéletes az, amit írtam (win alatt, dev-c-ben, ezért is írtam oda, hogy ha esetleg ezt használja, akkor nem kell karakterre várnia).
Ellenkező esetben tény, hogy a pause hülyeség
-
doc
nagyúr
ha egyszer C/C++-ban programozol, akkor ne ugy oldd mar meg a billentyure varasd, hogy meghivsz egy (mellesleg oprendszerfuggo) kulso parancsot
megvannak a megfelelo C/C++ fuggvenyek arra, hogy egy billentyu lenyomasara, vagy egyeb esemenyre varj (pl. a get* fv-ek sima C-ben) -
-
Orc
senior tag
Én így csinálnám:
#include <iostream>
using namespace std;
int main()
{
string out;
do{
int x, y;
cout << "Kiszamolom a teglalap teruletet.\n";
cout << "Ird be a teglalap oldalait.\nHosszabb (cm) :";
cin >> x;
cout << "\nRovidebb (cm) :";
cin >> y;
int z = x * y;
if (x >= y)
cout << "\nA teglalap terulete: " << z <<" cm";
else
cout << "\nAz elso megadott oldal hossza kisebb a masodikenal.";
cout << endl << "\nHa ki akarsz lepni nyomj I-t vagy i-t!" << endl;
cin >> out;
cout << endl;
}
while (out != "i" && out != "I");
}Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!
-
Jester01
veterán
Hát ez egyszerűnek tűnik, de nem az
Mégpedig azért, mert a bevitel általában soronként pufferelt. Ezt persze át lehet állítani, de macerás. Ilyen kis progik esetén általában bőven megteszi, ha X = enter Akkor pl. egy sima getchar(); jó is (feltéve persze, hogy az összes beadott adatot megette addigra a programod, különben egyből kilép). C++ esetén egy cin >> c; vagy ilyesmi. Mondjuk az esetek 99%-ban kifejezetten ellenjavalt ilyen várakozást tenni a program végére, mert minek.Jester
-
lamajoe
tag
Ne haragudjatok,hogy megint a hülyeségeimmel jövök
Visszaolvastam egynéhányszáz megoldást, de sajnos nem találtam rendes technikát arra, hogy hogy lehetne késlelteni egy program kilépését. Pl. a végén egy olyasmi lenne jó minthogy "Nyomd le az X billentyűt a kilépéshez."
Remélem tudtok segíteni Bocs mégegyszer
-
lamajoe
tag
Sziasztok!
Nemrég kezdtem el programozni C++ - ban, ezelőtt nem volt túl sok programozási tapasztalatom, és mint azt a nevem is mutatja, nem vagyok egy lángész, vagy csak vaksiEgy nagyon egyszerű kis programot írok gyakorlás céljából (közben a "Tanuljuk meg a C++ programozási nyelvet 24 óra alattot olvasom), ami kiszámolja egy téglalap területét, és alul még egy kicsit megbolondítottam, csak viccből
#include <iostream>
int main()
{
int x, y;
int z = x * y;
std::cout << "Kiszamolom a teglalap teruletet.\n";
std::cout << "Ird be a teglalap oldalait.\nHosszabb (cm) :";
std::cin >> x;
std::cout << "\nRovidebb (cm) :";
std::cin >> y;
if (x >= y)std::cout << "\nA teglalap terulete: " << z <<" cm";
else
std::cout << "\nAz elso megadott oldal hossza kisebb a masodikenal.";
return 0;
}Így néz ki, ti biztos elhányjátok magatokat a "ronda hegesztésektől", de még csak 3 napja tanulom A problémám az, hogy (Z változó a terület, X és Y a két oldal) int változótípussal területnek a végére mindig 256-ot ad , más típussal pedig 0-t ad.
Sajnos lövésem sincs mi a probléma... Remélem valamelyik szaki tud választ adni
MSN címem: quincy@totalcar.hu (ha így megfelelőbb)
Köszi előre is
-
nistv4n
tag
cout << "Hello World";
ez a kiíratás a C++ nyelvben. Ebben az esetben nincs előtte a névtér, melyet std-nek, azaz standardnek nevezünk. Ez azért van, mert ilyenkor a programkódod elején meg kell már adni ezt így, az include-ok után:
[I]using namespace std;
int main(){
cout << "Hello World";
}[/I]ha nincs előre definiálva ez a standard namespace, akkor kell minden egyes olyan parancs, pl bekérés és kiírás elé kitenni az std:: -t, ezzel jelezve, hogy ez a parancs ott van definiálva.
Másik példánál pedig mindkét variáns sortörést jelent. előbbinél fontos, hogy mindig idézőjelbe kell tenni, így ha egy szöveg végén akarod használni, akkor a szöveg idézőjelébe bele tudod tenni. Míg a másik idézőjel nélküli, pl változók után használják, egy << hozzáfűzéssel.
-
doc
nagyúr
az std:: a namespace-t jelenti, vagyis jelzi hogy a cout az std nevu "csomagban" van
ha nem jelzed kulon elotte, hogy ezt a namespace-t hasznalod (pl. using namespace std -vel), akkor enelkul nem talalja a forditoa masodiknal meg az "endl" es a '\n' lenyegeben ugyanaz, viszont az elobbi univerzalisabb, "softabb", c++-ban illik igy hasznalni
-
vgergo
aktív tag
Olyan kérdésem lenne, hogy mi a különbség az alábbiak között
cout << "Hello World";
és
std::cout << "Hello World";cout << "\n";
és
cout << endl;
?
Előre is köszönöm a segítségeteket.üdv.:vgergo
[ Szerkesztve ]
-
tilde
csendes tag
Hello
Én csak C ben tudok programozni, de felhasználtam a programomban a c++ -ból is dolgokat mivel UNICODE karakterekkel kell dolgoznom(magyar ékezetes betűk). Amit felhasználtam az a wchar_t változó, ebbe olvastam be a szövegfajlomat, majd kis átalakítás után vissza ki is írtam fájlba, ez működött is, addig amíg nem kellett a switch case -ében UNICODE karakterra keresni. Ebben kérnék segítséget, hogy felismerje a case az UNICODE karaktereket is.
Feltettem a forráskódomat, a link lenn van, a fő forrásfájl a makesampa.c++, egyébként linux alatt a g++ nevű fordítóval fordítottam. Elég sok a forráskód, még nics kész, de már működik , egyébként a case -el az összes magyar betűre szeretnék rákeresni.
http://trioda.extra.hu/ideir/bc/bc.html
[ Szerkesztve ]
Rambo
-
cog777
senior tag
Köszönöm a gyors válaszokat!!!
HP ZBook Studio 15.6 G8 Mobile Workstation - Windows 11
-
ArchElf
addikt
Azért éri el, mert ugyanabból az osztályból hívod. A private nem azt jelenti, hogy csak abban az objektumban, hanem hogy ugyanabban az osztályban (az oszályból generált bármely objektumban) elérhető csak a változó/függvény/objektum/stb. így a friend teljesen felesleges is...
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
cog777
senior tag
Sziasztok!
Most nézem át a c++ operátor overloading-ját, van két megoldás:
class Point
{
public:
Point(int x, int y) {Point::x=x;Point::y=y;}
Point operator+(Point &p) {return Point(x+p.x, y+p.y);}private:
int x,y;
}A kérdésem:
"Point operator+(Point &p) {return Point(x+p.x, y+p.y);}" Miért lehet elérni a "p.x"-et??? (illetve a p.y-t?) (Az adatrejtés elve miatt kérdezem, hiszen private )A másik megolds szinte ugyanez:
class Point
{
public:
Point(int x, int y){Point::x=x;Point::y=y;}
friend Point operator+(Point &p, Point &q) {return Point(q.x+p.x, q.y+p.y);}private:
int x,y;
}Itt már értem, hiszen a friend el tudja érni a private adatokat!
HP ZBook Studio 15.6 G8 Mobile Workstation - Windows 11
-
lajszer
tag
Most ismerkedem a C++ nyelvvel, írtam egy nagyon egszerű kis programocsikát (kör terület számolós)! Olyan gondolm lenne, hogy miután megkapom az összeget bármit nyomok kilép!
Milyen paranccsal lehet megoldani hogy újra kérje az adatot és kiszámolja??? -
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!”
-
Begin
csendes tag
Hatalmas problémám támadt!
Van egy *.mdb kiterjesztésű adatbázisom, amelyet Visual Studio 2008-ban szeretnék kezelni. Ehez a C++ nyelvet használom, de míg C#-ban tudom csatlakoztatni a táblámat, addig C++ egyáltalán nem sikerül, egyszerűen hiányzik "Database" pont a "DataGridView"-ben "Add Data Source..."-nél.
Sajnos C#-ban nem tudom folytatni a munkám, mert már igen belefogtam C++-ban, és sajonos C#-hoz egyáltalán nem konyítok. Néztem pár bejegyzést a témában, de megoldást nem találtam.Ha nem tud senki tanácsot adni, megfelelő lenne bármilyen másik megoldás is, csak sajonos az SQL serverekhez nem igazán értek, bár a nyelvet ismerem, de csak annyira amennyiben Visual FoxPro-ban szükséges. Talán ezért is tökéletes lenne ha lenne valami megoldás akár *.dbf fájlok kezelésére is. Fontos lenne számomra, hogy a kész programom egy másik számítógépen való futtatásakor a felhasználónak ne keljen semmi egyéb programot telepítenie az én programomon kívűl, mivel az alkalmazásom gyengéb informatikai tudásuakhoz szól elsősorban.
Ennyire jutottam:
Első lépés OleDbConnection:
http://www.connectionstrings.com/access-2007 oldalon, ha jól fordítom, és gondolom nekem ".NET Framework Data Provider for OLE DB"-re van szükségem ennek a kódja:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
Lehet ez valami nagyon alap dolog, de ezzel mit csináljak? Készítettem egy headert, és belepakoltam egy classba, de rögtön 28 errort dobot. Egész délután szórakoztam vele, de eddig semmi előrelépés.
Ezen felül böngésztem neten és ilyenekkel próbálkoztam:
#using <mscorlib.dll>
#using <System.Data.dll>
using namespace System;
using namespace System::Data;
using namespace System::Data::OleDb;
#include "stdafx.h"majd, elvileg ez lenne a connection string?
OleDbConnection * conn = new OleDbConnection();
conn->ConnectionString = S "Provider=Microsoft.Jet.OLEBD.4.0; "
S"Data Source=C:\my_databases\taxLots.mdb";Ezt a Form1 load eseményéhez raktam, de olyan hibákat dob, hogy S nincs deklarálva, meg nem lehet használni new és gcnew-t...
Nos gondolom ebbe használhatom, www.connectionstrings.com oldalon található connection stringet, de ebben a példában *.mdb van míg azon *.accdb, feltételezem, hogy ez semmi különbséget nem jelent, hiszen mindkettő Accesses fájlformátum.
void CreateOleDbConnection()
{
String* myConnString = S"Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;";
OleDbConnection* myConnection = new OleDbConnection(myConnString);
myConnection->Open();
MessageBox::Show(String::Format( S"ServerVersion: {0}\nDataSource: {1}", myConnection->ServerVersion, myConnection->DataSource ));
myConnection->Close();
}Egy ilyet is találtam msdn-en, gondolom ezt:
S"Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI
át kell írni a connection stringmre, de akkor is dobálja a hibákat...
Elég fusztráló, hogy nem értem, hogy mit miért csinálok, csak a kódokat másolgatom ki be, de már rengeteg időt rááldoztam!
Hogy módosítsam a kódot, hogy működésre bírjam?
-
doc
nagyúr
válasz !wannabe #516 üzenetére
en vim-et hasznalok qt-re, szerintem tokeletes
de van pl. a qtdesigner a gui-tervezesre, illetve most csinaltak egy ide-t, qdesigner vagy hogy hivjak, a qt honlapjan megtalalod
konyvbol meg letoltheto a trolltech oldalarol a C++ gui programming with QT elso kiadasa, az nagyon jo! nekem a masodik van meg (papiralapon), ez annyival tobb hogy 4.3-as QT-hoz van aktualizalva, nem 4.1-hez, ennek megfeleloen bovebb, de elkezdeni nagyon jo az elso is
raadasul a qt referencia zsenialis, baromi jol es gyorsan lehet abbol is tanulni, ha van mar nemi alapod -
amargo
addikt
-
!wannabe
tag
Üdv!
A QT-ban járatosaktól kérdezném, hogy ki mit használ? (valamiféle designer vagy creator) Van pl egy haverom aki csak gedit-ben nyomja a QT-t. Szerintetek mit érdemes használni?
Egyébként, hogy érdemes hozzákezdeni a tanuláshoz? (melyik könyvet ajánljátok különös képp)[ Szerkesztve ]
-
Benmartin
senior tag
-
sto1911
veterán
Hello,
tudnatok nekem (ill. ocsemnek) segiteni C-ben? Egy ko-papir-ollo jatekot kellene irni. Elejen be kell kernie, hogy hany kor lesz, majd a valaszokat, es a vegen az osszes kor alapjan kiirnia, hogy ki nyert.
Eddig ez van, de azt mondja Ubuntun nem fut rendesen, winen meg igen. Letezik ilyen?#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main (){
int i,n,elso=0,masodik=0;
char j,k;
scanf("%d\n",&n);
for (i=0; i<n-1; i++){
scanf("%c %c\n",&j,&k);
if((j=='p')&&(k=='k')) elso++;
else if ((j=='k')&&(k=='p')) masodik++;
else if ((j=='o')&&(k=='k')) masodik++;
else if ((j=='k')&&(k=='o')) elso++;
else if ((j=='p')&&(k=='o')) elso++;
else if ((j=='o')&&(k=='p')) elso++;
else if(j!=k) masodik++;
}
scanf("%c %c",&j,&k);
if((j=='p')&&(k=='k')) elso++;
else if((j=='k')&&(k=='o')) elso++;
else if((j=='o')&&(k=='p')) elso++;
if (elso>masodik) printf("elso\n");
if (masodik>elso) printf("masodik\n");
if (elso==masodik) printf("dontetlen\n");
system(pause);
return EXIT_SUCCESS;
} -
doc
nagyúr
válasz kissgy04 #510 üzenetére
1. Ha azt írom, hogy f$Stop ? 0 : az miben más a fenti f$Stop==1 ? 0 :
annyiban, hogy az elso esetben azt vizsgalod, hogy nullatol kulonbozo-e, a masodikban azt, hogy pontosan egy-e2. f$Stop==0 az más mint az !f$Stop, és ha igen miben?
tulajdonkeppen nem, a ! annyibol mas mint a ==0, hogy pl. NULL pointerre is igazat ad vissza (bar az C++ forditok a 0-t is ertelmezni szoktak pointerre, NULL-kent) -
kissgy04
tag
Sziasztok szeretnék feltenni 2 kérdést, amire remélem kapok választ. (előre is bocsánatot kérek, ha túl banálisak a kérdéseim)
Van egy progrész ami az alábbiak szerint néz ki, a [...] rész természetesen ki van töltve
##f$run##
f$Stop==1 ? 0 :
(
[...]
|| [...]
|| [...]
)és a f$Stop az alábbiak szerint van meghatározva
##f$Stop##
0|| [...]
|| [...]
|| [...]
|| [...]A két kérdésem:
1. Ha azt írom, hogy f$Stop ? 0 : az miben más a fenti f$Stop==1 ? 0 :
2. f$Stop==0 az más mint az !f$Stop, és ha igen miben?mégegyszer elnézést kérek, ha túl hülyék a kérdéseim
-
!wannabe
tag
Az általad említett könyv nekem is megvan, nem rossz cucc amugy, viszont azt fontos tudni, hogy egy könyv olvasgatásával nem lehet megtanulni programozni még ha van pascal alapod akkor sem.
A netes tutorialokbol pedig én is a http://www.cplusplus.com/doc/tutorial/ -t emelném ki.
-
Zwiebel
tag
Köszi szépen! PirateClub milyen oldal?
[ Szerkesztve ]
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
nemmegyaC
csendes tag
Haho!
Ez az oldal nagyon jo, sztem: http://www.aut.bme.hu/CppPeldatar/
Vagy ez (ezt még én is csak most találtam): http://www.eet.bme.hu/publications/e_books/progr/cpp/node74.htmlHa könyvet akarsz c-hez, vagy c++hoz, akkor ajánlom, h nézz körül a pirateclub-on, én ott találtam nem is egyet.
-
skoda12
aktív tag
Pl ezen az oldalon mindenhez van példakód.
-
Zwiebel
tag
Köszi a gyors választ!
Tutorialokat én is kerestem a neten, de sajnos nem találtam mást csak pl. Youtube videókat. Gondolom, hogy te nem ilyenekre gondoltál
Tudnál nekem mondani olyan oldalt ahol találok ilyeneket?Előre is köszi!
Zwiebel
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
skoda12
aktív tag
Először C-ben tanultam meg programozni, csak azután jött a C++. Én is vettem egy könyvet, kezdetnek jó volt, de inkább a neten található tutorialok segítettek. Azért volt jó így, mert magyarázott valamit és utána volt egy rövid példakód is minden esetben. Ez nyilván nem járja nyomtatott formában, mert több ezer oldalasak lennének a könyvek. Egyébként nagy része fontos annak, ami ezekben a könyvekben le van írva, hiszen ezek csak a nyelv lehetőségei, ha nem ismered mindet, akkor lehet, hogy fejlesztés közben olyan dolgokkal szenvedsz majd, amiket rövidebben is meg lehetne oldani.De ez nem azt jelenti,hogy pl minden függvény paraméterezését fejből tudni kellene, de jó emlékezni arra, hogy milyen feladatokra írtak már meg függvényeket, és ha ezzel kapcsolatos feladatot kell megoldanod, akkor a referenciából kinézed a pontos paraméterezést.
[ Szerkesztve ]
-
Zwiebel
tag
Sziasztok!
Még nagyon új vagyok a C++ programozásban. Bár Pascalban már programoztam , azért ez kicsit más, bár gondolom ezt ti is tudjátok Az lenne hozzátok a kérdésem, hogy ki hogyan tanult meg programozni c++ nyelven ? Milyen dologgal kezdte? Iskolában tanultátok-e meg vagy valamilyen könyvből? Én vettem egy könyvet és olvasgatom is már egy ideje, de valamiért nem akar megragadni bennem minden dolog A könyv címe: Programozzunk C++ nyelven! ( Az ANSI C++ tankönyve ) A fontosabb dolgok megmaradnak bennem, de minden fontos lenne belőle ami le van bele írva?
Bocs a sok kérdésért, de nagyon reménykedek abban, hogy nem sokára én is itt programozhatok veletek.
Köszi előre is!
Üdv!
Egy új fogalmat szeretnék alkotni: ProG(r)a(m)mer
-
Capricornus
aktív tag
"Tehát ha jól értem adott egy program, amit nem te csináltál, és ezt akarod valahogy egy általad írt programmal "automatizálni" ? Jól értem?"
igen, ez a lényeg
"Vagy még egy ötlet. Létezik az AutoITnevű ingyenes fejlesztőkörnyezet."meg fogom nézni, nagyon köszi a tippet!
Per aspera ad astra!
-
martonx
veterán
válasz Capricornus #500 üzenetére
Bocs, félreértettelek. Azt hittem valaki van a gép előtt, aki nyomkodja a billentyűzetet, és a fókusz vesztés miatt nem tudod elkapni a gombnyomást.
Ha azt akarod, hogy a programod automatikusan fusson, miért nem szolgáltatásként csinálod meg?Tehát ha jól értem adott egy program, amit nem te csináltál, és ezt akarod valahogy egy általad írt programmal "automatizálni" ? Jól értem?
Vagy még egy ötlet. Létezik az AutoITnevű ingyenes fejlesztőkörnyezet. Ezt kimondottan billentyűzet, és egér szimuláláshoz találták ki eredetileg. Mára sokkal tovább fejlődött, esetleg nézd meg ezzel mit tudsz kihozni a dologból.
Én kérek elnézést!
Új hozzászólás Aktív témák
Hirdetés
● 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