1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. Forum für alle anderen Programmiersprachen

if-char Problem

  • maximilian515
  • 28. Juli 2010 um 01:03
  • maximilian515
    Anfänger
    Beiträge
    5
    • 28. Juli 2010 um 01:03
    • #1

    Ich habe aus Langeweile ein kleines Programm geschrieben! C++ zeigt mir keinen Fehler an, aber es Funktioniert nicht! Hier ist mal kurz mein Code:

    C
    [COLOR=SeaGreen]#include <iostream>
    #include <conio.h>[/COLOR]
    
    
    [B]using namespace[/B] std;
    
    
    [B]int[/B] main()
    {
        [B]char[/B] marke[[COLOR=Purple]3[/COLOR]];
        cout << [COLOR=Red]"Dies ist der Handyfinder!\nBeliebige Taste zum fortfahren dr\201cken!"[/COLOR];
        getch();
        cout << [COLOR=Red]"\n\nWelche Marke solls sein:\n"[/COLOR];
        cout << [COLOR=Red]"Samsung, Lg, Sony Ericsson, Nokia oder Motorola?\n\nGeben Sie bitte nur die ersten 4 Buchstaben ein: "[/COLOR];
        cin >> marke;
    
        [B]if[/B] ( marke == ([COLOR=Red]"Sams"[/COLOR]) || marke == ([COLOR=Red]"sams"[/COLOR]) )
        {
            cout << [COLOR=Red]"Sie haben Samsung gewählt!"[/COLOR];
        }
    
    
        [B]else[/B]
        {
             cout << [COLOR=Red]"\n\nFehler! Geben Sie die Handymarke erneut ein (Ersten 4 Buchstaben): "[/COLOR];
             cin >> marke;
        }
        getch();
        [B]return[/B] [COLOR=Purple]0[/COLOR];
    }
    Alles anzeigen

    Einmal editiert, zuletzt von The User (28. Juli 2010 um 10:37) aus folgendem Grund: chiques highlighting, aber wenn du [code] drumrum setzt, klappt es auch mit der Einrückung ;)

  • The User
    Forum Guru
    Beiträge
    4.044
    • 28. Juli 2010 um 10:34
    • #2

    Wie wäre es, wenn du nicht ein char-Array, in das maximal ein 2 Buchstabiges Wort renpasst (musst 3-1 rechnen, 1 wird als Marker am Ende verwendet), und das sich egtl. weder mit cin einlesen noch mit cout ausgeben lässt (das wird eingelesen und ausgegeben, aber nicht als string), und auch keine Vergleiche mit == zulässt, einen string benutzen würdest? ;)
    Also achte darauf: Keine char-Arrays benutzen!

    Musst dann einfach so einen Code benutzen:

    Code
    string marke;

    Viele liebe Grüße
    The User

    PS:
    Wie hast du das mit Highlighting gemacht?

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

  • maximilian515
    Anfänger
    Beiträge
    5
    • 28. Juli 2010 um 10:50
    • #3

    Danke für die Erklärung, aber ich bin noch frisch in c++ und checke das immer noch nicht:!:

    Muss man nicht übrigens 3+1 statt 3-1 rechnen:?:
    Es fängt nämlich nicht bei 1 sondern bei 0 an:!:

  • The User
    Forum Guru
    Beiträge
    4.044
    • 28. Juli 2010 um 17:35
    • #4

    Wenn da steht char x[3], dann heißt das von 0 bis 2, das macht drei, wenn du jetzt einen String damit einliest, kann es ja aber auch passieren, dass er nur die Länge 1 hat, deshalb braucht es am Ende eine Marke, die 1 Byte einnimmt, daher maximale Länge 2, aber wenn du einen string benutzt, hast du die ganzen Probleme nicht, Anfänger sollten sowieso keine Arrays benutzen.

    Und jetzt erklär mir mal noch das mit dem Highlighting. ;)

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

  • maximilian515
    Anfänger
    Beiträge
    5
    • 28. Juli 2010 um 18:16
    • #5

    Ich hab einfach den Code kopiert und Fett und Farbig gemacht! das ist alles!:)

  • maximilian515
    Anfänger
    Beiträge
    5
    • 28. Juli 2010 um 18:18
    • #6

    und kannst du mir nicht ein beispiel geben? zum Beispiel die if abfrage richtig aufschreiben oder so... würde mir echt helfen!

  • The User
    Forum Guru
    Beiträge
    4.044
    • 28. Juli 2010 um 19:16
    • #7

    Ist ja alles richtig, musst nur die Zeile „char marke[3];“ wegmachen und durch „string marke;“ ersetzen… Sagte ich doch…

    Freiheit bedeutet mehr.

    "Mir ist die gefährliche Freiheit lieber als eine ruhige Knechtschaft."
    (Jean Jacques Rousseau)
    Mein Blog zum Programmieren, GNU/Linux etc.
    Free Chelsea Manning!
    Stolzer Nutzer von KDE, openSUSE und Qt.

  • maximilian515
    Anfänger
    Beiträge
    5
    • 28. Juli 2010 um 20:55
    • #8

    Danke, jetzt hab ichs hinbekommen!:)

Tags

  • color
  • programm
  • problem
  • code
  • fehler
  • array
  • ring
  • include
  • rechnen
  • string
  • maximal
  • samsung
  • byte
  • c++
  • int
  • arrays
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™