Zum Inhalt springen

Suche mit 'und' - 'oder' Bedingung!


Woodstock

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

<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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ... ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...