Woodstock Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 Hi, ich bin's mal wieder. Also, ich habe jetzt angefangen in meinem Programm (welches ja Dateien nach Suchbegriffen durchsucht, die inzwischen direkt über die Command Line mitgegeben werden) den User entscheiden zu lassen ob er die Begriffe mit 'und' oder 'oder' verknüfen will. Um dieses dann auszuwerten habe ich einen Counter benutzt. Mein Chef meinte jetzt es wäre besser ein Array zu nehmen in dem ich Flags setzte und dann hinterher entscheide wie das Ergebniss ausfällt. Wie mache ich soetwas :confused: ? Bitweises setzten auf true bzw. false? Bine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DocMabuse Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 Könntest Du nicht einfach mit einer Variable vom Typ "bool" arbeiten? Die kannst Du auf "true" oder "false" setzen, je nachdem ob der User beide Begriffe sucht (und-Verknüpfung) oder nur einen davon (oder-Verknüpfung). Dann prüfst Du den Status der bool-Variable und entscheidest Dich dann für den richtigen Programmzweig... Oder direkt den übergebenen Parameter prüfen, ohne einer bool-Variable true oder false zuzuweisen?! Vielleicht verstehe ich die Frage aber auch nicht richtig?! DocMabuse <FONT COLOR="#a62a2a" SIZE="1">[ 12. November 2001 13:34: Beitrag 2 mal editiert, zuletzt von DocMabuse ]</font> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gajUli Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Woodstock: <STRONG>Mein Chef meinte jetzt es wäre besser ein Array zu nehmen in dem ich Flags setzte und dann hinterher entscheide wie das Ergebniss ausfällt. Wie mache ich soetwas :confused: ? Bitweises setzten auf true bzw. false? </STRONG> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Woodstock Geschrieben 12. November 2001 Autor Teilen Geschrieben 12. November 2001 Nein, lieber wäre mir ein Array mit boolschen Werten, aber ich habe davon (zumindest jetzt) noch keine Ahnung. Wie läuft das bei einem solchen Array. Kann ich das in der MSDN nachlesen? Wenn ja unter was? Muss ich das Array dynamisch anlegen? Bine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gajUli Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 Wenn ich mich recht entsinne, bist Du ja mit ANSI-C zugange. Da gibts keinen bool-Typ. Man nimmt einfach eine char-Variable. Ist sie Null, gilt das als false, in allen anderen Faellen ist sie true. so etwa: char c1=37, c2=-37, c3=0; if (c1) ... true if (c2) ... true if (c3) ... false Das Gleiche gilt fuer Ausdruecke: if (c1+c2) ... false if (c1-c2) ... true if (c1*c3) ... false Als Array: char c[] = {37, -37, 0}; if (c[2]) ... false Joo, so is datt... Uli Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Woodstock Geschrieben 12. November 2001 Autor Teilen Geschrieben 12. November 2001 Muss ich das Array denn jetzt dynamisch machen, oder von vornherein sehr groß wählen und hoffen das nichtmehr Suchbegriffe gesucht werden? Bine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schnitzel21m Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 ja Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
haddock Geschrieben 12. November 2001 Teilen Geschrieben 12. November 2001 Dynamische Arrays sind immer etwas toleranter und belegen keinen unnötigen Speicherplatz - daher tendiere ich immer dazu, wenn du damit klarkommst, ist das oft die günstigere Wahl Der "klassische" C-Weg wäre ja entweder: #define TRUE 1 #define FALSE 0 oder enum mybool{false=0, true}; Allerdings sind bei MSVC, das du meines Wissens benutzt, TRUE und FALSE schon passend definiert und du kannst einfach den Typ bool benutzen. Leider ist dein Code dann nicht mehr reines ANSI-C und infolgedessen nicht mehr portabel. Du kannst aber andere sprechende Namen verwenden, wie WAHR/FALSCH oder bineTrue/bineFalse ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Woodstock Geschrieben 13. November 2001 Autor Teilen Geschrieben 13. November 2001 Also das mein Code portabel ist, darauf kommt es wohl nicht an, denn sonst hätte mein Chef ja nicht gesagt ich solle boolsche Werte benutzen. Ich weiß nur nicht so ganz wie ich das anstellen soll. Klappt mal wieder nicht so wie ich es gerne hätte. Bine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.