Zum Inhalt springen

Orffi

Mitglieder
  • Gesamte Inhalte

    252
  • Benutzer seit

  • Letzter Besuch

Beiträge von Orffi

  1. Wo liegt das Problem? (Abgesehen davon, daß das Programm überhaupt nicht dem C++ Standard entspricht...)

    Ist doch klar, daß dreimal 40 ausgegeben wird, denn in der Zeile darüber weist Du z den Wert 40 zu, der y zugewiesen wird und dann x zugewiesen wird.

    HTH

    Jan

  2. Ich habe schnell mal hrs.de angeworfen. Ich weiß ja nicht, was ihr ausgeben wollt. (Ich setze Doham mal unter Druck, in dem ich gleich in der Mehrzahl schreibe.)

    Hier ist der Link:

    http://www.hrs.de/cgi-bin/hrsparser?HP=19&NP=20〈=de&ulog=www3KLp28927&ipl=0a6y0741&ipr=6105133q&USEDB=prod&ort=Hamburg&orti=Hamburg&l_id=33&rn=13629&b_tag=20&b_monat=3&b_jahr=2003&e_tag=21&e_monat=3&e_jahr=2003&K1=0&UGL=50

    Vielleicht hilft es ja für den ersten Überblick.

    Bis denn dann

    Jan

  3. Hi!

    Ich kann Dir leider nicht mit einem PAP dienen, da ich die Syntax von einem Programmablaufplan nicht kenne. (PAP ist für mich eine Abkürzung für: Prozeßalgebra mit Parallelismus) Trotzdem habe ich im Bronstein nachgeschlagen und folgendes Gefunden:

    Wenn Deine EAN fogendermaßen aussieht: abcdefghikmnp, dann ist p Deine Prüfziffer. Um die Prüfziffer p berechnen zu können mußt Du zuerst x= a+3b+c+3d+e+3f+g+3h+i+3k+m+3n berechnen. Deine Prüfziffer p erhälst Du nun, in dem x+p die nächste Zahl ergibt, die Durch 10 teilbar ist.

    Berechnen ließe sich das so:

    p = (10 - (x mod 10)%10)

    Ein Beispiel:

    Angenommen Du hast den Wein Kröver Nackta r s c h (das Teil heißt tatsächlich so, natürlich ohne Leerzeichen, aber die mußte ich setzen). Dann hat dieser Wein folgende EAN: 4 3 1 1 6 0 5 4 4 8 4 6 0

    4+9+1+3+6+3*0+5+12+4+24+4+18=90

    90 mod 10 = 0

    10 - 0 = 10

    10 mod 10 = 0

    Diese 0 ist die 0 ganz rechts im Beispiel.

    Ich weiß, daß ich eigentlich nicht auf Deine Frage geantwortet habe, aber ich wüßte jetzt auch nicht, wo da ein großer Ablauf sein sollte. Zuerst berechnet man x, danach p.

    Vielleicht habe ich Dich auch falsch verstanden.

    HTH

    Jan

  4. Ich habe hier einen kleinen Text geschrieben. Allerdings bin ich der Meinung, daß Guybrush Threepwood, entscheiden sollte, ob er diesen Text so möchte, da

    1. ich seinen Text ein wenig verändert habe und

    2. es "sein" Thema ist und ich es ihm nicht "wegnehmen" möchte.

    Mir ist durchaus bewußt, daß es leichter ist, einen Text zu kritisieren als ihn selber zu verfassen, deswegen sollte mein Initialkommentar kein Angriff auf Guybrush Threepwood sein, sondern nur ein Hinweis.

    Lange Vorrede, hier der Text:

    In C und C++ hat die Bezeichnung String zwei unterschiedliche Bedeutungen. Deswegen unterscheiden wir zwischen C-String und std::string.

    In C werden Strings als array von Character angelegt:

    char szString[10]; /*ein C-String*/

    reserviert Speicherplatz für einen String mit 9 (Index 0-8) Zeichen, da jeder C-String mit einem '\0' abgeschlossen werden muß. Dies geschieht bei den meisten Funktionen automatisch. Nur wenn man die Zeichen selber festlegt, sollte man daran denken, da sonst Speciherüberläufe auftreten könen.

    C-Strings können nicht über den == Operator miteinander verglichen werden, da so nur die Startadressen der Arrays verglichen werden und nicht der Inhalt der Arrays. Um Vergleiche über den Inhalt durchzuführen, gibt es verschiedene Funktionen, z.B. strcmp() aus <string.h>, die in einer C Referenz oder hier auf dem Board nachgelesen werden können.

    In C++ kann man selbstverständlich auch die C-Strings verwenden, aber wie aus dem obigen Abschnitt erkennbar ist, ist eine solche Lösung nicht die eleganteste. Deshalb gibt es in den Bibliotheken, die zum ISO-Standard von C++ gehören, die Klasse string aus <string>. Durch Verwendung dieser Klasse vereinfacht sich die Handhabung von Strings. Strings vom Typ std::string kann man z.B. sehr einfach durch den bekannten == Operator vergleichen. Des Weiteren muß bei der Erzeugung eines std::strings nicht die maximale Größe bekannt sein. Die Klasse "kümmert sich darum, daß immer genügend Speicher alloziiert ist. Um von einem std::string einen C-String zu erhalten nutzt man die Funktion c_str(), die in der Klasse string enthalten ist.

    Um alle Möglichkeiten der Klasse string kennen zu lernen, empfehlen wir z.B das Kapitel 20 aus "The C++ Programming Language" von Bjarne Stroustrup, die dritte Ausgabe.

    Bis denn dann

    Jan

  5. @Klotzkopf

    Ich muß gestehen, daß ich dies überlesen habe. Allerdings wäre ich trotzdem dafür, daß unter dem Thema "Strings" beide Sprachen abgehandelt werden und in diesem Zusammenhang auf die Unterschiede hingewiesen wird.

    @Guybrush Threepwood

    CString mag in der Welt von Microsoft eine Bezeichnung für einen String sein, aber in der restlichen Welt wird mit CString eben ein String bezeichnet, der ein char* ist. Es geht hier darum, den Unterschied zwischen char* und der Klasse string aus <string> hervor zu heben.

    Übrigens ist es völlig egal, wie ein Operator sein Verhalten erreicht, das entscheidene ist, daß sein Verhalten korrekt ist. Und der Operator == liefert zurück, ob die Strings gleich sind oder nicht. Mehr ist nicht entscheidend.

    Bis denn dann

    Jan

  6. Ich hätte da auch einen Änderungsvorschlag:

    Strings können nicht über den == Operator miteinander verglichen werden, da so nur ihre Startadressen verglichen werden. Um solche Vergleiche durchzuführen gibt es verschiedene Funktionen, z.B. strcmp(), die in einer C Referenz oder hier auf dem Board nachgelesen werden können.

    Hier wird nur C behandelt, aber die FAQ ist ja für C und C++. In C++ gibt es für Strings aus <string> sehr wohl den Operator == mit dem man zwei Strings vergleichen kann. Ich bin dafür, daß die Unterschiede besser herausgearbeitet werden. Zum Beispiel könnte man von CStrings sprechen, wenn die Rede von char* ist.

    Bis denn dann

    Jan

  7. Mir ist neu, daß Schleifen keine Kontrollstrukturen sein sollen.

    Zitat aus dem Buch Kerninghan & Ritchie "Programmieren in C" 2. Ausgabe, welches ich eben hervorgekramt habe:

    "C besitzt die fundamentalen Kontrolstrukturen, die für wohlstrukturierte Programme notwendig sind: Zusammenfassung von Anweisungen, Entscheidungen (if-else), Auswahl von einem aus einer Menge von möglichen Fällen (switch), Schleifen mit Test des Abbruchkriteriums am Anfang (while, for) oder am Ende (do) sowie vorzeitiges Velassen einer Schleife (break)" (Seite 1)

    Mit Ausnahme des breaks ist es genau das, was ich auch gesagt habe.

    Bis denn dann

    Jan

  8. 10) Wie sind die 5 Kontrollstrukturen?

    if

    if / else

    while

    do while

    for

    Ich denke, ich stimme dieser Aufzählung nicht zu. if und if / else sollte eins sein. for kann man durch while ausdrücken. Also wären meine fünf Kontrollstrukturen:

    sequenzielle Reihenfolge des Codes, if-then-else, switch, while und do-while.

    Bis denn dann

    Jan

  9. Du brauchst zuerst natürlich ein Funktion, die den Code enthält, der bei einem Klick ausgeführt werden soll.

    Diese Funktion muß folgendermaßen aussehen:

    
    void __fastcall OrffiClick (TObject *Sender)
    
    {
    
       //Dein Code
    
    }
    
    OrffiButton -> OnClick = OrffiClick;
    
    

    Natürlich kannst Du OrffiClick auch in eine Klasse packen, was auch Sinn macht, aber ich wollte den Code so kurz wie möglich halten.

    HTH

    Jan

  10. Nachdem ich erst letztens hier wieder lesen mußte, daß Mathematik ein "Aussiebefach" ist, wollte ich gerne eine Textpassage aus "Deutschland im internationalen Bildungsvergleich" von Jürgen Baumert zitieren. Jürgen Baumert ist unter anderem Direktor des Max-Planck-Instituts für Bildungsforschung in Berlin. Baumert oblag die Federführung der PISA-Stduie in Deutschland.

    "Basale Kulturwerkzeuge

    Der Zugang zu den symbolischen Gegenständen der Kultur ist nicht voraussetzungslos. Je nach Bereich in unterschiedlichem Ausmaß" bedarf es der Beherrschung kultureller Basiskompetenzen. Diese sind:

    [...]

    * mathematische Modellierungsfähigkeit

    [...]

    Eine weitere basale Komeptenz ist in modernen Gesellschaften die mathematische Modellierungsfähigkeit. Diese Fähigkeit macht wahrscheinlich den Kern mathematischer Grundbildung aus. Die fachdidaktiker sprechen von Modellierungsfähigkeit, wenn eine Person über ausreichendes begriffliches mathematisches Wissen verfügt, das es ihr erlaubt, eine realistische Problemstellung in sinnvoller Weise mit einem mathematischen Modell in Verbindung zu bringen und damit die Situation in zentralen Merkamlen zu formalisieren. Dies ist ist eine Übersetzungsleistung, die vielfältigen Arten des alltäglichen und mathematischen Verstehens erfordert und verbindet. Nach dieser Mathematisierung muss das Modell verarbeitet - dies kann ein Rechengang, aber auch eine begriffliche Argumentation sein - und auf seine innermathematische Konsequenzen interpretiert werden. Anschleißend erfolgt die Überprüfung, inwieweit die Ergebnisse in vernünftiger Weise auf die ursprüngliche Problemstellung antworten. Mathematische Verständnis im Sinne von Modellierungsfähigkeit wird von uns tagtäglich in vielen Lebensbereichen verlangt. mathematik ist eine formale Sprache, die sich in einem langen historischen Prozess entwickelt hat und in unzerschiedlicher Form zu einem selbstverständlichen Kommunikationsmittel in vielen Berufen und in vielen Disziplinen geworden ist. In dieser Funktion ist die Mathematik eine ähnliche fächerübergreifende Schlüsselqualifikation vie Lesekompetenz. Ein hinreichend sicherer Umgang mit mathematischen Symbolen und Modellen gehört in allen modernen Informations- und Kommunikationsgesellschaften zum Kernbestand kultureller Literalität."

    Mathematik ist also wichtig und ich farge mich immer noch, wie man Informatik ernsthaft betreiben will, ohne Mathematik. Wer sich mit Informatik beschäftigen will, sollte die Notwendigkeit von Mathematik erkennen und nicht als Klotz am Bein empfinden.

    So, jetzt dürft ihr kräftig auf mich einschlagen.

    Bis denn dann

    Jan

  11. So schwer ist das doch nicht:

    || ist das logische oder. Also liefert die Funktion true zurück, wenn progress_in oder progress_out zu true ausgewertet werden kann (können). Wenn nicht, dann wird false zurückgeliefert.

    HTH

    Jan

  12. Doch, das macht Sinn:

    Der ?: Operator ist eine if-Abfrage: (abfrage)? wert1 : wert2

    Wenn abfrage zu true ausgewertet werden kann wird wert1 verwendet. Bei false dementsprechend wert2.

    return (progress)? BZ_RUN_OK : BZ_PARAM_ERROR;

    liefert BZ_RUN_OK als Wert zurück, wenn progress wahr ist. Ansonsten wird BZ_PARAM_ERROR zurückgegeben.

    HTH

    Jan

  13. Sowas passiert ab und zu, wenn man einen Thread wegschiebt.
    Es war folgender Thread: "14 - Bahn vs. Auto: Wo ist der Flirtfaktor größer?"

    Dieser Thread wurde noch nie verschoben sondern wurde im Coffeehouse erzeugt. Worauf bezieht sich das "wegschieben"? Auf den Thread, den ich oben erwähnte, oder kommt das Board ein wenig "durcheinander", wenn irgendein Thread veschoben wird?

    Bis denn dann

    Jan

  14. Langsam aber sicher hat dies hier alles nichts mehr mit der ursprünglichen Frage zu tun. Die Frage war nach den Vorteilen des Macs und nicht, warum Microsoft eine Monopolstellung hat.

    Es gab übrigens viele gute Firmen, die in der Versenkung verschwunden sind, wie zum Beispiel Acorn. Auch Motorola wurde von Intel überflügelt, obwohl Motorola nicht schlechter war (ich würde sogar sagen besser). Monopolstellung hat nichts mit technischer Überlegenheit zu tun. Vielleicht mit Glück und Geschäftsverständnis.

    Wie ist das eigentlich mit Apple jetzt? Viele Benutzer haben ja Microsoft satt.

    Ist der Mac (wieder) im kommen?

    Was soll denn mit Apple sein? Apple ist für mich eine Computerfirma, nicht mehr und nicht weniger. Sie produziert immer noch Computer. Das hat nichts mit Microsoft zu tun. Schließlich könnte man Linux benutzen, wenn man keine Lust auf Microsoft hat. Ich glaube nicht, daß man pauschal sagen kann, ob Mac im kommen ist. Schau Dich in Deinem Bekanntenkreis um und urteile selbst.

    Bis denn dann

    Jan

  15. Läuft nicht im Moment noch die Aktion, daß man bei einem Mac-Kauf das MS Office günstiger bekommt? (Es klang so, als ob sie sich gerade den Mac gekauft hat, deshalb erwähne ich es hier.)

    Wie sieht es denn mit OpenOffice (www.openoffice.org) aus? Das ist jetzt unter MacOS X in den Status final beta gewandert. Vielleicht würde das helfen und wäre auch günstiger.

    Ein reines Kovertierungstool kenne ich leider nicht.

    HTH

    Jan

  16. Zeichnen sich heute "Cracks" (was immer das auch sein mögen..) dadurch aus, daß sie schlechte Noten bekommen und am Vordiplom "verglühen"? Also für mich klingt das doch ein wenig komisch, um es mal vorsichtig auszudrücken.

    Wann werden die Leute endlich mal einsehen, daß Mathe nicht nur den Zweck hat, die Studenten aus dem Studiengang herauszukegeln? Wahrscheinlich nie...

    Was das vergessen angeht: Eigentlich bauen die Vorlesungen aufeinander auf, so daß man nicht alles aus den vorangegangenen Vorlesungen vergessen sollte. Vielleicht liegt es ja daran, daß "Cracks" das Vordiplom nicht schaffen.

    Ansonsten muß ich mich mal wieder wundern, was hier für ein Feindbild von einem Dipl. Inf herrscht.

    Bis denn dann

    Jan

  17. Ich glaube, ich verstehe Dich nicht so recht, aber ich versuche es trotzdem:

    Der kostenlose C++-Compiler von Borland ist ein Kommandozeilen-Compiler. Du schreibst Dir also ein C++ Programm mit Deinem Lieblingseditor und speicherst die Datei mit der Endung .cpp (z.B. test.cpp)

    Jetzt einfach bcc32 [pfad]\test.cpp aufrufen. Dann sollte er es compilieren und eine .exe erzeugen.

    HTH

    Jan

  18. Das müsste doch dann ein ideales System ergeben oder nicht!?

    Das ist es, was man als Vorteil, den der Mac gegenüber einem PC hat, bezeichnen würde. Man hat ein abgestimmtes System und braucht sich über die Konfiguration keine Sorgen zu machen.

    Ob ein Mac nun teurer als ein PC ist oder nicht ist eine Diskussion, die nie enden wird. Je nach Intension der Person wird dabei herauskommen, daß er teurer ist oder nicht.

    Ich persönlich will ein wenig ketzerisch sein und behaupten, daß der Mac gar keine Vorteile gegenüber dem PC hat. Versteht mich nicht falsch, ich habe ein iBook und ich bin wirklich super zufrieden, aber naja, es ist halt nur ein Computer. Auch mein Mac ist mir schonmal abgeschmiert, genauso wie mein PC. Auch die Programme auf dem Mac stürzen mal ab und beeinflussen das Betriebssystem nicht, wie es auch unter Win2k der Fall ist. Ich arbeite vielleicht sogar lieber am Mac als am PC, aber vielleicht sieht man über ein paar Schwächen des Macs leichter hinweg als bei PCs. Vielleicht hat man zu Macs auch ein anderes "Verhältnis" als zu PCs.

    Bis denn dann

    Jan

  19. int i, MeinFeld;

    for (i=0; i<10; MeinFeld[i++]=0);

    int MeinFeld ist kein Array sondern eine ganz normale Variable.

    int MeinFeld[10]; wäre korrekt.

    Borland C++ Builder 4.0 ist ein Produkt. Die Sprache C++ wurde 1998 von ISO standardisiert. Ich hatte mir schon fast gedacht, daß Du ein Produkt meintest, ich wollte nur darauf hinweisen, daß C++ eine Sprache ist und kein Produkt mit Versionsnummern.

    Bis denn dann

    Jan

  20. Ich versuche mal, ein paar von Deinen Fragen zu beantworten. Wozu Macs nun hauptsächlich benutzt werden kann ich Dir nicht verbindlich sagen. Macs werden sehr gerne, so heißt es zumindestens, in den kreativen Berufssparten (z.B. Werbebranche) eingesetzt. Ich selber benutze meinen Mac zum Surfen, Musikhören, Filme schauen, zum Texte schreiben (LaTeX) und für Präsentationen. Wenn ich dann mal Zeit habe mal wieder für mich zu programmieren, benutze ich mein iBook auch dafür. Also eigentlich alles, was ich mit einem "normalen" PC mache, kann ich auch mit meinem Mac machen. (Allerdings habe ich auch noch einen PC, so daß ich diesen notfalls anwerfen kann.) Wenn Du jetzt keine speziellen Windows-Programme im Einsatz hast, kannst Du, so denke ich, problemlos umsteigen.

    Die Prozessoren: Ein für x86 compiliertes Programm läuft natürlich nicht auf einem PowerPc Prozessor.

    Die Frage, die sich für mich stellt, ist warum Du einen Mac benutzen möchtest. Welche Erwartungen und Hoffnungen Du damit verbindest. Darauf könnte ich zumindestens viel gezielter antworten und Dir bei der Entscheidung helfen.

    HTH

    Jan

  21. Wenn man ein C/C++ Programm schreibt, muß es immer die main-Funktion geben, da dies der Eintrittspunkt des Programmes.

    ZB.:

    int main (void)

    {

    std::cout << "Hallo Welt!" << std::endl;

    }

    Unter Windows muß man keine main()-Funktion schreiben, aber dafür die WinMain-Funktion, die dann eine ähnliche Aufgabe wie die main übernimmt. Am besten schaust Du mal in der Hilfe nach, wie die WinMain-Funktion aufgebaut ist. Vielleicht gibt es in der Borland-Hilfe sogar ein Beispiel.

    HTH

    Jan

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...