Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: (Programowanie w C/C++ i nie tylko)----(Dla laików i ekspertów)----(cz.7)

początekpoprzednia123
28.05.2008 20:42
Regis
401
odpowiedz
Regis
133

1. Glowy nie dam, bo w C juz w sumie rzadko pisze, ale klasa czysto abstrakcyjna jest chyba taka klasa, ktora nie ma zadnej NIEabstrakcyjnej metody/zmiennej. Tzn. jesli masz klase, ktora ma same abstrakcyjne (wirtualne) zmienne i metody, to jest ona klasa 'czysto abstrakcyjna'. Jesli choc jedna z nich jest zaimplementowana, to jest to juz tylko klasa 'abstrakcyjna'.

2. Odwiklanie stosu to okreslenie 'czyszczenia' stosu do stanu przed wejsciem do bloku try/catch, w wypadku gdy rzucany jest wyjatek. Przed wejsciem do niego stos ma jakis stan 'X'. W bloku try dodawane sa do niego jakies zmienne, obiekty itp. Kiedy zostanie rzucony wyjatek, nalezy przywrocic stan 'X' - to wlasnie jest nazywane czasem 'odwiklaniem stosu'.

28.05.2008 20:46
Tomal_P
402
odpowiedz
Tomal_P
100
Legend

Mógłby ktoś nową cześć założyć :D

28.05.2008 21:26
slowik
😊
403
odpowiedz
slowik
124
NightInGale

klasa czysto abstrakcyjna = klasa virtualna tj klasa ktora nie ma zaimplementowanych metod i ma wylacznie metody wirtualne

28.05.2008 21:28
Regis
😜
404
odpowiedz
Regis
133

Tomal --> Jakas nawet chyba byla, ale ludzie ja przeoczyli i dalej pisali w starej ;D

29.05.2008 12:10
slowik
😃
405
odpowiedz
slowik
124
NightInGale

w sumie watek juz ma 2.5 roku ^^

02.06.2008 12:20
406
odpowiedz
Qbaa
113
Senator

Może uderzam z grubej rury, ale chcę spróbować.
Znalazłem fajny program do m. in. do resetowania haseł w Windowsie, ale mnie najbardziej interesuje możliwość edycji rejestru Windowsa, bezpośrednio na plikach "system", "software" i innych. Niestety edycja jest tylko interaktywna, a ja potrzebuję zautomatyzować to w linuxowym skrypcie. Ma ktoś doświadczenie w przerabianiu programów? Mógłby ktoś zajrzeć w źródła i chociaż dać porady jak to zrobić? Języka C za bardzo nie znam, więc przyjmę każdą pomoc i najmniejszą wskazówkę :)
Potrzebuję chociaż wyświetlania zawartości kluczy i wartości oraz zastępowanie wartości.
http://home.eunet.no/pnordahl/ntpasswd/editor.html

03.06.2008 01:50
407
odpowiedz
zanonimizowany377077
45
Legend

Jak usunąć pierwszy znak stringu? [C]

08.06.2008 15:45
Raynor
😊
408
odpowiedz
Raynor
85
Big Man
Image

Witam,

Może mi ktoś pomóc z asemblerowym problemem? :)

Męczę się już dłuższy czas z tym. Ktoś mógłby mi powiedzieć, jak wypisać na ekran zawartość DS powiedzmy pierwszych 10 pól w systemie szesnastkowym?

Ładnie proszę... :)

09.06.2008 02:38
slowik
👍
409
odpowiedz
slowik
124
NightInGale

Raynor===>to nie zawartosc DS ... to jest zawartosc pamieci adresowana przez ten rejestr ...

wypisywac mozesz za pomoca funkcji bios i dos o ile masz dostep do dos to :
http://www.uv.tietgen.dk/staff/mlha/PC/Prog/asm/int/21/09.htm

ewentualnie:
http://www.uv.tietgen.dk/staff/mlha/PC/Prog/asm/int/21/02.htm

wierz mi nie chcesz sie dobijac do uslug systemowych do wypisywania w windows ... ;)

17.06.2008 18:23
410
odpowiedz
zanonimizowany560087
1
Junior

suma na przekatnych w macierzy nxn .....rozwiazanie w wersji obiektowej i podstawowej Pomoże ktoś mam to na zaliczenie !!!

17.06.2008 18:25
Regis
411
odpowiedz
Regis
133

A z czym konkretnie masz problem?
Bo jak szukasz frajera, ktory to za ciebie napisze, to od razu mozesz sam sie za to zabrac, bo takiej 'pomocy' tu nie otrzymasz.

17.06.2008 18:25
412
odpowiedz
zanonimizowany560087
1
Junior

prosze o pomoc !! dla mnie to czarna magia :(

17.06.2008 19:08
slowik
😊
413
odpowiedz
slowik
124
NightInGale

Regis===>zalorzysz moze nowy watek ? ;-)

dragon===>w przypadku gdybys mial problemy z niedzialajacym rozwiazaniem wtedy mozemy pomoc w tej chwili wiecej google Ci pomoze

29.06.2008 22:22
414
odpowiedz
lo0ol
102
Jónior

haj ... w celu edycji wartości znajdujących się pod konkretnymi adresami napisałem takie coś:

int *wsk1a;
wsk1a = reinterpret_cast<int *>(5116250);
int *wsk1b;
wsk1b = reinterpret_cast<int *>(5116251);
int *wsk1c;
wsk1c = reinterpret_cast<int *>(5116252);
int *wsk1d;
wsk1d = reinterpret_cast<int *>(5116253);
int *wsk1e;
wsk1e = reinterpret_cast<int *>(5116254);
int *wsk1f;
wsk1f = reinterpret_cast<int *>(5116255);

*wsk1a = 144;
*wsk1b = 144;
*wsk1c = 144;
*wsk1d = 144;
*wsk1e = 144;
*wsk1f = 144;

Niestety program crashuje przy uruchomieniu. Jaka jest metoda edycji wartości (hexów) znajdujących się pod poszczególnymi adresami z poziomu programu?

Na przykładzie jeżeli chcę edytować wartość pod adresem 0x4E115A (5116250) na 90 (hex)?

29.06.2008 23:23
slowik
415
odpowiedz
slowik
124
NightInGale

heh zabierasz sie za cracking w taki sposob ? nie da rady ;-) poczytaj troche o modelu pamieci w windows

30.06.2008 13:57
416
odpowiedz
lo0ol
102
Jónior

Zależało mi raczej na zrobieniu cheata do gry, który po double clicku zmieni te wartości. Bez tego za każdym razem gdy chcę mieć coś ułatwionego, muszę odpalać hex edita. ;p

06.07.2008 14:25
417
odpowiedz
zanonimizowany377077
45
Legend

Może ktoś jest zainteresowany: http://allegro.pl/show_item.php?item=395609300

07.07.2008 14:40
418
odpowiedz
Qbaa
113
Senator

problem z C, proszę o komentarz / pomoc
http://pastebin.com/m5d060d10
jest to wycinek kodu, z doklejoną biblioteką strlcpy, z dołączaną poprzez include dzieje się to samo. dokleiłem, żebyście mieli łatwiej.

kompiluję gcc, pod cygwinem.
podawany argument, np:
./dobry.exe klucz\\cdklucza\\wartosc
lub
./dobry.exe "klucz\cdklucza\wartosc"

w takiej postaci, jak na pastebin, działa dobrze, ale gdy usunę deklarację int i; wtedy program się wywala, chyba przy strlcpy.
zmiennej i nigdzie nie wykorzystuję, więc co ona ma do tego? ktoś wie o co chodzi?
gdy wykorzystuję strncpy, dzieje się to samo. dodatkowo strncpy, na koniec stringu dodaje losowy znak/znaki...
chyba jeszcze do końca nie rozumiem stringów w C i wskaźników :(

może ktoś zna inny sposób na wyciągnięcie ze ścieżki, części bez nazwy pliku (wartości) i możliwie bez backslasha. samą nazwę po długich bojach i przy odrobinie szczęście udało mi się wyciągnąć, ale jak ktoś zna lepszy sposób, to też o niego proszę.

07.07.2008 14:51
419
odpowiedz
Qbaa
113
Senator

PATRZ TUTAJ :)
edit się skończył...

http://pastebin.com/m29462cee

tutaj w bardziej interesującym mnie środowisku.
znowu wywalanie, najprawdopodobniej przy strlcpy, dodawanie zmiennych nie pomaga ;)
jakby się komuś chciało rzucić okiem.

./test.exe -d klucz\\cdklucza\\wartosc

26.08.2008 00:08
QrKo_
420
odpowiedz
QrKo_
69

Watek coprawda obszerny, ale pozwole sobie upnac bo nie bede co chwile zakladal watkow jak czegos nie bede wiedzial :)

Mam nastepujacy programik ( http://qrko.neostrada.pl/test16.txt ). W wersji obecnej dziala on w 99% tak jak powinien, mianowicie kopiuje co druga literke z tablicy ktora pierw uzupelniamy do tablicy docelowej.

Ten 1% ktory mi tutaj nie pasuje to problem z funkcja copy - na poczatku (czyli zanim uzylem warunku else) robila to tak ze w tablicy docelowej byly naprzemiennie litera1>spacja>litera3>spacja>litera5>... Chcac uzyskac efekt ciagu liter bez spacji probowalem do warunku else podstawiac rozne smieszne rzeczy, w koncu trafilem na alarm, ktory odziwo pomogl ale teraz mam glupie pikanie... Co zrobic zeby uzyskac ciag liter bez spacji?

PS. Czy takie czyszczenie tablic za pomoca petli for jakiego uzylem jest poprawne? Bo jak zdefiniuje puste tablice to wywalala mi tam jakies krzaczki.

26.08.2008 08:14
Regis
421
odpowiedz
Regis
133

Rozumiem, ze tego "litera1>spacja>litera3>spacja>litera5>" chcesz zrobic "litera1>litera3>litera5>"? Jesli tak, to przeczytaj uwaznie kod, najlepiej podstawiajac sobie za rozmiar tablicy np. 10 i sprawdz jak ten kod dziala (zakladam, ze wiesz co robisz nie dajac w petli for zadnego konkretnego warunku!).

Zaczynamy od 0:
Zero jest parzyste, wiec operacja %2 zwroci 0 i wykona sie odpowiedni kod. Kod przypisze pod indeks 0 tablicy docelowej zawartosc indeksu 0 z tablicy zrodlowej.

Idziemy dalej - 1:
Nie dzieli sie %2, omijamy ją.

Idziemy dalej - 2:
Dwa jest parzyste, wiec operacja %2 zwroci 0 i wykona sie odpowiedni kod. Kod przypisze pod indeks 2 tablicy docelowej zawartosc indeksu 2 z tablicy zrodlowej.

itd.

Widzisz juz? Wykonujesz operacje TYLKO na parzystych indeksach, a nieparzyste zostaja bez zmian. Jedziesz po dwoch tablicach i kopiujesz wartosci na odpowiadajace sobie pozycje - to chyba nie to, o co Ci chodzi. Powinienes inkrementowac licznik tablicy docelowej tylko wtedy, kiedy zapisales cos do niej, a nie przy kazdym kroku. Utworz sobie drugi licznik (j), ktory tez startuje od zera i zwiekszaj go tylko, jesli zapiszesz cos do tablicy docelowej. Tak na szybko:

int k = 0;
int j = k;

for( k; ;k++)

if(zrodlo[k] != 0)

if(k%2 == 0)

cel[j] = zrodlo[k];
j++;


else ‹break;›

Zamienilem Twoje 'i' na 'k', bo gol nie pozwala na zapisanie 'i' w nawiasach kwadratowych ;P

Oczywiscie w takiej sytuacji druga tablica musi byc odpowiednio mniejsza, bo zostanie w niej sporo wolnego miejsca na koncu - dokladnie tyle ile bylo spaji w tablicy zrodlowej.

26.08.2008 13:00
QrKo_
422
odpowiedz
QrKo_
69

No wlasnie sie dowiedzialem wczoraj w nocy od lo0ol-a ze lepiej zrobic to na 2 zmiennych, moje rozwiazanie nie bylo do konca idealne, ale myslalem ze moze jest jakis trik ktory spowoduje ze do nieparzystych przypisze sie jakies cos, co nie bedzie ani spacja ani zadnym znakiem, zwyklym pustym miejscem, wiec wtedy szlo by tylko do warunku else podstawic to cos i dzialac na jednej zmiennej.

Tak czy siak dzieki wielkie za pomoc :)

29.08.2008 01:03
nagytow
423
odpowiedz
nagytow
146
Firestarter

Ojoj, dawno ty nie zagladalem, a widze, ze ciekawe tematy sa poruszane.

Coz, tym razem to i ja po prosbie, a raczej dwoch :)

1. Zostalem poproszony o polecenie ksiazki do nauki programowania obiektowego. Tak mysle, ze nie warto proponowac nic o konkretnym jezyku, ale cos z bardziej ogolnym podejsciem do tematu. Chodzi o to, aby zrozumiec pojecia i idee: co, jak, dlaczego wlasnie tak a nie inaczej itp. W taki sposob sam bylem uczony na studiach i chwale sobie to podejscie do tematu. Mialem kiedys taka ksiazke, ale byla dosc ciezka i odlozylem ja dosc szybko. Moze ktos zna jakas pozycje godna polecenia?
Aha, osoba ta zna tylko C i Pascala, wiec obiekty to zupelna nowosc.

2. Tym razem cos dla mnie. Java nigdy mi nie podchodzila, ale jakos mnie ostatnio naszlo na sprobowanie. Przydalby sie jakis tutorial, kurs, ksiazka. Moze ktos cos polecic? Interesuje mnie zwlaszcza pisanie na komorki, ale na poczatek wszystko sie nada, byle dobre :)

29.08.2008 09:34
Regis
424
odpowiedz
Regis
133

1. A ja akurat nie polecam takiego 'akademickiego' podejscia dla osoby, ktora chce poznac OOP. Doradzal bym raczej wybranie jakiegos jezyka o wzglednie 'slusznym' podejsciu do obiektowosci (PHPi Python odpadaja) - np. Ruby, Jave, C# - i nauke tego wlasnie jezyka, bo najlepiej uczyc sie na przykladach (kiedys mialem w rekach taka 'ogolna' ksiazke [duza i niebieska ;P ] i byla niesamowicie nudna, maksymalnie niekonkretna, ogolnikowa i pisala o OOP 'teoretycznym', czesto oderwanym od tego co mozna znalezc w nowoczesnych jezykach). A wiedze teoretyczna mozna sobie wziac z Wikipedii.

2. Najnowszy (choc glowy nie dam, bo nie patrzylem na to z jakiego jest miesiaca) Software Developer's Journal jest poswiecony temu zagadnieniu. Tzn. nie w calosci, ale widzialem tam jakis calkiem spory artykul o tym jak napisac gre od podstaw :) Cena gazetki to 25zł, ale naprawde warto, bo maja tam teksty na poziomie.

29.08.2008 22:07
slowik
425
odpowiedz
slowik
124
NightInGale

Regis===>a co takiego be jest w python zeby go odrzucic ? :> dodatkowo jezyki ktore podales sa koszmarkami rozumiem zebys podal takiego smalltalk'a
podstawy obiektowosci to tylko kilka kartek a reszta to juz dana konstrukcja jezyka co bylo na reszcie opisanego ? ;)

hymm co jaki czas wychodzi ta gazetka ? w sumie musze zajrzec do firmowej biblioteczki tam moze bedzie ...

nagytow===>ble a fu java ? lepiej sprubuj .net i c#

29.08.2008 22:18
Regis
426
odpowiedz
Regis
133

slowik --> 'Udawana' obiektowosc, ze tak to troche 'na wyrost' okresle. Chocby brak okreslania rodzaju dostepu do zmiennych (brak zmiennych prywatnych/publicznych itp.). Znalazlo by sie jeszcze pare takich 'drobnych' rzeczy.

A jezykow, ktore podalem, nie podalem dlatego, ze sa w jakis nadzwyczajny sposob zgodne z 'teoria obiektowosci', ale dlatego, ze sa obecnie najpopularniejszymi W PELNI obiektowymi jezykami - tzn. wszystko jest obiektem i wywodzi sie z jednej klasy. No a przede wszystkim sa jezykami nowoczesnymi, a jak sie czegos uczyc, to chyba tak, zeby sie to przydalo ;)

SDJ jest chyba miesiecznikiem.

29.08.2008 22:53
nagytow
427
odpowiedz
nagytow
146
Firestarter

Regis -->

1. Chyba o tej samej ksiazce myslimy :) Fakt, byla mocno 'niefajna', jednak co innego zwykle czytanie, a co innego gdy wykladowca opowiada o temacie i robi to w sposob ciekawy i przystepny. Podobalo mi sie wlasnie 'uwolnienie od skladni', jesli bylo trzeba, to sie wymyslalo swoj jezyk o odpowiedniej skladni i semantyce. Eh studia... :)
Skoro jednak nie wymyslisz nic ogolnego, to moze zaproponujesz cos bardziej konkretnego, np C#?

2. O ciekawa rzecz, akurat sie zgralo czasowo :) Chociaz, pewnie nie obejdzie sie bez kursu 'normalnej' Javy, jak na razie wszystko co widzialem o programowaniu na komorki opiera sie o roznice komputer-komorka.

slowik -->

Genialne! Calkiem zapomnialem o smalltalku, w sumie nic lepszego chyba nie wymysle w tym temacie. Do dzis pamietam Squeaka i tego kota sledzacego kursor ;)

A ble, a fu, a jednak Java. Tez nigdy nie lubilem. Ale jak pisalem wyzej, chodzi mi o zabawe z komorkami. C# sie bawilem troche jakis czas temu, calkiem przyjemny jezyk. Moze kiedys wroce... :)

A i jeszcze jedno:
sprubuj ?!?!

30.08.2008 20:14
slowik
😊
428
odpowiedz
slowik
124
NightInGale

Regis===> jak najbardziej sa argumenty prywatne w python :) nie kpij sobie java jest orient object nie op i to jest stary mamut dziwne ze jeszcze nie wymarly no i na koniec python sie przydaje jak najbardziej :)

nagytow ===>tak tak :P spytaj Regis'a o 'urzytkownikow' ;)

31.08.2008 14:58
Regis
429
odpowiedz
Regis
133

slowik --> Kiedy uczylem sie pythona jedynym sposobem na uzyskanie 'niby' zmiennych prywatnych bylo poprzedzanie ich dwoma podkresleniami. Cos sie w tej kwestii zmienilo? :)

31.08.2008 22:13
slowik
😊
430
odpowiedz
slowik
124
NightInGale

Regis===>nic a nic sie nie zmienilo :) rozumiem ze dla Ciebie programowanie obiektowe to przedewszyskim enkapsulacja ? :) za duzo java ....

01.09.2008 18:20
Regis
😊
431
odpowiedz
Regis
133

Chronienie kodu przed uzyszkodnikami (czyt: innymi programistami; opcjonalnie - przed bledami projektowymi) jest dla mnie integralna i niezbedna czescia idei OOP ;) Z reszta - to jeden z czterech 'filarow' OOP, wiec nie uwazam, zeby moje wymagania byly jakas szczegolna 'fanaberia' :P

Nie zmienia to faktu, ze Python jest jednym z moich ulubionych jezykow :)

01.09.2008 22:14
slowik
😊
432
odpowiedz
slowik
124
NightInGale

Regis===>narazie sobie pisze i pisze w ty python'ie (pracuje w grono.net jesli jeszcze o tym nie pisalem ...) i nie zaobserwowalem zadnej potrzeby uzycia enkapsulacji a danego delikwenta zawsze mozna zjechac na podstawie systemu wersji ;-)

03.09.2008 14:34
QrKo_
433
odpowiedz
QrKo_
69

...
string liscik;

fstream plik;
plik.open("plik.txt");
plik >> liscik;
...

Jak zrobic zeby wczytywalo caly plik, a nie tylko pierwszy wyraz do najblizszej spacji?

caly kod - http://www.qrko.neostrada.pl/main.cpp

04.09.2008 14:53
434
odpowiedz
zanonimizowany32221
55
Pretorianin

witam, jako bardzo poczatkujacy programista dostalem za zadanie napisac program obliczajacy pierwiastki wielomianu 2 stopniaz wykorzystaniem klas ale cos mi nie wyszlo :) czy moglby mnie ktos oswiecic co takiego robie zle?


#include <iostream.h>
#include <conio.h>
#include <math.h>

using namespace std;

class wielomian ‹
private:
float a,b,c,delta,x1,x2,x;
public:
float obliczdelte(wielomian a,b,c);



float obliczdelte(wielomian a,b,c) ‹
return delta=(b*b)-(4(a*c))
›;

›;

float pierwiastek(wielomian delta,a,b,x,x1,x2)‹
if (delta>0)‹
return
x1=(-b)+(sqrt(delta))/2*a;
x2=(-b)-(sqrt(delta))/2*a;
cout<<<<"x1="x1<<"x2="x2;

else if (delta=0)‹
return x=-b/2*a;
cout<<"x="<<x;

else if (delta<0) ‹ cout<<"nie ma pierwiastkow"<<endl; ›
›;

int main()

cout<<"podaj a"<<endl;
cin>>a;
cout<<"podaj b"<<endl;
cin>>b;
cout<<"podaj c"<<endl;
cin>>c;
obliczdelte(wielomian a,b,c);
pierwiastek(wielomian delta,a,b,x,x1,x2)

04.09.2008 15:53
QrKo_
😊
435
odpowiedz
QrKo_
69

Nie przerabailem Twojego, bo na tyle "pro" nie jestem, ale przerobilem jeden z moich peirwszych programow na to by zawieral klasy:

http://www.qrko.neostrada.pl/111.cpp

Mozesz go wykorzystac jezeli Ci to pomoze :)

04.09.2008 15:55
436
odpowiedz
ronn
121
Legend

znacie jakies alternatywne biblioteki "dzwieku" do javy?

standardowe zawieraja statyczne klasy wewnetrzne, czego musze sie pozbyc.. :/

np, interfejs 'line' i wszystkie po nim dziedziczące zawiera Line.Info..

06.09.2008 21:28
437
odpowiedz
lo0ol
102
Jónior

Napisałem taki program z nadzieją, że kiedyś wyjdzie mi z niego baza danych - dziennik szkolny. Mam takie pytania:

1.Co zrobić żeby pokazywało się imię takie jak się podaje do konstruktora, a nie śmietnik? (dodatkowo jeszcze na początku nazwiska dodaje mi cudzysłów)

2. Co zrobić aby w tej funkcji:
void uczen::WpiszOcena(int sem, int kon) ‹
programowanie.semestralna = sem;
programowanie.koncowa = kon;

móc wpisać nazwę przedmiotu jako parametr (np. WpiszOcena(programowanie, 3, 4);) i oceny właśnie z tego przedmiotu były uzupełniane w obiekcie?

3.Może podsuniecie mi jakąś inną strukturę składającą się na dziennik? xd

____________________________________________________________________
#include <iostream>
#include <stdlib.h>

using namespace std;

class ocena ‹
public :
int semestralna;
int koncowa;
›;

class uczen ‹
public :
char imie[20];
char nazwisko[20];
char klasa[5];
ocena programowanie;

uczen(char *imi, char *naz, char *kla);
void WpiszOcena(int sem, int kon);
void uczen::Wypisz();
›;

uczen::uczen(char *imi, char *naz, char *kla) ‹
strcpy(imie, (imi ? imie : "brak"));
strcpy(nazwisko, (naz ? naz : "brak"));
strcpy(klasa, (kla ? kla : "brak"));

void uczen::WpiszOcena(int sem, int kon) ‹
programowanie.semestralna = sem;
programowanie.koncowa = kon;

void uczen::Wypisz() ‹
cout << "Uczen: " << imie << nazwisko << endl;
cout << "Klasa: " << klasa << endl;
cout << "Ocena semestralna: " << programowanie.semestralna << endl;
cout << "Ocena koncowa: " << programowanie.koncowa << endl;
›;

int main() ‹

uczen pierwszy("Marek", "Zatorski", "3i");
pierwszy.WpiszOcena(5,6);
pierwszy.Wypisz();



system("PAUSE>null");
return 0;
›;

06.09.2008 21:52
438
odpowiedz
lo0ol
102
Jónior
06.09.2008 23:15
439
odpowiedz
zanonimizowany112510
45
Generał

1. Użyj std::string.
2. Oceny możesz przechowywać w std::map<std::string przedmiot, ocena oceny>. Wtedy wystarczy przesłać do funkcji dodatkowy argument.

06.09.2008 23:34
440
odpowiedz
lo0ol
102
Jónior

A w jaki sposób stworzyć konstruktor na string? Funkcja strcpy nie obsługuje tego. Czy jest jakaś inna?

07.09.2008 14:08
441
odpowiedz
lo0ol
102
Jónior

Dalej mi brakuje pomysłu na to jak:

1.Stworzyć konstruktor dla string
2.Wykorzystywania map do wpisywania ocen cząstkowych i końcowych przez funkcję
3.Jak skonstruować klasy z wykorzystaniem map

07.09.2008 15:09
442
odpowiedz
zanonimizowany112510
45
Generał

Ja mniej więcej tak to widzę:

class Ocena

...

class Uczen

public:
Uczen( std::string imie, std::string klasa )

m_Imie = imie;
m_Klasa = klasa;

void WpiszOcene( std::string przedmiot, Ocena ocena )

m_Oceny[przedmiot] = ocena;

private:
std::string m_Imie;
std::string m_Klasa;
std::map<std::string, Ocena> m_Oceny;

// reszta
›;

A tak w ogóle to powinieneś zacząć od opisu std::string i std::map w dokumentacji, zamiast pytać się jak się tych klas używa.

08.09.2008 23:04
👍
443
odpowiedz
zanonimizowany32221
55
Pretorianin

dzieki qrko, troszke mi sie rozjasnilo :)

13.09.2008 14:20
444
odpowiedz
lo0ol
102
Jónior

Zorganizowałem sobie praktyki w firmie zajmującej się programowaniem. Boss powiedział mi, że nie szukają osób nie mających o tym pojęcia i przed przyjęciem chciałby zweryfikować umiejętności programowania w Delphi i połączenia tego z bazami danych.

Może macie jakieś strony/e-booki lub też materialne książki godne polecenia na ten temat?

13.09.2008 22:54
slowik
445
odpowiedz
slowik
124
NightInGale

oj ciezko bedzie z czyms do delphi jednak wszystkiego na googlach powinienees sie dowiedziec pozniej bedziesz skazany glownie na nie

15.09.2008 14:06
446
odpowiedz
ronn
121
Legend

jak sprawić, abym przez zwykłe polecenie import mógł dodać klasy spakowane w *.jar do programu w najprostszy sposób. nie mogę modyfikować parametru classpath z pewnego powodu, również nie mogę korzystać z eclipse/netbeans. podobno wystarczy wrzucic do sdk/jre/lib/ext ale nie działa..

mam :

jlibrtp.jar
audio.jar

w środku bez żadnych katalogów kilkanaście plików *.java. pakiety to jlibrtp i audio. wdzięczny bym był bardzo, bo czas ucieka :(

java OFC :)

16.09.2008 10:50
447
odpowiedz
zanonimizowany218651
61
Generał

zaczalem sie ostatnio od nowa uczyc c++.
Postanowilem zaczac od malego treningu. Generator kostek, z logiem i prostym switchowym interfejsem.
Jako srand zainicjowalem funkcje time(), ale zauwazylem ze nie mozna nazwac tego losowym bo dziala to tak ze np. na k100 co 2 sekundy wlaczam program wychodzi 12,23,35,47,62 i tak dalej, po kolei, trudno to nazwac jakakolwiek losowoscia. Czy jest jakis lepszy sposob, w aplikacji DOS.

16.09.2008 19:04
Haron
448
odpowiedz
Haron
40
the boatman

witam
pisze program dla mikroprocesora AVR, ale w C. mam kilka problemów.

1. obieram po rsie kod znaku zapisany heksadecymalnie. jak zamienić to na dziesiętny?
2. wymyśliłem sobie, ze jak zamienię już tą liczbę, to jej wartość w kodzie decymalnym ma wskazać mi numer elementu w tablicy ze znakami. np. liczba 80 w dziesiętnym, ma odwoływać się do 80-tego elementu tablicy znaków, gdzie znajduje się litera "P". jak stworzyć taka tablice?

16.09.2008 19:24
slowik
449
odpowiedz
slowik
124
NightInGale

Hawkman===>nie dos a konsolowa aplikacja generatory liczb losowych to dosc powazne zagadnienie nad ktorym siedzi wielu profesorow ;) w praktyce zmieniaj ziarno czesciej uzywaj duzej rozdzielczosci losowanych liczb ewentualnie uzyj algorytmu do generowania liczb losowych

Haron===>
ad 1. yy ? wszystko jest hex'em (tzn pochodna systemu dwojkowego) w cyfrowej elektronice wiec nie za bardzo rozumiem chyba ze na ekraz nie chcesz wypisywac wartosci hex a dziesietnie :) chyba ze ten hex jest w jakis sposob kodowany

ad 2. odezwij sie na maila mam przyjemnego pdf'a do avr'ow co prawda atmel (moze sam na to piszesz :) ) ale sie przyda ;) dodatkowo jaka tablica ? na ukladzie ?

16.09.2008 19:36
kali93
450
odpowiedz
kali93
186
Isildur

Potrzebuje by ktoś mi polecił jakiś kurs dla kompletnego laika w np.C++. Najlepiej poproszę żeby to była książka, nie chcę kursów internetowych do wydania mam maks 130zł. Dziękuje!

16.09.2008 19:47
Haron
451
odpowiedz
Haron
40
the boatman

slowik-> spoko już mam. chwile zaćmienie spowodowane natłokiem pracy. :)

16.09.2008 20:30
slowik
😊
452
odpowiedz
slowik
124
NightInGale

kali93===>co sie tak zaparles z tym c++ ? polecam cos przyjemniejszego jak python

Haron===>zazwyczaj tak bywa ze wypowiedzenie jakiegos pytania pomaga odnalezc na nie odpowiedz :)

23.09.2008 20:32
Mipari
453
odpowiedz
Mipari
55
Senator

Jak skompilować program w Pythonie za pomocą py2exe??

23.09.2008 20:35
Regis
454
odpowiedz
Regis
133
23.09.2008 20:41
Mipari
455
odpowiedz
Mipari
55
Senator

Ano wystarcza ;) Nie wiem czemu tego nie znalazłem.

23.09.2008 21:04
Regis
😜
456
odpowiedz
Regis
133

Tez nie wiem, szczegolnie ze wystarczylo wpisac w google 'py2exe' i podana strona byla na dwoch pierwszych miejscach ;P

23.09.2008 21:35
Mipari
😊
457
odpowiedz
Mipari
55
Senator

Pewnie szukałem tylko na polskich :P ale mniejsza o to - już sobie poradziłem.

BTW. Może by tak nową część założyć ?

24.09.2008 19:31
master53
458
odpowiedz
master53
100
Legend

Próbuję coś wykombinować, ale niestety nic sensownego nie przychodzi mi do głowy, więc zwracam się z prośbą do Was. Problem polega na tym, że potrzebuję zmiennej ilości liczb do wczytania przez scanf. Przykładowo, zmienna decydująca o ilości liczb do wczytania, obrała wartość 3, więc potrzebuję scanf("%d %d %d", t[0], t[1], t[2]). Ale jeśli program będzie musiał pobrać tylko 2 liczby, wtedy będę potrzebował scanf("%d %d", t[0], t[1]). Tutaj pytanie - w jaki sposób mogę uczynić scanf uniwersalnym, aby mógł wczytywać zmienną ilość liczb? Pętla wczytująca po jednej liczbie odpada, gdyż dane muszą być wczytane w jednej linii, np. 5 1 2 9 lub 2 3 lub 4 5 9 itd. Z góry dziękuję za pomoc.

24.09.2008 19:42
Regis
459
odpowiedz
Regis
133

Pętla wczytująca po jednej liczbie odpada, gdyż dane muszą być wczytane w jednej linii

Nie widze zwiazku... Po prostu robisz cin lub scanf dopoki nie trafisz na koniec pliku.

24.09.2008 19:54
master53
460
odpowiedz
master53
100
Legend

Chodzi mi o to, że np. na wejściu w pierwszej linii podana jest liczba 3, więc w drugiej linii program ma wczytać 3 cyfry oddzielone spacją. Nie może to być wprowadzone tak, że wpisuję pierwszą cyfrę, enter, potem drugą, enter itd. Muszą być wpisane wszystkie na raz i dopiero wtedy mają być wczytane.

24.09.2008 20:51
Regis
😊
461
odpowiedz
Regis
133

Czyli znasz ilosc liczb jaka masz wczytac? No to ja tym bardziej nie widze problemu - robisz petle i w tej petli robisz po jednym cin'ie albo scanf'ie... Dlaczego takie rozwiazanie mialo by byc zle? Takie wczytywanie danych (dany X, a potem X kolejnych wartosci) jest typowym sposobem przekazywania danych do programow na wszelkich zawodach programistycznych i jeszcze nie widzialem, zeby ktos pobieral takie dane inaczej niz w takiej wlasnie petli...

24.09.2008 21:47
master53
👍
462
odpowiedz
master53
100
Legend

O rany, ale głupawka. Rzeczywiście taka pętla sprawuje się idealnie, a ja już robiłem jakieś kombinacje alpejskie. Dzięki Regis ;)

30.09.2008 17:05
nagytow
463
odpowiedz
nagytow
146
Firestarter

Pytanie bardziej ogolne. Zalozmy taka sytuacje:

Mam zestaw danych (string, int, bool). Jest ich okreslona liczba. Przykladowo

|ala|5|3|true|kot|ala ma kota|-14|0|

Do kazdej z tych warotsci mam swobodny dostep. Chce przeslac te dane gdzies (np jako argument do funkcji). Sa dwa ograniczenia: dane moge wyslac tylko raz i jednorazowo moge przesylac tylko jedna zmienna. Najprosciej wiec byloby skonkatenowac wszystkie wartosci do jednego stringa i potem cel je sobie podzieli po kreskach. Ale takie rozwiazanie jest 'brzydkie'. Dane trzeba w jakis sposob skompresowac. Nie jest wazny stopien zabezpieczen, klucze, ani zadne inne kwestie bezpieczenstwa. Celem jest jak najkrotszy wyjsciowy lancuch znakow.

Czyli przechodzac do konkretow: potrzebuje algorytmu kompresji danych (tekstu), ktory generuje jak najkrotszy ciag wyjsciowy. Pomijamy calkowicie kwestie bezpieczenstwa.

Jest mozliwe uzyskanie ciagu krotszego niz ciag wejsciowy?

Ehh kryptografie mialem ze 100 lat temu i niemal wszystko juz wylecialo z glowy. Teraz wychodzi, ze trzeba bylo sie przykladac ;)

30.09.2008 18:08
Regis
464
odpowiedz
Regis
133

Kryptografia i szyfrowanie nigdy nie byly moim konikiem, ale wszystkie algorytmy kompresji bezstratnej robia to, czego potrzebujesz. Pytanie tylko, czy jest sens 'zaprzegac' do Twojego problemu algorytmy takie jak LZ* (np. LZ77), czy nawet zwykle kodowanie Huffmana, jesli kodowane ciagi sa wzglednie krotki (a co za tym idzie - nie istniaje w nich zbyt wiele 'powtarzajacych sie' fragmentow, ktore mozna 'skrocic').

20.10.2008 12:43
465
odpowiedz
zanonimizowany377077
45
Legend

Mógłby ktoś w prosty i przystępny sposób wytłumaczyć jak działa algorytm Hoare?

20.10.2008 22:46
466
odpowiedz
zanonimizowany377077
45
Legend

UP

20.10.2008 23:04
👍
467
odpowiedz
zanonimizowany327437
5
Centurion
03.11.2008 19:26
Regis
😊
468
odpowiedz
Regis
133

Potrzebuje pewnej dosc specyficznej rzeczy w C#. Otoz chcialbym miec mozliwosc prostego 'zarzadzania' obiektami graficznymi (nazwijmy je sprite'ami, bo nic innego nie przychodzi mi do glowy) na czyms w rodzaju plotna. Tzn chce miec mozliwosc latwego dodawania nowych elementow do plotna (kazdy ten element moze byc obrazkiem lub czyms co sam 'narysuje' za pomoca jakichs metod), przeciagania ich po tymze plotnie itp. Przyklad zastosowania (zupelnie z glowy, nie do tego jest mi to potrzebne). Laduje sobie obrazek tla dla tego plotna (o okreslonych wymiarach) - np. mape jakiegos terenu. Nastepnie w jakis sposob (klikajac na przyklad na jakis button z boku, a nastepnie w wybranym miejscu plotna) umieszczam tam obiekty-obrazki (np. schematy domow czy drzew), ktore moge potem latwo przemieszczac itp. Wszystko to chcialbym w postaci jakiegos zbioru klas, czy czegos w tym typie. Wazne jest to, zeby wrzucane obrazki dawaly sie latwo przesuwac itp - nie chce mi sie po prostu tworzyc od zera kodu do wykrywania klikniec, przesuwania ich itp ;P A moze jest cos takiego w C# 'standardowo'? Nigdy nie uzywalem takich rzeczy, a teraz sa mi bardzo potrzebne ;)

Czasu mam malo, wiec napisanie tego samemu odpada. Z reszta, nie lubie wywazac otwartych drzwi, a podejrzewam ze na bank ktos juz takie cos napisal ;)

04.11.2008 22:01
😊
469
odpowiedz
Chapacz
18
Chorąży

Mam problem z grą kółko i krzyżyk. Tutaj kod: http://dpaste.com/88743/
Mianowicie nie działa mi funkcja sprawdzająca czy miejsce jest wolne, przez co komputer losując miejsce może postawić znak na zajętym polu. Tak samo gracz. Mógłby ktoś spojrzeć?

PS. Tak wiem, że beznadziejnie napisane :)

05.11.2008 08:16
Regis
😊
470
odpowiedz
Regis
133

Najpierw deklaracja: "bool czyMiejsceWolne(int nNumerMiejsca);"
Potem warunek: "while (czyMiejsceWolne == false)"

Juz widzisz co jest nie tak?

05.11.2008 16:18
😉
471
odpowiedz
Chapacz
18
Chorąży

Niestety, ale nie widze :)

05.11.2008 16:28
👍
472
odpowiedz
zanonimizowany327437
5
Centurion

czyMiejsceWolne - jest funkcja która przyjmuje jakiś argument, w twoim przypadku liczbę całkowitą ze znakiem (int) nNumerMiejsca.
pisząc: "while (czyMiejsceWolne == false)" tak naprawdę nie wywołujesz tej funkcji ,a sprawdzasz wskaźnik (nazwa funkcji jest wskaźnikiem na nią). Jako ze wskaźnik czyMiejsceWolne nie jest równy NULL warunek w twojej pętli będzie zawsze fałszywy - prosto mówiąc nigdy nie wykona sie wnętrze pętli.
Aby działało tak jak chcesz musisz wywołać funkcje czyMiejsceWolne z jakimś parametrem np.
int c = 0;
while (czyMiejsceWolne(c) == false)

//coś tu sie robi;
c++;

05.11.2008 16:32
😉
473
odpowiedz
Chapacz
18
Chorąży

Zmieniłem warunek na if i działa, ale jednak wolałbym uniknąć funkcji goto.
http://rafb.net/p/2uMDJc13.html
Jest jeszcze drugi problem: Gdy wygrywa komputer to pisze "Remis" zamiast "Przegrałeś".

Chuck kNorris --> Przecież wywołuje funkcje z parametrem nRuch w funkcji ruchGracza() i z parametrem nWylosowaneMiejsce w funkcji ruchKomputera()

05.11.2008 16:44
😊
474
odpowiedz
Chapacz
18
Chorąży

Aha faktycznie. Już zauważyłem. We wcześniejszej wersji było bez parametru.
http://rafb.net/p/iY50fd38.html - Teraz działa dla komputera a nie działa dla gracza ;(

05.11.2008 16:52
😊
475
odpowiedz
Chapacz
18
Chorąży

Sorry za trzeci post pod rząd - chciałem tylko napisać że już wszystko działa ;)

09.11.2008 14:17
Arxel
😊
476
odpowiedz
Arxel
220
Kostka Rubika

Nie myśleliście o nowej części? ;-) Ta już trochę ma :-)

No, ale do rzeczy. Każdy z grupy dostał projekcik do zrobienia w C.
Moje zadanie brzmi:
zliczyć elementy dodatnie dwu lub trzycyfrowe, których suma cyfr jest nieparzysta ; elementy int do wczytania z klawiatury do uzyskania wartości >= koniec
Mam kilka pytań, bo nie wiem czy dobrze zadanie rozumiem:
zliczyć elementy, czyli zliczyć ilość tych liczb, które spełniają warunki, tak?
np. podając 56, 76, 345, 78, wynikiem będzie 3?

Aktualny kod:

http://pastebin.com/f2d9864d6

Zacząłem niedawno pisać, nie jest jeszcze dokończony, sporo mu brakuje, ale mam dwa pytanka:
Jak szybko sprawdzić czy podana liczba (suma cyfr) jest nieparzysta?
Jak zliczyć te elementy/zliczać je na bieżąco?

Czy po:

printf("Podaj liczbe = ");
scanf("%d",&liczba);

wystarczy dać i++;
By później odwołać się do samego i, jako ilości elementów?
Z drugiej strony to zliczy ilość wszystkich podanych elementów, a nie tylko tych spełniających warunki... Any idea?

Piszę w Dev-ie, ale mam dostęp do środowiska linuxowego (vi), lecz z uwagi na szybszą obsługę, posługuje się w tym momencie Dev-em :P.

09.11.2008 14:40
Mipari
👍
477
odpowiedz
Mipari
55
Senator

1. Program liczący sume cyfr liczby: http://pastebin.com/m37e662f2
Suma cyfr jest nieparzysta kiedy przy dzieleniu modulo przez 2 daje reszte 1.

2. W zadaniu masz elementy dodatnie dwu lub trzycyfrowe, a w programie pozwalasz na zliczanie jednocyfrowych. Powinno być if (!(liczba>10 || liczba<1000))

3. A tak wogóle to mnie się wydaje że to trochę inaczej powinno być zrobione: Wszystkie wpisane liczby powinny być zapisane do tablicy. Z tablicy program ma wybrać liczby zgodne z warunkiem i zliczyć je ;)

09.11.2008 14:56
Arxel
478
odpowiedz
Arxel
220
Kostka Rubika

Tablic nie przebieraliśmy, sam także nie zdążyłem się zagłębić :P

2. Racja, mój błąd
1. Dzięki, trochę zerknę, zobaczę jak tam to jest i naniosę poprawki do mojego programu :P

09.11.2008 20:50
Arxel
479
odpowiedz
Arxel
220
Kostka Rubika

No, skończyłem.
Szkoda tylko, że zamiast mi podpowiedzieć z tą sumą cyfr, podałeś gotowy skrypt, Mipari.

17.11.2008 15:25
jajko w imadle
480
odpowiedz
jajko w imadle
103
Generał

czy mógłby mi ktoś powiedzieć jak stworzyć program który policzy mi ile to jest 2^2592 lub podobne wielgachne rzeczy? wynik na oko będzie tak 600 cyfrowy... da się? ile czasu będzie to się liczyć?

17.11.2008 15:45
Arxel
481
odpowiedz
Arxel
220
Kostka Rubika

Piszę program kumplowi... Drugiemu już :P
Pierwszy był łatwiejszy, tym razem (też jest prosty :P) mam malutki problemik...

http://pastebin.com/mecd4d02

zliczyć elementy dodatnie i ujemne dwu lub trzycyfrowe, których liczba dziesiątek jest większa niż liczba jedności do uzyskania wartości >= koniec, ale nie więcej niż n składników

No więc wszystko cacy, zlicza elementy dodatnie i ujemnie 2 i 3 cyfrowe... Pomija inne... Odlicza ilość podanych składników, po czym zatrzymuje się i wyświetla ilość składników spełniających warunki. Tylko program nie chce się zatrzymać po podaniu liczby kończącej bądź większej...
Trochę się tam zapętliłem, i kurcze nie wiem co gdzie ruszyć...
Funkcji break nie braliśmy, ale musiałem ją dodać, bo inaczej zapętlało wyświetlenie wyniku...

Pomocy...

18.11.2008 01:05
482
odpowiedz
lo0ol
102
Jónior

Jak dotąd pisałem gry a la blackjack, wyścigi 2D itp. w visual basicu. W jakim innym języku, najłatwiej byłoby napisać tego typu gry celem wrzucenia jej na stronę internetową?

18.11.2008 17:16
Regis
483
odpowiedz
Regis
133

Az sie prosi o Flash. Albo o Flex'a od razu, jesli chcesz miec mozliwosc odpalenia tego 'ot tak' - normalnie, poza przegladarka

18.11.2008 18:45
Katane
484
odpowiedz
Katane
170
Useful_Idiot_

Ew. zabawy z Silverlight albo applet Javowy.

20.11.2008 15:03
😊
485
odpowiedz
Chapacz
18
Chorąży

Nieważne, problem rozwiązany ;)

20.11.2008 16:11
😉
486
odpowiedz
Chapacz
18
Chorąży
Image

Jednak jest problem :( Mam takie zadanie:
Utwórz macierz A o rozmiarze n*n. W zależności od wartości zmiennej c ma być to:
a) gdy c=0 - macierz o wszystkich elementach równych 0;
b) gdy c=1 - macierz o wszystkich elementach równych 1;
c) gdy c=2 - macierz jednostkowa,
d) dla innych wartości c - macierz wypełniona liczbami
pseudolosowymi.

Napisałem taki program:
http://rafb.net/p/M25JiP47.html
...ale nie działa tak jak powinien -->

Problem jest z podpunktem c. Czyli w programie case 2: nie tworzy mi macierzy jednostkowej....
Proszę o pomoc.

20.11.2008 16:31
Katane
487
odpowiedz
Katane
170
Useful_Idiot_

linia 47: j < n a nie j < n*n

i ogolnie tak we wszystkich przypadkach, dalej nie czytalem

20.11.2008 16:34
488
odpowiedz
Chapacz
18
Chorąży
Image

Wtedy wyświetla mi się tylko jeden wiersz -->
Tak czy inaczej wynik błędny.

[EDIT]
Dobra już wiem - trzeba tak jak mówisz, tylko miałem o jednego break'a za dużo ;)

02.12.2008 21:16
QrKo_
489
odpowiedz
QrKo_
69

Kurcze mam problem z przeciazeniem operatora +
http://dpaste.com/95473/

W domysle linijka
Samochod s4 = s3 + 1000;
powinna wykorzystac dane z s3, przebieg zwiekszyc o 1000 i wstawic do s4.

Any ideas?

11.12.2008 21:45
490
odpowiedz
zanonimizowany560752
43
Generał

Jak mogę wywołać program żeby czytał mi dane wejściowe z pliku tekstowego? (C++)

11.12.2008 22:19
domin12
491
odpowiedz
domin12
101
Run

siemka all:))
jaki jest najprostszy program do tego C++ bo chciałbym się zabrać do tego tylko nie wiem którego programu ozywać na początek;]

26.01.2009 17:02
492
odpowiedz
lo0ol
102
Jónior

Muszę dowiedzieć się czegoś o zapisie i odczycie plików w VB i C++ w związku z czym mam kilka pytań.

1.C++
ofstream baza;
baza.open ("BazaUczniow.txt", ios::app);
for(i=0;i<ilosc;i++)

baza << "-------------------------\n";
baza << "Imie: " << uczen.imie << "\n";
baza << "Nazwisko: " << uczen.nazwisko << "\n";
baza << "Klasa: " << uczen.klasa << "\n";
›;
baza.close();

Co może jeszcze znajdować sie w miejscu drugiego parametru funkcji open?
Czy powinienem coś więcej wiedzieć o zapisie?

void Odczytaj()‹
system("CLS");
char temp[256];
int a=0;
cout << "ZAWARTOSC BAZY DANYCH:\n";
ifstream baza;
baza.open("BazaUczniow.txt");
while(!baza.eof())‹
a++;
baza.getline(temp, sizeof(temp));
cout << temp << endl;
›;
baza.close();
system("PAUSE>>NUL");
›;

W jaki sposób użyć czegoś podobnego jak explode w php? Aby zapisać powiedzmy każda daną (przy oddzieleniu przecinkami) do innej zmiennej?

______________________________

2.VB

Open (App.Path & "\Data\" & "cfg1" & Form1.NrToru) For Output As #1

Print #1, txtUserName.Text & vbCrLf & Form1.LastMin.Caption & vbCrLf & Form1.LastSec.Caption
Close #1

Na czym polega dawanie tego #1 na końcu?

Open (App.Path & "\Data\" & "cfg1" & NrToru) For Input As #1

Dim LBNick, LBSec, LBmSec As String
Input #1, LBNick, LBSec, LBmSec

Form1.LBestLapNick.Caption = LBNick
Form1.LastMin.Caption = LBSec
Form1.LastSec.Caption = LBmSec
Close #1

Tak samo na czym polega te #1?
Po "Input #1" określamy nazwy zmiennych do których mają zostać zapisane kolejne linie pliku. A w jaki sposób zorganizować zapis danych oddzielonych separatorami takimi jak przecinek?

//// Jeżeli ktoś bedzie tak miły i mi pomoże to wielkie dzięki.

26.01.2009 18:14
Cappo
493
odpowiedz
Cappo
139
Senator

Czy w c++ da rade rade zrobić aplikacje, którą będzie wstanie sterować obrotami wentylatora bez żadnego dodatkowego urządzenia?

21.02.2009 23:22
QrKo_
494
odpowiedz
QrKo_
69

Maly problem z Delphi/ASM (nie wiem w ktorym lezy problem :P)

function Zmien(a,b:integer):integer;
begin
asm
MOV EAX,a
XCHG EAX,b
MOV a,EAX
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:= strtoint(Edit1.Text);
b:= strtoint(Edit2.Text);
Zmien(a,b);
Edit3.Text:= inttostr(a);
Edit4.Text:= inttostr(b);

end;

Prosty program zamieniajacy wartosci a i b, z tym ze po wykonaniu sie funkcji w ASM zmienne sie resetuja i nie wskakuja w zmienionej kolejnosci w Edita 3 i 4... Ktos wie gdzie lezy problem?

21.02.2009 23:46
495
odpowiedz
zanonimizowany99221
61
Generał

nie wiem jak pascal przekazuje zmienne, a ym bardziej jak traktuje wstawki w asmie, ale jesli funkcja tworzy kopie zmiennych a i b, a pozniej je zamienia to i tak oryginaly sie nie zmieniaja. czyli powinienes przekazac je przez referencje, a nie wartosc. czyli przez wskaznik (a tego w psclau ewnie nie ma;).
generalnie ja bym kombinowal
z [a] czyli przekazywaniem wartosci spod komorek pamieci, np [a],[.B] gdzie [a] to adres zmiennej a (nie wiem jak to zapisac we wstawce pascalowej). xchg pewnie dwoch operandow [] [] nie akceptuje, ale moze lepiej zrobic push push a pozniej pop [.B] pop [a] w odwrotnej kolejnosci. albo kombinowac z lea. dawno w asmie nie dlubalem.

podsumowjuac, mysle ze problm lezy w sposobie przekazywania zmiennych.

22.02.2009 10:02
Regis
496
odpowiedz
Regis
133

J.w. Jesli mnie pamiec nie myli, to w C zmienne trzeba bylo przekazywac na stosie, wiec i w Pascalu pewnie podobne rozwiazanie jest wymagane. Tak czy inaczej przekazanie kopii zmiennej ma prawo nie zadzialac ;)

07.03.2009 20:55
Arxel
😊
497
odpowiedz
Arxel
220
Kostka Rubika

Witam,

Mam do napisania generator podziałów zbioru. Ogólną genezę problemu rozumiem, wszystko elegancko potrafię zrobić ręcznie, ale jakoś nie potrafię tego przenieść na C.
http://pl.wikipedia.org/wiki/Liczba_Bella

Na czym to generalnie polega przedstawię na przykładzie - szybciej będzie można zrozumieć:
najpierw wypisanie wszystkich liczb bella, np dla 3 to będzie:
111
112
121
122
123

I później zasada podziału jest następującą:
111 = umieszczenie pierwszej, drugiej i trzeciej liczby w zbiorze numer jeden..
112 - umieszczenie pierwszej i drugiej liczby w pierwszym zbiorze, trzecia liczba w zbiorze drugim
itd..
Czyli
111 = ‹123›
112 = ‹12›‹3›
itd...
122 = ‹1›‹23›
i tak ma to podzielić na zbiory

Korzystając z książki "Kombinatoryka dla programistów", zawierającej coś pośredniego między Pascalem a pseudokodem, próbowałem przerobić podany program na C. W efekcie program się kompiluje - ku memu zdziwieniu - lecz nic sensownego nie wypisuje ;-)
Pewnie pod koniec źle zrozumiałem i powypisywałem operacje logiczne, ale znając życie to nie jedyny błąd, który popełniłem ;-)

Tutaj mój kod:
http://pastebin.com/me839d70

Tutaj wycinek z pdf-a:
http://i39.tinypic.com/263ygdj.jpg

Jakieś sugestie, poprawki? Wiem, co program ma wykonać, ale tutaj jest on na tyle skomplikowany dla mej głowy, że nie potrafię sobie z nim poradzić.
Za chwilę spróbuję przerobić program wypisujący kombinacje z powtórzeniami żeby wypisywał mi te liczby podane na początku, a później odczytywał je wypisując odpowiednie liczby w odpowiednich zbiorach... Mówi się łatwo, ale pewnie znowu gdzieś ugrzęznę ;-)

14.03.2009 16:29
Raynor
😊
498
odpowiedz
Raynor
85
Big Man

Witam, dwa krótkie pytanka z C# :) Mam do napisania ASP .NET web application i...

1. Mam przycisk 'zamknij' po przyciśnięciu którego jest zamykane okno przeglądarki. Znalazłem taki prosty skrypcik i on działa:

string script = "<script>window.close(this);</script>";
Page.RegisterStartupScript("_close", script);

Ale chciałbym aby zamykało się bez komunikatu 'czy na pewno chcesz...'

2. Mam macierz złożoną z 9 textboxów i chciałbym się dowiedzieć jak je wypełnić przy używając pętli.

Baaardzo proszę o pomoc. :)

23.04.2009 00:56
499
odpowiedz
zanonimizowany566299
26
Konsul

Witam, chciałbym nauczyć sie języka c++ , no i właśnie co polecacie : książki,tutoriale(po polsku)
Jestem kompletnie zielony , nie miałem nigdy styczności z językiem nawet nie wiem jaki program do pisania pozdrawiam

23.04.2009 09:10
legrooch
500
odpowiedz
legrooch
231
MPO Squad Member

Raynor ==>
kolekcja kontrolek na stronie (form.controls), a na tym for "each"

24.04.2009 22:13
501
odpowiedz
zanonimizowany560752
43
Generał

jak w C wypisać czas działania programu?

25.04.2009 10:20
502
odpowiedz
zanonimizowany560752
43
Generał

chodzi mi o dokładniejszy czas, gdzieś ze 2 miejsca po przecinku 23.45 s

w time.h można znaleźć taką funkcje jak diftime i ustawić początek i koniec mierzenia, ale wynik podaje w sekundach, bez miejsc po przecinku

25.04.2009 10:33
503
odpowiedz
elfik
68
z wired

Salado:

http://www.metal.agh.edu.pl/~banas/OWW/OWW.html

Lab nr 4, sciagnij archiwum; masz gotowe funkcje.

25.04.2009 17:52
504
odpowiedz
zanonimizowany560752
43
Generał

elfik - - > a gdzie na tej stronie jest archiwum? bo widzę tylko pliki pdf

24.05.2009 17:04
505
odpowiedz
ssjmichal
95
Konsul

Witam,
mam w ramach projektu napisać w Javie jakas aplikacje na telefon. Pomyslalem, że mogła by to być w miare prosta gierka. Pomyslalem o czyms ala Qix ( http://en.wikipedia.org/wiki/Qix ).
Mam podstawy C/C++, Javy dopiero sie ucze.
I teraz moje pytanie : jak podejsc do rozwiazania tego problemu ? Chodzi mi o podpowiedz od kogos bardziej doswiadczonego, jak np. rozwiazac problem zakreslania terenu. Czy np. "na piechote" zakreslac elementy w tablicy NxN gdzie kazde pole bedzie reprezentowało pixel ? Jak

24.05.2009 17:26
Katane
506
odpowiedz
Katane
170
Useful_Idiot_

Na pierwszy rzut oka (moglem czegos nie doczytac) wystarcza Ci wspolrzedne np. prawego gornego i lewego dolnego rogu kwadratu.

24.05.2009 18:51
Arxel
507
odpowiedz
Arxel
220
Kostka Rubika

Rzadko kiedy ktoś tutaj zagląda, ale spróbuję:

Piszę symulator Black Jacka w C (popularnie "oczko", dla tych, którzy nie wiedzą ;-)). Na C++ planuję przesiadkę przez wakacje, aktualnie bardziej pożądanym językiem na zajęciach jest C, chociaż ćwiczeniowiec nawet nam do kodu nie zagląda..
Wiem, że C++ byłby tutaj lepszym rozwiązaniem, bo w C nie można działać na stringach, co mnie dodatkowo ogranicza i przez co muszę więcej linijek do kodu dopisać z odpowiednimi warunkami..

Potrzebuję kawałek kodu odpowiedzialny za wymieszanie elementów w tablicy. Dobrze, aby za każdym razem, gdy tablica ma swoją pierwotną postać, wymieszał je inaczej.
O ile z napisaniem algorytmu sortującego nie mam problemu, to w drugą stronę nic mądrego wymyślić nie potrafię.

Myślałem nad użyciem funkcji srand, ale ona nieco skomplikowałaby mi mój program.. Nie pamiętam dokładnie, ale chyba ona może mi wylosować dwukrotnie ten sam element, a chodzi o to, by elementy się nie powtarzały (przynajmniej do momentu wyboru rozpoczęcia programu od początku, kiedy to zestaw liczb sie zeruje).

Istnieje możliwosć jakiegoś ograniczenia tej funkcji, by nie zwracała tych samym wyników dwukrotnie? Myślałem nad umieszczeniem wszystkich zmiennych do pliku, wczytaniu ich, wylosowaniu, a następnie skasowaniu wylosowanych liczb z pliku, by przy następnym losowaniu nie trafić na te, które zostały wybrane uprzednio..

Po dłuższej chwili zastanowienia, ostatni pomysł, który opisałem (ten z plikiem) byłby najlepszym wyjściem, bo coś mi nie działa prawidłowo zapamiętywanie jednej zmiennej (odpowiedzialnej za ostatnią wybraną komórkę z tablicy), przez co przy kolejnych rozdaniach program dobiera karty od początku..

24.05.2009 19:07
Regis
508
odpowiedz
Regis
133

Ja rozwiązań widzę conajmniej kilka - wszystko zależy od tego, co DOKŁADNIE chcesz osiągnąć i na ile ja to zrozumiałem ;) Jeśli chodzi dosłownie o "wymieszanie":
1. Masz te karty gdzieś w tablicy? Więc ja mieszanie widzę tak, że wykonujesz kilkanaście/dziesiąt/set razy pętlę, która losuje dwa elementy tablicy i zamienia je miejscami. Powtarzanie się elementów losowanych przez sranda nie będzie tu miało znaczenia.
2. Zrob tablice bool o rozmiarze = przedzialowi losowanych elementow i 'odhaczaj' w niej wylosowane liczby. To rozwiązanie ma tą wadę, że jak masz pecha, to ostatnie kilka wartości możesz losować bardzo długo - tzn. zostaje Ci do wylosowania np. już tylko liczba 17, a program losuje, losuje i nie moze na nia trafic.
3. Wylosuj wiecej liczb niz potrzebujesz (np. potrzebujesz 10, to wylosuj 50, albo 100 - różnica w wydajności będzie niezauważalna), zapisz je do tablicy i napisz prostą pętlę, która usunie powtarzające się liczby. Tych 'pozostałych' będzie prawie na pewno więcej niż tyle, ile potrzebujesz, więc bierzesz kolejne - w tym wypadku - 10 i masz. Trzeba się tu tylko zabezpieczyć na wypadek, gdyby jednak liczb zostało mniej niż potrzebujesz, ale szansa jest raczej niewielka, jeśli rozsądnie dobierzesz ilość elementów.
4. Trzymaj karty w liscie (najlepiej dwukierunkowej) i losuj elementy w niej, po czym usuwaj wylosowany element (przenos do innej listy) - masz 100% pewnosci, ze niczego nie trafisz dwa razy.

24.05.2009 19:29
Arxel
509
odpowiedz
Arxel
220
Kostka Rubika

1. Dobry i bardzo prosty pomysł :-)
4. Wydaje się również dobry, lecz problem w tym, że listy przerabiała druga grupa.. Jak tak zerkam o co w tym chodzi na na chwilę obecną nie ogarniam..
Więc pozostanę przy pierwszym pomyśle. Dzięki za podrzucenie pomysłu, na który dziwie się, że sam nie wpadłem..

Miałem jeszcze jedną wątpliwosć - przy odwołaniu do funkcji, która dobiera karty odpowiednio graczowi i dealerowi program nie zapamietuje ostatnio wybranej karty, przez co za każdym razem dobiera je od początku - ale chyba widzę rozwiązanie.. Pozostawić kod w funkcji main. Szkoda, bo chciałem by kod był czytelny, a nie wszystko "nasrane" w głównej funkcji..

24.05.2009 19:33
Regis
😊
510
odpowiedz
Regis
133

Miałem jeszcze jedną wątpliwosć - przy odwołaniu do funkcji, która dobiera karty odpowiednio graczowi i dealerowi program nie zapamietuje ostatnio wybranej karty, przez co za każdym razem dobiera je od początku - ale chyba widzę rozwiązanie.. Pozostawić kod w funkcji main. Szkoda, bo chciałem by kod był czytelny, a nie wszystko "nasrane" w głównej funkcji..

Albo ja nie rozumiem problemu, albo Ty przeoczyles najprostrze rozwiazanie ;) Zadeklaruj potrzebne zmienne jako w main, a potem przekazuj ich referencje do funkcji. Dzieki temu wszystko bedzie ladnie 'opakowane', a zmienne beda dostepne tam, gdzie je sobie przekazesz. Od biedy mozna tez zrobic zmienne globalne - wtedy w ogole beda wszedzie widoczne, ale to troche nieeleganckie ;)

24.05.2009 19:53
Arxel
511
odpowiedz
Arxel
220
Kostka Rubika

No kurcze mam tak..
Nawet jak dam globalną to cały czas zaczyna od początku..

Kod:
http://pastebin.com/m46595cc3

Dobór kart przez gracza jeszcze nie napisany ;p Nie patrz na niego pod kątem wizualnym, bo to wstępnie piszę.. Ładniej na końcu będzie wyglądało (komentarze itd)
Po decyzji na kolejne rozdanie tak jakby zmienna j się zeruje..

24.05.2009 20:03
Regis
512
odpowiedz
Regis
133

W każdej funkcji nadpisujesz zmienne globalne zmiennymi lokalnymi - program nie ma prawa ich zapemietac.

24.05.2009 20:04
513
odpowiedz
zanonimizowany99221
61
Generał

jak maja byc globalne to ich nie redeklaruj.
w globalu masz int i, ale w funkcji przekazujesz (int j <- tu masz redeklaracje), pozniej w ciele masz jeszcze ‹ int i; ... i++›. wywal wszystkie int i, int j i zostaw tylko te dwa, ktora sa za includem.

24.05.2009 20:20
Arxel
514
odpowiedz
Arxel
220
Kostka Rubika

Ok, działa idealnie! :D
Wystarczyło zmienić j w funkcjach na coś innego, a na koniec przypisać j wartość tej zmiennej. Nawet usunięcie 'int' sprzed j nic nie dało. No, ale nieważne, już działa prawidłowo.
Pozostało tylko wymieszać tablice i będzie można brać się za rozbudowe opcji gry :-)

To samo z wynikiem.. Jakoś nie za bardzo main chce przywoływać sumaKartGracz i sumaKartDealer.. trzeba było ponownie wprowadzić dodatkową zmienną wynikGracz = sumaWynikGracz. Main prawidłowo odczytał wynikGracz, ale sumaKartGracz już nie chce.. eh.. Głupie to :P

24.05.2009 21:33
Arxel
515
odpowiedz
Arxel
220
Kostka Rubika
Image

Kolejny problem.. Co zrobić aby "karty" wyświetlały się jedna obok drugiej? :P

24.05.2009 23:11
516
odpowiedz
ssjmichal
95
Konsul

Gdzies podczas wyswietlania kart masz poprostu za duzo \n , dlateg przeskakuje do nowej linii. Zmien to na \t na przyklad.

25.05.2009 02:03
Arxel
517
odpowiedz
Arxel
220
Kostka Rubika
Image

Nie, nie.. To zrobiłem specjalnie. Chdozi mi o coś takiego, że pojawia sie pierwsza karta, pada pytanie czy dobrać, jeśli tak to obok pojawi się druga.. Ale wydaje mi się to trochę niemożliwe..

Generalnie już cała gra działa, z ważniejszych rzeczy to brakuje działającego rozpoczęcia gry od samego początku (wybierając rozpoczęcie od nowa czy kontynuację i tak będziemy kontynuuować dobieranie z aktualnej talii), zakończenie gry gdy padnie nam oczko (zapomniało mi się, ale to tylko jeden if jest ;-)) i zakończenie gry gdy skończą się karty.. To tak z tych ważniejszych :-)
Jeszcze dodać wybór ilości talii + gry na stawkach (stawianie i zapamietywanie portfela etc.) plus pewnie jeszcze kilka innych pierdół ;-)

Noo i jeszcze coś pokombinować muszę z gotoxy, bo aktualnie brzydkie ramki powstają jeśli trzeba coś wybrać ->

Jeszcze jedno - nie da rady wyczyścić tylko fragmentu okna?

25.05.2009 07:09
518
odpowiedz
zanonimizowany99221
61
Generał

to jest tylko konsola; mozesz ja wyczyscic i narysowac tylko te czesc, ktora cie interesuje. ale na pewno nie chcesz tergo robic;)

28.05.2009 20:03
Arxel
519
odpowiedz
Arxel
220
Kostka Rubika

Kolejną godzinę z rzędu próbuję zaimplementować działającą funkcję kbhit()
Chcę, by nie musieć klikać po wybraniu cyfru entera.. Kumpel próbował mi to wytłumaczyć, ale coś mi to nie wychodzi. Wspominał o użyciu switcha.. Przegrzebałem prawie cały internet i nigdzie nie ma tego, czego bym potrzebował, a już tymbardziej jakejkolwiek wersji ze switchem..
Do wyboru za każdym razem są tylko dwa klawisze - 1 albo 2, chciałbym aby wybierając co innego program nie reagował, natomaist po wybraniu jednego z tych dwóch przeszedł do odpowiedniej funkcji.

28.05.2009 20:59
520
odpowiedz
zanonimizowany112510
45
Generał

Arxel - żeby zrobić coś takiego będziesz musiał użyć funkcji windowsowych. Poczytaj o ReadConsoleInput na MSDN. Jakbyś chciał, to mam jeszcze na dysku mini-bibliotekę do obsługi wejścia w konsoli (klawiatura + mysz) którą kiedyś dawno napisałem. Może jeszcze się na coś przyda :)

28.05.2009 21:46
Azerko
😊
521
odpowiedz
Azerko
22
Alone in the wild

załóżmy ze mam do wyboru 3 jezyki programowania pascal,java,c++ w jakiej kolejnosci powinno sie je zaczac uczyc ? dodam ze to bylby pierwszy styk z programowaniem

c++>pascal>java ?

28.05.2009 21:49
Regis
522
odpowiedz
Regis
133

Azerko:

Pascal? Nawet nie zartuj - szkoda czasu. Z tego co wymieniłeś:

C++ -> Java

A moim zdaniem:

C#

28.05.2009 23:19
Arxel
523
odpowiedz
Arxel
220
Kostka Rubika

while(getch() != '1' && getch() != '2');

if(getch() == '1')
zasadyGry();
else if(getch() == '2')
nowaGra();

Doszedłem do czegoś takiego, metodą prób i błędów.. No ale po wklepaniu 1 lub 2 muszę nacisnać jakikolwiek inny znak, żeby to zaskoczyło..
Jest w stanie ktoś tu coś dopisać, by wystarczyło kliknąć daną liczbę, bez konieczności klikania później po raz drugi czegokolwiek, by to zadziałało? :-)
PS. Dotychczas nawet nie używałem getch/getchar i podobnych, bo nie potrzebowałem za bardzo.. Dlatego też nie mam zielonego pojęcia czy naewt dobrze to zastosowałem :P

28.05.2009 23:28
524
odpowiedz
zanonimizowany112510
45
Generał

Spróbuj coś takiego:

do

char c = getch();
if( c == '1' )
zasadyGry();
else if( c == '2' )
nowaGra();
› while( c != '1' && c != '2' )

28.05.2009 23:44
Arxel
👍
525
odpowiedz
Arxel
220
Kostka Rubika

Dzięki wielkie! Działa tak jak trzeba.
Przy moim to zaczęło się wysypywać tak czy siak.

01.06.2009 22:11
âřßůž®
526
odpowiedz
âřßůž®
120
I am Winston Wolfe

witam, mam prośbę

Znajdzie się jakaś dobra dusza, która udostępniłaby kod (c++) drzewa opartego na liście (np. tej z biblioteki STL)?
Chyba pierwszy raz zdarza mi się prosić o cały kod, a nie o jakąś wskazówkę, ale jestem zdesperowany, po prostu nie zdążę, a w ogóle to nie bardzo wiem jak się za to zabrać...

07.06.2009 22:12
Arxel
😊
527
odpowiedz
Arxel
220
Kostka Rubika

ciach, już nieaktualne, zrobiłem sam :D

29.06.2009 15:52
qaq
528
odpowiedz
qaq
86
Kaka Demona

Witam. Czy znacie może bibliotekę/funkcję do C++ umożliwiającą operacje na plikach tekstowych (otwieranie, zamykanie, zapisywanie i wczytywanie danych z konkretnego miejsca[wczytanie liczb z kazdych wierszow o ukladzie np. ‹jakistamtekst 12› - czyli funkcja przemieszczająca kursor(?) o kolejne miejsca w prawo])?
Jakbyście byli jeszcze tak mili to moglibyście podać link do opisu i ściągniecia tej biblioteki (o ile nie jest standardowa itp.)?

PS lepiej załóżcie nową część bo ta się strasznie muli;)

29.06.2009 17:15
529
odpowiedz
zanonimizowany605218
34
Generał

Biblioteka fstream + wskaźniki i sądzę, że uzyskasz zamierzony efekt.

29.06.2009 20:21
530
odpowiedz
zanonimizowany596918
1
Junior

Witam, mogby ktos pomoc mi w napisaniu programu w jezyku c ktory sprawdza czy wpisany wyraz jest palindromem? nie wolno mi uzywac funkcji takich jak strlen, to jest zadanie do szkoly. Bylbym wdzieczny. Do tej pory sam probowalem i zrobilem tyle ale nie dziala jak trzeba:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
‹int i;
int n;
char slowo;
printf("wpisz wyraz by sprawdzic czy jest on palindromem\n");
scanf("%s",slowo);
for(i=0;slowo;++i)
printf("dlugosc wyrazu= %d\n",i);
i=n/2;
while(i--)
‹if(slowo!=slowo[n-i-1])
printf("wyraz nie jest palindromem\n");›

return 0;

03.07.2009 16:15
slowik
😊
531
odpowiedz
slowik
124
NightInGale

a wiec po kolei:
-nie mozesz jako warunku stop dla for wstawic tablicy
--w zwiazku z czym musisz sie opierac na wlasciwosciach ciagow znakow w c czyli zakonczenie ciagu znaku znakiem \0
-do przechowywania ciagu znakow potrzebujesz tablicy czyli char slowo[N] (gdzie N to dlugosc tablicy)
-ten pomysl z while jest trafiony jednak brak mi w pierwszym skladniku warunku indekstu tablicy jednak ze na gol'u [] jest uznawany za ostylowanie moglo go zwyczajnie wessac gdzies

18.08.2009 11:55
532
odpowiedz
zanonimizowany218651
61
Generał

w DirectX Api mam strukture (?) D3DXMATRIX
Chce sobie stworzyc jedno-wymiarowa macierz
‹x
y
z›

typedef struct D3DXMATRIX ‹
struct ‹
FLOAT _11;
FLOAT _12;
FLOAT _13;
FLOAT _14;
FLOAT _21;
FLOAT _22;
FLOAT _23;
FLOAT _24;
FLOAT _31;
FLOAT _32;
FLOAT _33;
FLOAT _34;
FLOAT _41;
FLOAT _42;
FLOAT _43;
FLOAT _44;
›;
› D3DXMATRIX, *LPD3DXMATRIX;

Jak takie cus wypelnic ?

D3DXMATRIX x = ‹1,2,3›;

nie dziala
:

non-aggregates cannot be initialized with initializer list
1> 'D3DXMATRIX' : Types with a base are not aggregate

04.01.2010 15:26
Arxel
😊
533
odpowiedz
Arxel
220
Kostka Rubika

Zobaczymy czy ktoś jeszcze do tego wątku wchodzi.. :)

Tworzę mało zaawansowany projekcik, z którym problem jest taki, że kobieta zażyczyła sobie ładnie wyglądający interface graficzny.. Moje aktualnie doświadczenie nie pozwala mi na stworzenie takiej aplikacji ręcznie wklepując kod, więc chciałem wspomóc się jakimiś programami oferującymi możliwość tworzenia okienek drag&drop..

Visual Studio 2008 Pro - Windows Forms Application był moim pierwszym wyborem. Wszystko szybko spranie poszło, zrobiłem niemalże cały projekt z działającymi funkcjami (tak szczerze to nawet nie wiem w jakim języku pisałem to wszystko [C#?], ale było bardzo intuicyjnie i podstawy przyswoiłem błyskawicznie). Problem polega na tym, że program działa na innych komputerach tylko w przypadku, gdy mają zainstalowanego frameworka, SDK i inne duperele.

Visual Studio 2008 Pro - MFC, QT Creator, biblioteka wxWidgets.. Próbowałem też tych, jednak nie jestem w stanie połapać się w kodzie :( Plus jest taki, że utworzone projekty działają bezproblemowo na innych komputerach.

Jakieś propozycje? :P

Myślałem nad Javą, ale to będzie ostateczność, szybki kurs Javy w weekend ;)

04.01.2010 16:26
Katane
534
odpowiedz
Katane
170
Useful_Idiot_

Javowy NetBeans ma kozak kreatora, robi sie wszystko ekspresowo. No ale Java tez musi bys zainstalowa, tak jak .NET Framework w przypadku Winodws Forms.

04.01.2010 16:55
legrooch
535
odpowiedz
legrooch
231
MPO Squad Member

Arxel ==> Przy tworzeniu projektu możesz wybrać zgodność projektu VS z konkretną wersją, więc:
a) wybierz 2.0
b) możesz to teraz zmienić we właściwościach projektu (debug bodajże), o ile nie korzystałeś z bibliotek w wersji wyższej, niż 2.0

.NET 2.0 jest wbudowany w XP SP3, Windows 2003 R2. Wszędzie tam, gdzie masz .NET 3.5 również projekt ruszy bez problemu.
Jeżeli nie używałeś zewnętrznych komponentów instalowanych (rejestrowanych tak naprawdę), to wszystko powinno działać po kliknięciu .exe

Co do Javy - czy nie będzie również wymagana instalacja jej na stacjach? :)

04.01.2010 17:43
Arxel
😊
536
odpowiedz
Arxel
220
Kostka Rubika

Zielonego pojęcia nie mam, jakie biblioteki wykorzystuję.. ;)
Próbowałem z wersją 2.0, sęk właśnie w tym, że również nici.. (stworzony świeżo projekt, nie ingerowałem w kod)

Testuję pod XP Mode z SP3
Po zainstalowaniu Microsoft Visual C++ 2008 Redistributable Package oraz ponownym .NET 2.0 (trochę dziwne, nie było to zawarte w systemie od razu) poszło.. Bez pierwszego się nie obejdzie..

Wiem właśnie, że trzeba również Javę instalować.. Z tym, że Javę czy też .NET to powiedzmy każdy instaluje po jakimś czasie używania komputera.. Nieco gorzej z instalacją Redistributable Package :P (no dobra, to tylko niecałe 2MB)

04.01.2010 22:56
Katane
537
odpowiedz
Katane
170
Useful_Idiot_

Jak masz powiedzmy .NET 3.5 to powinno chodzic wszystko zrobione w VS 2008.

05.01.2010 02:57
slowik
👍
538
odpowiedz
slowik
124
NightInGale

Arxel===>jesli piszesz ze uzywales wxwidgets to i sie polapiesz w wxPython ma swietnego doc'a i edytor graficzny gui wiec nie powienienes miec problemow ze zlorzeniem wszystkiego do kupy ;) sam python tez nie jest taki straszny. jesli sie przejmujesz przseniesieniem na inna maszyne programu wystarczy projekt skompilowac za pomoca py2exe i bedziesz mial ladnego exec'a ;)

legrooch===>widze ze intensywnie rozwijasz swoja strone ;)

05.01.2010 07:42
legrooch
539
odpowiedz
legrooch
231
MPO Squad Member

slowik ==> lol :)

Arxel ==> Skoro musiałeś dorzucić MVC++2008, to pisałeś w C++ znaczy się? :O

Zrób projekt C# albo VB.NET dla .NET 2.0. Nie ma prawa krzyczeć.

06.01.2010 19:17
Arxel
😜
540
odpowiedz
Arxel
220
Kostka Rubika

Ok, wielkie dzięki legrooch -> śmiga! Miałeś racje, to był projekt w C++, C# nie różni się zbyt wiele (właśnie przeglądam dokumentację) więc problemów z przerzuceniem się nie będzie :)

Słowik -> pythonem może kiedyś się zainteresuję :P

Dzięki ogromniaste panowie za pomoc!

06.01.2010 20:16
legrooch
541
odpowiedz
legrooch
231
MPO Squad Member

Arxel ==> Sie skacze, sie pływa, ciałko też mam zajebiste ;)
Słuchaj się osób, które znają temat, a nie próbują doradzić cuda :)

Do nikogo nie piję z tego wątku, tylko do innych tematów (m.in. Windowsowe).

16.01.2010 21:29
kamyk_samuraj
542
odpowiedz
kamyk_samuraj
126
Legend

Mam dwa problemy w pythonie, których nie wiem, jak rozwiązać:
1. kodowanie - ustawiam coding na utf-8, plik, który jest doczytywany także jest kodowany w utf-8, jako efekt mam krzaczki
2. pracuję na długim stringu, w kolekcji mam wrzucone znaki, które mam szukać i które mam połączyć z wcześniejszym wyrazem. By było bardziej zrozumiale - przykład tego, co chcę uzyskać
set([";","."])
string "Huhuhsiu s ujhilus ; uuhlYG uighiouyh . iygoyuguyi . yuiguyfgu ygoly ; uihly"
string wynikowy m być: "Huhuhsiu s ujhilus; uuhlYG uighiouyh. iygoyuguyi. yuiguyfgu ygoly; uihly"

18.01.2010 13:57
kamyk_samuraj
543
odpowiedz
kamyk_samuraj
126
Legend

2. solved

1. nadal nierozwiązane. Wczytuję tekst do zmiennej z pliku ANSI (bo się okazałoo, że mniej krzaczków) a następnie przepuszczam przez pętle:

p2 = ([",",",",":"])
tekst = open("tekst.txt).read()
tekst2 =""
for litera in tekst:
if litera in p2:
tekst2 += " " + litera
else:
tekst2 += litera

czyli powinienem otrzymać tekst ze spacjami przed określonymi znakami
dzielę tekst po spacji i tworzę z niego słownik
rozpoznaję tekst ze skanera (pytesser)
jego dzielę w ten sam sposób
obliczam odległość Levensteina dla każdego wyrazu z tekstu ze skanu do słów z przygotowanego wcześniej słownika i jeśli trzeba to poprawiam je
łączę wszystko - powinienem mieć tekst poprawny - a tak nie jest. Problemy pojawiają się w wyrazach z polskimi znaczkami. I myślę, że problem leży w kodowaniu znaków.

20.01.2010 15:25
slowik
😊
544
odpowiedz
slowik
124
NightInGale

ktora wersja python'a ?

najwieksza bolaczka do wersji 3.0 jest kodowanie znakow gdzie pozostal tylko jeden typ unicode :) w kazdym razie masz cos takiego jak "".decode('utf8')

w razie czego pisz raczej na gadu ;-)

24.01.2010 11:39
Dym14
545
odpowiedz
Dym14
109
Senator

Siema :P
Mam problem z PHP.
Mam za zadanie zsumować kolejne wyrażenia postaci 1/n (gdzie n=1,2,3,…). Sumowanie należy zakończyć gdy różnica dwóch ostatnio dodanych składników będzie mniejsza od podanej z formularza liczby (np. 0,0001).

<?php
$z=$_GET['z'];
$p=1000;
$suma=0;
for($i=1;$i<=$p;++$i)

$pam=1/i;
$suma=$suma+$pam;
$pom=1/(i+1);
$roz=$pam-$pom;
if ($roz<$z)

i=1000;
›;
›;
echo "Suma wynosi $suma";
?>

Odczytuję oczywiście z formularza liczbę (różnicę). Według mojego sposobu myślenia to przy podaniu 0,5 suma powinna wynosić 1,5 bo po 1 przejściu przez pętle $suma będzie 1 a następnie 1+0,5=1,5. Tymczasem po wpisaniu liczby i kliknięciu ok nic się nie wyświetla jakby gdzieś był błąd (nawet zła wartość).

Z góry dzięki :)

24.01.2010 13:02
Dym14
546
odpowiedz
Dym14
109
Senator

Dobra poradziłem sobie, była literówka przy i=1000; i już się wyświetla ale ciągle suma=0 :(

24.01.2010 13:10
Regis
547
odpowiedz
Regis
133

Przede wszystkim nie rób czegoś takiego jak if(warunek) i = 1000, żeby przerwać pętlę. Od tego jest instrukcja break. Po drugie - wypisuj sobie w każdym kroku wartości zmiennych i zobacz, co jest z nimi nie tak. Samo patrzenie w kod to slaba metoda na debugowanie skryptów.

24.01.2010 16:27
maviozo
548
odpowiedz
maviozo
226
autor zdjęć

Od php jest osobny wątek:P
Poradziłeś sobie?
Masz drugą literówkę w
$pom=1/(i+1);
powinno:
$pom=1/$i+1);
aczkolwiek ja bym inaczej to wszystko zrobił. Pierwsze widzę, żeby w for dawać preinkrementację

24.01.2010 16:43
thenaturat
549
odpowiedz
thenaturat
59
Konsul

Witam,
Czy istnieje jakaś metoda sortująca alfabetycznie Stringi w Javie?

24.01.2010 19:12
thenaturat
550
odpowiedz
thenaturat
59
Konsul

Dobra już napisałem

24.01.2010 23:02
Dym14
551
odpowiedz
Dym14
109
Senator

Tak, można powiedzieć że sobie dałem rady a raczej pomogli mi ludzie z forum.php.pl .
Zresztą mam dalej problem z samym html. Używam dla strony iframe bo to taka byle jaka stronka i mam z 15 podlinkowanych z lewej strony podstron i jedna za chiny mi się nie wyświetla (sprawdzałem wszystko literka po literce, nawet podłączyłem inną stronkę i nie da rady ale mniejsza o to szczególnie że jak kliknę na link i otwórz w nowej karcie to wszystko śmiga.

Aha i sory że w zły wątek się wepchnąłem wyszukałem programowanie i mi się dni nie zmieniły było 21.

24.01.2010 23:07
maviozo
552
odpowiedz
maviozo
226
autor zdjęć

Pytaj w wątku o html.
Nie używaj iframe. Lepiej zamiast tego albo strona na szablonie w php, albo ajax.

15.08.2010 18:23
553
odpowiedz
Taikun44
14
Legend

C# + LINQ + MS SQL

Baza składa się z 3 tabel, do których chciałbym jednocześnie wrzucić dane, które wypisuje w textboxach np.

Da się coś takiego zrobić? Jak? Jak automatycznie wygenerować PK/FK? A może jakiś lepszy sposób?

15.08.2010 19:04
legrooch
👍
554
odpowiedz
legrooch
231
MPO Squad Member

Taikun ==> Procedura w SQL przyjmująca dane z ASP.NET. Zbudowana tak, że odpowiedni parametr wsadza w odpowiednie miejsce. Mało kodu po stronie witryny, szybkość działania (SQL sam natywnie lepiej poradzi sobie z tym :) )

15.08.2010 19:06
555
odpowiedz
Taikun44
14
Legend

to ma śmigać na winformsie ... i liczyłem że ktoś przykładowo rzuci jakimś kodem :)

15.08.2010 20:20
legrooch
👍
556
odpowiedz
legrooch
231
MPO Squad Member
16.08.2010 14:24
Azerath
557
odpowiedz
Azerath
156
Senator

Widzę, że jest to od groma specjalistów-informatyków, więc dam sobie spokój z zakładaniem nowego wątku. Chodzi mi o to, że chciałbym zacząć swoją przygodę z programowaniem itp., ale nie wiem od czego zacząć. Większość z was ma tu jakieś doświadczenie i to pewnie niemałe, więc wszelkie rady odnośnie tego, co przeczytać, jaki program zainstalować, którego języka programowego najpierw się uczyć, na co zwracać szczególną uwagę będą niezwykle mile widziane.

Zaczynam także zabawę z Blenderm, kto wie - może modelowanie spodoba mi się bardziej, ale to jest mało istotne, tak po prostu chciałem podkreślić ten fakt na wypadek, gdyby ktoś tutaj też miał jakieś rady odnośnie tego programu wynikające z doświadczenia.

18.08.2010 01:31
558
odpowiedz
Taikun44
14
Legend

Problem mam inny, tamten wciąż nierozwiązany, ale sie okazuje że nie może mi wrzucić danych nawet wpisanych na stałe. Poniżej wrzucam szczegółowy opis krok po kroku, jakby ktoś chciał pomóc ;)

Autoinkrementacja na id_klient ustawiona (id_klient to PK) - zrobiłem nową bazę z jedną tabelą. Try-Catch nic nie łapie.

1. Odpalam VS

2. Tworzę projekt WinForms, dodaję do niego LINQ to SQL classes i zapisuje projekt na dysku.

3. Database Explorer -> Data Connections -> Add -> wybieram plik bazy, którą przed momentem zrobiłem w SQL Server Management Studio.

4. Przerzucam tabelę na pole w pliku *.dbml, tworzy się encja, czy tam wizualizacja - ta tabelka. Przy przerzucaniu tabeli pojawia sie komunikat w stylu "baza nie jest w projekcie, czy chcesz skopiować" daję TAK.

5. Wrzucam na formę button. Dodaje do Program.cs i Form1.cs: using System.Data.Linq.Mapping; i System.Data.Linq;, do references dodaje się automatycznie System.Data.Linq;

6. Wpisuję po: public partial class Form1 : Form‹

DataClasses1DataContext bn7 = new DataClasses1DataContext();

7. Klikam na button i dodaję do niego kod:

listaklientow klt = new listaklientow();
klt.imie = "ppp";
klt.nazwisko = "ooo";
klt.id_adres = 4;
klt.id_kontakt = 4;

using (DataClasses1DataContext c = new DataClasses1DataContext())

try

c.listaklientows.Insertonsubmit(klt);
c.SubmitChanges();

catch (Exception ex)

MessageBox.Show(ex.Message);


MessageBox.Show("Dodano pozycje");

8. Odpalam program. Wciskam przycisk. Pojawia się okno "Dodano pozycję"
9. Odświeżam bazę w Database Explorer, przechodze do tabeli i wybieram: Shod Data Table, żadne nowe dane się nie pojawiają.

10. id_adres i id_klient to zwykłe pola int, tak dla testu to ani nie jest PK ani FK

18.08.2010 02:41
Toshi_
559
odpowiedz
Toshi_
170
Got sarcasm?

Azerath - rady dla początkującego odnośnie Blendera?
Przychodzi mi na myśl jedna - nie przestraszyć się na samym początku interfejsu ;D
A, i jeszcze jedna - duży monitor sporo ułatwia :)

26.08.2010 00:21
560
odpowiedz
Taikun44
14
Legend

Dalej to samo, C# i baza w MS SQL

Chce żeby po kliknięciu w datagridview na Form1 pojawiało się okno do edycji kontaktu na nowej formie, poki co mam cos takiego.

Form1:

public void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)


kontakt dt = dataGridView1.SelectedRows[e.RowIndex].DataBoundItem as kontakt;
new frmEditKontakt(dt).ShowDialog();

frmEditKontakt:

public partial class frmEditKontakt : Form

DataClasses1DataContext n7 = new DataClasses1DataContext();

public kontakt Kontakt ‹ get; set; ›
public frmEditKontakt(kontakt kontakt)

InitializeComponent();
this.Kontakt = kontakt;
InitData();

void InitData()


textBox1.Text = Kontakt.tel2;
textBox2.Text = Kontakt.mail;

I wyrzuca błąd:
Indeks jest spoza zakresu. Musi mieć wartość nieujemną i mniejszą niż rozmiar kolekcji.
Nazwa parametru: index
po kliknięciu na jakikolwiek wiersz datagridview

06.10.2010 19:10
Bart!
561
odpowiedz
Bart!
53
Konsul

Takie pytanko:
Dlaczego nie mogę podzielić 2 zmiennych??
Jestem baardzo początkujący w C++ i chcę zrobić program do obliczania prędkości.
Niestety pokazuje mi błąd w tej linii:
cout <<"Predkosc to: " <<droga / cout<<czas;
Błąd to: error: no match for 'operator/' in 'droga / std::cout'
Co robię nie tak??
Proszę o rady dla laika

06.10.2010 19:12
Loczek
562
odpowiedz
Loczek
160
El Loco Boracho

cout <<"Predkosc to: " <<droga / czas; //drugie cout niepotrzebne

A najlepiej

int predkosc=droga/czas;
cout <<"Predkosc to: " <<predkosc;l

06.10.2010 19:20
Bart!
563
odpowiedz
Bart!
53
Konsul

Loczek-->dzięki, ten pierwszy sposób działa super
ale dałeś też drugi sposób i tu pojawia się problem:
nowa linia wygląda tak:
int predkosc=droga/czas;
cout <<"Predkosc to: " <<predkosc;

ale wtedy prędkość podaje zawsze 1 chociaż wprowadzam np. liczby 20/5
co tym razem zrobiłem zle? :)

06.10.2010 19:52
legrooch
564
odpowiedz
legrooch
231
MPO Squad Member

DotNeciarze - głupieję....
Jak kodowo wstawić Paging do gridview? Pomimo ustawienia właściwości allowpaging, pagestyle'i i pagesize'u nie mam dostępnej kontrolki. Nazywa się ona datapager i nie mogę jej za cholerę utworzyć....

02.12.2010 17:44
565
odpowiedz
QrKo
147
Yarr!

A upne tego kolosa :D

Pracuje nad aplikacja oparta na logowaniu w asp.net, wykorzystalem kontrolke LoginView i smiga cacy, problem tylko w tym, ze w podgladzie Designu zawsze domyslnie przestawia sie w tryb Annonymus przez co po kazdej zmiane kodu musze klikac na kontrolke > views > zmieniac z annonymusTemplate na loggedInTemplate, zeby zobaczyc efekt. Da sie gdzies w opcjach zmienic zeby kontrolka LoginView w widoku Design byla domyslnie Logged?

Srodowisko oczywiscie VS2k10 :)

21.04.2011 23:46
566
odpowiedz
mr00TshnY
35
Pretorianin

Hej, bawił się ktoś może z Lua i chciały mnie mniej-więcej wprowadzić w to wszystko i powiedzieć od czego zacząć? ; )

03.05.2011 22:46
Arxel
567
odpowiedz
Arxel
220
Kostka Rubika

Szybkie pytanie - pewnie nie dostanę odpowiedzi, to sobie jutro wątek osobny założę.. :)

Jakie książki polecacie do:
C++
Baz danych

Mam Symfonia C++ Standard (Wyd. 2, zm.; Kraków; 2006) - czy jest coś świeższego?
Sql dla każdego (Wyd. 2; Warszawa; 2000) - również nowszego nie dorwę tak szybko, wszystko wypożyczone.

Czy jest coś czym warto się zainteresować? Chodzi mi coś z nowszych pozycji.
W ostateczności mogą być dokładne i ładnie opisane kursy na necie (wiadomo, najaktualniejsze, a czytanie z monitora przeboleję).
W przypadku Baz danych nie wiem dokładnie o jakie się będzie rozchodziło (test na staż), więc trzeba ogarnąć MySql, SQL Server i Oracle.
O ile pierwszego łyknąłem najwięcej to z pozostałymi bardzo kiepsko. Może chodzi o jeden, może o wszystkie, do wyboru były: java, c++, bazy danych, .net więc może być wszystko ;)
Jeśli chodzi o C++ to pewnie coś już ze zdefiniowanym obiektowo będzie. Podstawy mam ogarnięte.

03.05.2011 22:55
pasterka
568
odpowiedz
pasterka
202
Paranoid Android

Arxel --> jesli chcesz sie troche pobawic z SQL-em, to polecam ta stronke: http://www.sqlcourse.com/index.html . Nie sadze, zeby w tescie na staz wymagali czegos bardziej skomplikowanego. I mozesz sobie powtorzyc zasady relacyjnych baz danych (jesli koniecznie chcesz ksiazke, to moze Whitehorn: Relacyjne Bazy Danych), bo raczej MySQL, SQL Servera i Oracle'a nie ogarniesz w tydzien :-)

03.05.2011 23:01
569
odpowiedz
zanonimizowany64016
60
Generał

Arxel - ja swoją przygode z c++ zaczynałem od "Podstawy Jezyka C++" (Lippman Stanley B. Lajoie Josee) z tego co ja wiem napisana gorszym językiem niz symfonia - ja ją jednak polecam każdemu zaczynajacemu z c++ ale skoro ty masz już Gremgosza to nie ma co inwestować w coś nowego. Co do aktualności to raczej zmian w standardzie C++ nie ma (a jesli są to niewielkie, i kolejne wydania ksiazek poprawiaja jedynie błędy, i dodają pare ficzersów).

Co do baz - tu mi trudno polecić, ja zawsze opierałem sie komercyjnie na Oracle, sporadycznie PostgreSQL, a jeszcze rzadziej MySql. Na dwoch ostatnich bazach wystarczała mi moja wiedza na temat Oracla (acz nie zawsze). Tutaj polecam ksiązki Oracle Press.

A tak jeszcze na marginesie jak by ktoś chciał mam o sprzedania:
- "Podstawy Jezyka C++" (Lippman Stanley B. Lajoie Josee)
I kilka innych książek ("JAVA - Efekty graficzne i animowane dla aplikacji", "ASP.NET 3.5. Tworzenie portali internetowych w nur...", "PHP. Praktyczne projekty", "Oracle Database 11g i SQL. Programowanie")
- http://allegro.pl/listing.php/user?us_id=2291617

03.05.2011 23:16
Arxel
570
odpowiedz
Arxel
220
Kostka Rubika

pasterka ---> Dziękuję za stronkę. Angielski nie jest przeszkodą, aczkolwiek minimalnie spowolni czytanie ;)
Ogarnę więc sobie właśnie relacyjne bazy danych.. Wiedzę praktyczną mam (MySQL głównie) lecz nie wiem czy nie spodziewać się bardziej wiedzy teoretycznej i tutaj byłby pies prawie pogrzebany..
Nie wiem zaś czy wiedza praktyczna z MySQL cokolwiek by pomogła do Oracle'a/SQL Server..

Co do książek to właśnie coś w deseń zawierająca informacje, które mają zastosowanie we wszystkich bazach. Użycie wyrażenia "Bazy danych" jest mocno ogólne, więc może chodzi o ogólną wiedzę teoretyczną..

OK, czyli co do C++ temat raczej zamknięty, Symfonia powinna wystarczyć na ogarnięcie rzeczy trudniejszych..

-----
Testy kwalifikacyjne będą składać się z części ogólnej oraz dwóch modułów technologicznych odpowiadającym wybranym dziedzinom podczas wypełniania formularza rekrutacyjnego na staż. Każdy kandydat otrzyma 30 pytań, z odpowiedziami wielokrotnego wyboru. Pytania będą badać poziom wiedzy akademickiej, jaką posiada kandydat. Na rozwiązanie testu przewidziano 60 minut.
Rozwiązanie testu nie wymaga jakiegoś szczególnego przygotowania. Testy mają na celu określenie poziomu wiedzy kandydata w zakresie technologii, które będą wykorzystywane w projektach stażowych.

No tak, zapomniałem, że to test wielokrotnego wyboru będzie..

03.05.2011 23:48
571
odpowiedz
McTire
59
Generał

Bart! --> Mi się wydaje, że po prędkość brakuje "<<", ale niech mnie ktoś poprawi jeśli nie.
int predkosc=droga/czas;
cout <<"Predkosc to: " <<predkosc<<;

13.06.2011 13:05
legrooch
572
odpowiedz
legrooch
231
MPO Squad Member

Panowie, jestem w kropce umysłowej :)

Podajcie jakiś rodzaj programu, który robiliście na studiach. Wymagania? Klasy, czytanie i pisanie do plików itp.
Jak najprostszy, sama konsola pewnie może być.

13.06.2011 13:11
Marcio
573
odpowiedz
Marcio
119
Legend

Lista pacjentów :)

13.06.2011 13:18
574
odpowiedz
ssjmichal
95
Konsul

Komis samochodowy ;)

13.06.2011 13:50
legrooch
575
odpowiedz
legrooch
231
MPO Squad Member

Dzięki panowie :)
Człowiek pisze i wie, co ma, ale jak musi coś wymyślać bez zamówienia, to ciężko idzie :)

21.06.2011 21:45
Watzap
576
odpowiedz
Watzap
190
Fredmen

Witam dopiero się uczę programować i robię sobie jakiś kurs a później próbuję sam i właśnie stanąłem na if i else, podaje przykład i nie wiem czemu ale rzuca mi się przy "else" już patrzyłem po innych przykładach i mają podobnie może ktoś pomoże ??

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])

int nLiczba;

cout << "podaj liczbe wieksza niz 10: ";
cin >> nLiczba;

if (nLiczba > 10);


cout << "dziekuje za poslusznosc" << endl;

else

cout << "liczba " << nLiczba << " nie jest wieksza od 10, popraw sie" << endl;


system("PAUSE");
return EXIT_SUCCESS;

21.06.2011 22:06
GBreal.II
577
odpowiedz
GBreal.II
136
floydian

Między nawiasem kończącym warunek dla ifa a klamrą nie powinno być średnika.

W tym momencie kompilator rozumuje tak: jeżeli nLiczba > 10 to wykonaj pustą instrukcję, później zawsze wykonaj wypisanie "dziekuje za poslusznosc" a później głupieje, bo ma else, ale nie wie do którego ifa ma się odnieść, bo między poprzednim, a tym else były już inne, nie warunkowe instrukcje.

21.06.2011 23:55
Watzap
578
odpowiedz
Watzap
190
Fredmen

Faktycznie, patrzyłem na ten kod chyba z 15min i nie widziałem tego dopiero teraz dostałem olśnienia, dzięki :)

Forum: (Programowanie w C/C++ i nie tylko)----(Dla laików i ekspertów)----(cz.7)
początekpoprzednia123