Hirdetés

2024. május 1., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Programozás topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-12-13 06:18:28

LOGOUT.hu

Összefoglaló kinyitása ▼

Hozzászólások

(#3501) ALI_G válasza amargo (#3500) üzenetére


ALI_G
veterán

csináltam egy ilyen .headert és a main.cpp-ben includolva van:

#ifndef INC
#define INC

#include <iostream>
#include <string>
using namespace std;
#include "eloleny.cpp"
#include "ember.cpp"

#endif

na most már más hibákat dobál, hogy mintha többször lenne deklarálva egy-egy class.
error C2011: 'Eloleny' : 'class' type redefinition
see declaration of 'Eloleny'
meg ilyesmi marhaságok :)

Feltöltöttem az összes fájlt: [link]

(#3502) Fire/SOUL/CD válasza ALI_G (#3501) üzenetére


Fire/SOUL/CD
félisten

Hali!

Igen, többször is van.
Az eloleny.cpp-be meg az ember.cpp-be is beinkludolod az inc.h-t. Oda nem kell, azaz húzd ki a #include "inc.h" sort belőlük.

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)

(#3503) amargo válasza ALI_G (#3501) üzenetére


amargo
addikt

Proxy-n belül vagyok és a freeszerverek szűrve vannak, így nem tudom megnézni.

De azt már most látom, hogy nem igazán jó includolást használsz: #include "eloleny.cpp"
Leginkább ezeket szoktuk használni #include "eloleny.h" ilyenkor csak az osztály vázát tartalmazza
#include "eloleny.hpp" ezt leginkább template osztályoknál, amikor a kód is megvalósításra kerül benne.

Pl egy sima header file, amit így includolsz az eloleny.cpp file ba majd:

#include "eloleny.h"

eloleny.h:

#ifndef ELOLENY_H
#define ELOLENY_H

class Eloleny
{
(...)
};

#endif

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3504) ALI_G válasza Fire/SOUL/CD (#3502) üzenetére


ALI_G
veterán

de ha ifndef -van, akkor nem mind1? úgyis csak akkor copy-za, ha még nincs ott.

(#3505) ALI_G válasza amargo (#3503) üzenetére


ALI_G
veterán

az, hogy .h-t include-olok, vagy cpp-t, nem mindegy? egyébként nem akartam header fájlt csinálni, mert csak gyakorlok, de aztán megcsináltam egy közös h-t.

(#3506) amargo válasza ALI_G (#3505) üzenetére


amargo
addikt

Gyakorlatilag, igen. Csak ez szabvány. Amint ahogy a kocsin is azért van az index, hogy más is tudja, mit akarunk.

Amúgy a baj:
inc-ben te include-od az ember osztályt, azaz, az embert akarod az emberben include-ni. Ami fura, minek? Az #ifndef-et nem erre találták ki, hanem, hogy 2x ne töltse be a header file-t.

Inkább azt kövesd, ahogy leírtam, mert ez így partizánkodás és rossz is.
Dehogy javítást is írjak:
eloleny.cpp szedd ki az include-ot, ide minek, ezt fogod betölteni máshol.
az ember.cpp pedig csak az eloleny.cpp-t kell include-ni. a main-be akár jó az inc-include, csak tök felesleges, mert elég, az ember.cpp-t include-ni(ebben az esetben a main-be kell az stl-t behozni).

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3507) ALI_G válasza amargo (#3506) üzenetére


ALI_G
veterán

Szia!

Köszi, hogy megnézted, át is írom akkor, nem spórolok. :B

(#3508) amargo válasza ALI_G (#3507) üzenetére


amargo
addikt

Örülök :)

Ezek a feladatok, mégha saját magad is találod ki. Azért vannak, hogy gyakorolj, ebbe jóval több dolog tartozik mint maga a feladat megoldása.
Ezek az egyszerű példák meg nagyon jók, ezekkel tudsz egyfajta gondolkodás módot elsajátítani, amiből később megfogsz élni - azaz alkalmazni tudod egy sokkal bonyolultabb folyamatban.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3509) ocsi19


ocsi19
senior tag

Sziasztok!

Kaptam egy programozási feladatot: "Gyök meghatározása fokozatos közelítéssel"

Ezeket a segítségeket kaptam hozzá:

function fok_koz(x,eps:real; var r:boolean;g:fuggv):real;
var x0: real;
k: integer;
begin
writeln(' k x(k) x(k)-x(k-1)');
k := 0;
writeln(k:2, x:12:6, ' - ');
begin
repeat
x0:= x;
k := k + 1;
x := g(x0);
writeln( k:2, x:12:6, (x-x0):12:6);
until abs(x0-x) <= eps;
fok_koz:=x;
r:=false
end;

r:=true;
end.

és

"y=9,6e a -3,15x-ediken + 0,3x az 1,5-diken"

Nagyon megköszönném, ha valaki tudna egy picit segíteni, hogy hogyan induljak el, mert már nagyon kétségbe vagyok esve :O

Előre is köszönöm! :R

[ Szerkesztve ]

(#3510) ALI_G válasza ocsi19 (#3509) üzenetére


ALI_G
veterán

nem értem a kódot, de szerintem arra gondoltak, hogy Sorfejtéssel határozd meg egy Gyök értékét.
Papíron ez nem is olyan nehéz, mi analízisből tanultuk. Nem tudom, hogy mindenhez használható-e, de ha nem haladsz egyről a kettőre, akkor olvasd el ezt: wikipedia Taylor sorfejtés.

(#3511) ALI_G válasza amargo (#3508) üzenetére


ALI_G
veterán

default paraméter-t (konstruktorba és egyéb metódusoknál cpp-ben) csak a header fájlba lehet rakni? :F

egyébként átírtam és működik, de a return 0; a main végén miért nem eredményezi azt Visual studioban, hogy kér egy billentyűt a futás végén? konzolos program lévén nem látom a kimenetet.

[ Szerkesztve ]

(#3512) amargo válasza ALI_G (#3511) üzenetére


amargo
addikt

Szia

Érdemes ezeket végig nézned és megcsinálgatni Porkoláb Zoltán

Kérdésedre válaszolva, default parameter megadásakor elég csak egyszer a függvény deklarációjakor megadni. Ha a main előtt adod meg és gyakorlatilag már a definíciót írod le, akkor elég csak ott megadni.

azaz:

void foo(int i = 0); //deklaráció

void foo(int i = 0) //definíció
{
std::cout<< i << std::endl;
}

return 0; -ra azért nem áll meg a VS (talán be lehet állítani) mert a program futása a main-nál ilyenkor megszakad a program futása (általában), de ha ezt berakod

system("PAUSE");

akkor meg fog állni :)

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3513) Jester01 válasza amargo (#3512) üzenetére


Jester01
veterán

Jajj, ne ajánlj már neki system("pause")-t... A másik amitől hülyét kapok az a system("cls").

Jester

(#3514) ocsi19


ocsi19
senior tag

"3509"

Még mindig várnám a segítséget, amennyiben valakinek van rá egy kis ideje :R
Küszködök vele egy ideje...
Eddig még nem éreztem rá nagyon, azt hiszem nem leszek programozó... :DDD

(#3515) amargo válasza Jester01 (#3513) üzenetére


amargo
addikt

Mi a baj a vele?

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3516) Jester01 válasza amargo (#3515) üzenetére


Jester01
veterán

Külső programot használ egy egyszerű funkcióra, rossz hatékonyság, extra függőség (mi van ha nincs a PATH-ban pause?) Ráadásul nem is platformfüggetlen. A kezdő programozó meg elhiszi, hogy ez a helyes anélkül, hogy belegondolna: a pause.exe-t is megírta valaki, tehát valahogy meg lehet csinálni.

Ilyen egyszerű programoknál általában simán elég az enter-re várás (a line buffering miatt a tetszőleges billentyű már nem platformfüggetlen). Tehát egy

string tmp; cin >> tmp;

bőven jó.

Jester

(#3517) amargo válasza Jester01 (#3516) üzenetére


amargo
addikt

Ez egy jó érv.

Akkor akár lehetne cin.get() is.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#3518) KPepe


KPepe
senior tag

üdv!

Azt a feladatot kaptuk, hogy select-es vagy poll-os megvalósítással írjunk olyan szervert, ami a gethostbyname() fv segítségével lekérdezi a kliens által küldött weboldal adatait. Lényeg, hogy futtatom a szervert, másik ablakból telnettel csatlakozok rá, és ha elküldöm neki pl. a www.prohardver.hu címet, akkor visszaküldi az adott kliensnek a hostent struktúrából kinyerhető adatokat.
Ez idáig működik is. Annyi bajom van vele, hogy ha csatlakozok egy klienssel, és küldök a szervernek valamit, akkor onnantól több kliens nem tud felcsatlakozni, az accept() fv elszáll. De ha elindítom a szervert, és egyből csatlakozok 2 klienssel, akkor működik mindkettőben a gethost dolog.
Ha valaki lenne olyan kedves, és vetne rá egy pillantást, hogy mit szúrhattam el, azt megköszönném! :)
Select-el csináltam, és természetesen linux.

source

A tüzérség előtt minden és mindenki egyenlő. A föld színével.

(#3519) Jester01 válasza KPepe (#3518) üzenetére


Jester01
veterán

Nekem működik. Leszámítva, hogy a 174. sorban az üres if törzsnek nem örült a fordító.

[ Szerkesztve ]

Jester

(#3520) Jester01 válasza Jester01 (#3519) üzenetére


Jester01
veterán

Ja, viszont valgrind szólt, hogy accept hívásban a harmadik paraméter (a méret) nincs inicializálva. Ez okozhat hibát, attól függően, hogy éppen milyen véletlen adat van az adott címen.
man accept: The addrlen argument is a value-result argument: it should initially contain the size of the structure pointed to by addr

Jester

(#3521) KPepe válasza Jester01 (#3519) üzenetére


KPepe
senior tag

Ez érdekes, 2 napig így fordítottam, nem szólt, de ma nekem is hibát írt a fordító. :)

(#3520)
Valóban, a size inicializálása volt a gond, pótolva már nekem is sikerül bármikor kapcsolódni egy újabb klienssel.

Köszönöm a segítséget!

A tüzérség előtt minden és mindenki egyenlő. A föld színével.

(#3522) akasp


akasp
senior tag

sziasztok!

c++ ban egy intet hogyan konvertálok egyszerűen stringgé és vissza egyszerűen és gyorsan?

mod: atoi és itoa fügvényekről azt olvstam, h nem minden compilerrel müxik..

[ Szerkesztve ]

(#3523) sghc_toma válasza akasp (#3522) üzenetére


sghc_toma
senior tag

pl. ez egy megoldás:

#include <iostream>
#include <sstream>

using std::string;
using std::stringstream;

string my_itoa(int _i)
{
stringstream sstream;
sstream << _i;
return sstream.str();
}

int my_atoi(string _s)
{
stringstream sstream(_s);
int ret;
sstream >> ret;
return ret;
}

[ Szerkesztve ]

in asm we trust

(#3524) akasp válasza akasp (#3522) üzenetére


akasp
senior tag

hopp még1kérdésem van csak már nemfért bele a mod időbe:

szal (c++ban továbbra is) hogy tudom eldönteni egy char ról h az szám e vagy "karakter" -e?

pl:

char a= '9';

=> ekkor szám

char b= 'z';

=> ekkor meg nem szám

sza ilyesmire nincs egy függvény?

MOD: sghc_toma: köszi :)

[ Szerkesztve ]

(#3525) sghc_toma válasza akasp (#3524) üzenetére


sghc_toma
senior tag

nincs mit :)

a másik kérdésedre a válasz:
int isdigit(int c)
ha c számjegy, akkor nemnullát ad, egyébként nullát.. cctype-ot include-olni kell..

in asm we trust

(#3526) ALI_G


ALI_G
veterán

hi!

ötlet kellene egy minimax algoritmushoz (két személyes játék, felváltva lépnek táblán).
Nagyjából összedobtam, csak még sem.
Röviden annyit csinálok, hogy van a tábla jelenlegi állapota, átadom a függvénynek, ami kiszámolja először a Max, majd az összes lehetséges (abból következő) lépésre a Min értékeket (ez egy táblázatban van).
CSak hogy akkor az állapottér, hogy csillió év múlva érne véget ha végigszámoltatnám. Hogyan korlátozzam, hogy csak pl. 2-3 mélységre számoljon, és abból következtessek a legjobb lépésre?

(#3527) akasp válasza sghc_toma (#3525) üzenetére


akasp
senior tag

még1szer köszönöm :) :R

(#3528) ALI_G válasza ALI_G (#3526) üzenetére


ALI_G
veterán

tárgytalan.

(#3529) denetol


denetol
csendes tag

Hello!
Segítségre lenne szükségem.C nyelven megirt aknakereső programra lenne szükségem vagy olyan linkre ahol találok segítséget a megirásához.A segítségeket előre is köszönöm.

(#3530) Jorus


Jorus
nagyúr

Sziasztok!

Adott néhány ősrégi, dokumentációval nem, csak forráskóddal rendelkező clipper program adatbázisokkal, kiegészítő batch file-okkal, miegyebekkel. Ennek feltérképezéséért, módosításáért, az adatbázisok összefésüléséért, a programkód módosításaiért, mely változtatások a program további használhatóságát biztosítják (értsd: nem kell új szoftvert íratni) majd az újrafordításért, kitesztelésért, telepítésért, betanításért, további esetleges karbantartásért mennyit lehet kérni? Csak úgy nagyságrendileg érdekelne a dolog, árajánlatot kellene adnom.

Köszi!

''És nagy kópék vagyunk. Igyunk barátaim, yo-hoo!'' - Jack Sparrow

(#3531) Jorus válasza Jorus (#3530) üzenetére


Jorus
nagyúr

Nagyságrendileg is elég lenne...:)

''És nagy kópék vagyunk. Igyunk barátaim, yo-hoo!'' - Jack Sparrow

(#3532) lakisoft


lakisoft
veterán

Sziasztok! Van itt aki képben vagy Xquery-ben? A részleteket privátban elmondom.
Előre is köszi!
lakisoft

(#3533) orbano válasza Jorus (#3530) üzenetére


orbano
félisten

én kiszámolnám, hhogy előreláthatólag mennyit kell vele foglalkoznom, aztán számolnék egy számomra vonzó órabérrel (minél értékesebb a tudásod, annál magasabbal) :U

A vér nem válik VAZZE!™

(#3534) Blaise


Blaise
veterán

Sziasztok !

Kellene írnom egy beolvasófüggvényt C++-ban, ami az ehhez hasonló gps adatokat olvassa be fájlból:

"$GPGGA,130350,4728.7922,N,01905.4297,E,1,03,3.0,259.1,M,40.9,M,,*46"

Tudtok segíteni ?

(#3535) Jester01 válasza Blaise (#3534) üzenetére


Jester01
veterán

Szétkaszabolod vesszőknél és belegyömöszölöd a megfelelő változókba. Melyik rész okoz problémát?

Jester

(#3536) Jorus válasza orbano (#3533) üzenetére


Jorus
nagyúr

Ok, 200k-ban megegyeztünk végül, a munka nem volt vészes, fél napom ment rá a betanításon kívül.

''És nagy kópék vagyunk. Igyunk barátaim, yo-hoo!'' - Jack Sparrow

(#3537) orbano válasza Jorus (#3536) üzenetére


orbano
félisten

az igen jól hangzik :)

A vér nem válik VAZZE!™

(#3538) ALI_G


ALI_G
veterán

üdv.
deklarácio:
friend std::ostream& operator<<(std::ostream &os, const Csillag &cs);

std::ostream& operator<<(std::ostream &os, const Csillag &cs) {
os << "A csillag neve: " << cs.name << ", merete: " << cs.m << ", sugara " << cs.r << ", fenyessege " << cs.f;
return os;
}

ebben a c++ részletben mi a probléma? A return os; elvileg referencia szerint kellene vissza adódnia, de error-t dob Visual studio, eléggé értelmetlent :)
Annyira még nem érzem ezeket a cpp-s referenciákat...

A másik meg, hogy:

Csillag& Csillag::operator+(Csillag &cs) {
double kcs_m = m + cs.m;
double kcs_r = sqrt(r * cs.r);
double kcs_f = (f + cs.f) / 2;
Csillag *kcs1 = new Csillag( kcs_m, kcs_r, kcs_f, name, true );
cs.~Csillag();
Csillag::~Csillag();
return *kcs1; //referencia szerinti atadas!
}

ebben a return *kcs1 helyett eredetileg simán return kcs1; szerepelt, de úgy error volt :( A VS javaslatára "dereferáltam", így nem dob hibát, de itt is referencia szerint akarom visszaadni, de ahogy én tudom (pointer dereferencia nélkül) úgy hibás :(

(#3539) ALI_G válasza ALI_G (#3538) üzenetére


ALI_G
veterán

ja igen, és a kimenet:

Csillag.obj : error LNK2019: unresolved external symbol "public: __thiscall Csillag::~Csillag(void)" (??1Csillag@@QAE@XZ) referenced in function "public: class Csillag & __thiscall Csillag::operator+(class Csillag &)" (??HCsillag@@QAEAAV0@AAV0@@Z)
G:\---===Dokumentumok===---\Programozás\C++\Csillag\Debug\Csillag.exe : fatal error LNK1120: 1 unresolved externals

nem sokat értek belőle :F de legalább észrevettem, hogy 2 hiba is van. A feloldással van valami baj még

mod: bocs, az előbbiben maradt egy komment, meg az első sorba fordított nekem PH smiley-kat is mert nem raktam kódba

[ Szerkesztve ]

(#3540) ALI_G válasza ALI_G (#3538) üzenetére


ALI_G
veterán

szóval az a

Csillag::~Csillag();

az nem jó, eredetileg úgy szerepelt, hogy ~Csillag(); ami szerintem jónak kellene lenni, de ilyen hibát ad:

error C2675: unary '~' : 'Csillag' does not define this operator or a conversion to a type acceptable to the predefined operator

ezt találtam rá google-lel: [link], de nekem ez nem segített :( mármint nem értem mit akar.

(#3541) ALI_G


ALI_G
veterán

:W de hülye vagyok!!! wáááá, hát kézzel nem szabad destruktort hívni!!!! :C

(#3542) Javver


Javver
csendes tag

Sziasztok!
ha tudtok segítsetek nekem....php...

4/3 szerveren semmi goind de az egyiken ezt irja ki és nem tudom miért....

Cannot modify header information hibaüzenet....
ime a kód..
<?php session_start();
?>
<html>
<body>
<center>
<h2>Login Check Hiba</h2>
Hibás bejelentkezési adatok, vagy nem megerősített regisztráció!<BR>
<A HREF="loginurlap2.php">BEJELENTKEZEK!</A><br>
<A HREF="reg.htm">REGISZTRÁCIÓ</A>
<?php
$username = $_POST["user"];
$pw= $_POST["pass"];
include("adatbazis.php");
$eredmeny=mysql_query("SELECT jszo FROM user WHERE fnev='$username'");
$user=mysql_fetch_row($eredmeny);
$eredmeny2=mysql_query("SELECT submitted FROM user WHERE fnev='$username'");
$sub=mysql_fetch_row($eredmeny2);
mysql_close($kapcsolat);
if (($user[0]==md5($pw)) && ($sub[0]=="true")) {
$_SESSION["logon"]="ok";
$_SESSION["fn"]=$username;
Header("Location:http://www.hotellevai.hu/forum.php");
}
?>
</center>
</body>
</html>

a location -nal van baja, de miért....

(#3543) Javver


Javver
csendes tag

Cannot modofy header information....a Location nem hajtja végre... de miért?

<?php session_start();
?>
<html>
<body>
<center>
<h2>Login Check Hiba</h2>
Hibás bejelentkezési adatok, vagy nem megerősített regisztráció!<BR>
<A HREF="loginurlap2.php">BEJELENTKEZEK!</A><br>
<A HREF="reg.htm">REGISZTRÁCIÓ</A>
<?php
$username = $_POST["user"];
$pw= $_POST["pass"];
include("adatbazis.php");
$eredmeny=mysql_query("SELECT jszo FROM user WHERE fnev='$username'");
$user=mysql_fetch_row($eredmeny);
$eredmeny2=mysql_query("SELECT submitted FROM user WHERE fnev='$username'");
$sub=mysql_fetch_row($eredmeny2);
mysql_close($kapcsolat);
if (($user[0]==md5($pw)) && ($sub[0]=="true")) {
$_SESSION["logon"]="ok";
$_SESSION["fn"]=$username;
Header("Location:http://www.hotellevai.hu/forum.php");
}
?>
</center>
</body>
</html>

(#3544) ALI_G válasza Javver (#3543) üzenetére


ALI_G
veterán

szia.
na én nem tudom, de van külön kiemelt PHP topic, szerintem ott többen foglalkoznak ezzel. Itt általában csak C++ meg java szokott menni.

(#3545) shev7 válasza Javver (#3542) üzenetére


shev7
veterán

[link]

Mert a headert nem tudod modositani miutan megjelenitendo tartalmat kuldtel. Hogy miert mukodik 3-on az nem tudom, a link szerint egyiken sem kene mukodni.

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#3546) akasp


akasp
senior tag

hali. elég láma kérdés lesz de sehogyse jövök rá hogy hogy kellene megvalósitani mármint szintaktikailag.

szal van egy ilyenem hogy

vector<string> s;

namost ezt az egész tömböt kéne átadni egy függvénynek, de nem "lemásolva" a tömböt hanem mondjuk a címét.

mit kell irni a függvény argumentumába?

köszi előre is.

jah és ha már itt vagyunk, akkor hogy adom át úgy, hogy lemásolódjon a tartalma tehát hiába változtatom a függvényen belül az az eredeti tömböt nem fogja változtatni?

köszi :R

(#3547) akasp válasza akasp (#3546) üzenetére


akasp
senior tag

júúj a másik ami kiborította a bilit:

jön a standard bemenetről az anyag (vagy file, tökmind1)

ilyenem van hogy:

string sor;
while(cin >> sor) {

}

és azt kell leenőriznem ha mivan ha az egy üres sor.

se ez nem jó hogy:

if( sor.empty() ) {}

de még ez se:

if( sor.at(0)=='\0' ) {}

hogy tudnám ezt megoldani?

[ Szerkesztve ]

(#3548) gygabor88 válasza akasp (#3546) üzenetére


gygabor88
tag

void f(vector<string>& vec) { ... }
void f(vector<string> vec) { ... }

Mindkettőt f(v) -ként hívod meg, de a másodiknál a tartalma vec-be másolódik, az elsőnél egy referenciát kapsz az eredetire tehát nem másolódik.

(#3549) gygabor88 válasza akasp (#3547) üzenetére


gygabor88
tag

if ( !sor.size()) {
// Akkor üres sor
}

(#3550) akasp válasza gygabor88 (#3548) üzenetére


akasp
senior tag

köszi :)

jéé referenciára nem is gondoltam.. nah ilyenkor jön jól.. :)

thx :R :R

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Programozás topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.