Brauche hilfe programm hat keinen fehler läuft aber nicht wie es soll

habe das programm geschrieben aber es läuft nicht wie es soll aufbau auf steckboard scheint richtig lcd läuft taster ist richtig angeschlossen pull down angeschlossen mit 10kOhm aber dass lcd gibt weder floskel noch antwort aus
}

Magische_Miesmuschel.ino (1.22 KB)

Tipp:
Warnungen aktivieren und diese dann beheben.

Das dein Programm keine Fehler hat, bezweifel ich.

Prüfe mal deine Tastatur. Schifttaste defekt.

Du scheinst nicht verstanden zu haben wie Rückgabewerte von Funktionen arbeiten. Deine Funktionen geben String Objekte zurück mit denen nichts gemacht. Du rufst random() auf und machst nichts damit.

Hallo,

hab mal drübergeschaut.

  • Variablenschreibweisen überprüfen
  • in Funktionen würde ich nicht direkt globale Variablen verwenden
    Ich würde die immer übergeben, das machst du leider nach Lust und Laune, weil du auch versuchst Parameter zu übergeben ohne das die Funktionsdefinition dafür existiert. Der Rest wurde schon gesagt.

In der IDE alle Compilerwarnungen einschalten.
Datei > Voreinstellungen >

  • Ausführliche Ausgabe während > beide Haken rein
  • Compilerwarnungen > "ALLE"

Zeilennummern und Codefaltung sind auch hilfreich.

Doc_Arduino:
weil du auch versuchst Parameter zu übergeben ohne das die Funktionsdefinition dafür existiert

Das ist mir auch aufgefallen. Von daher kann die (implizierte) Aussage dass es kompiliert auch falsch

@TO: Setze Deinen Code bitte direkt ins Forum. Benutze dazu Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *). So ist er auch auf portablen Geräten lesbar.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

@gamingturi

Jetzt der 3te Thread zum gleichen Thema.

Und nein, dein Vorwurf ist ungerechtfertigt.
Du hast Hilfe bekommen, muss sie hur annehmen.

Und nein, dein Programm ist so falsch, dass es nicht kompiliert.


Wichtig:
Merze die Fehlermeldungen und Warnungen aus.

C/C++ ist Case sensitiv, wie viele User des Forums auch, darunter ich, also halte ich die Kritik zur fehlenden Groß-/Kleinschreibung gar nicht mal für fies. Es liest sich halt besser und sollten für dich Gründe dagegen sprechen, könntest du die ja auch mitteilen.

Ach ja, Satzzeichen können Leben retten. Aber ich bin hier nicht freiwillig um Leute zu erziehen. :wink:

PS: Ist nicht böse gemeint, es liest sich nur erheblich einfacher.

Da der TO es nicht für nötig hält, hier auf unsere Fragen und Informationen einzugehen, sondern extra neue Threads eröffnet, um rumzutrollen und auf den Antwortenden rumzuhacken, hat er auch kein Interesse mehr, dass ihm noch geholfen wird.

Somit können wir das Thema schließen.

Hab die anderen 2 Topics von gamingturi gelöscht.

@gamingturi bitte antworte in diesem Tread.
Grüße Uwe

Hallo,

wegen der Textausgabe habe ich mal ein Bsp. gemacht. Damit siehst hoffentlich wie man das machen kann. Ist bewusst einfach gehalten. Der Rest mit dem Taster, Funktionen usw. solltest du selbst hinbekommen. Wenn es auch da holpert solltest du erstmal ein C/C++ Buch lesen. Oder wenigstens erstmal die Bsp. der IDE durcharbeiten.

const byte MAXZEICHEN = 20;     // maximale Anzahl der Zeichen

const byte ANTWORTMENGE = 7;    // Antwortmenge
char antwort[ANTWORTMENGE][MAXZEICHEN] = {
  "Ja!",
  "Nein!",
  "eher Nicht",
  "denke schon",
  "ich glaube ja",
  "Klar",
  "natuerlich Nicht!"
};


void setup()
{
  Serial.begin(9600);
  
  for (byte i = 0; i < ANTWORTMENGE; i++)
  {
    Serial.println(antwort[i]);
  }
}


void loop()
{
  
}

@Doc : Manche mögen keine Zeiger, aber zweidimensionale Arrays sind selten besser.

Du wolltest sicher sowas vorschlagen:

const byte ANTWORTMENGE = 7;    // Antwortmenge
const char* antwort[ANTWORTMENGE] = {
  "Ja!",
  "Nein!",
  "eher Nicht",
  "denke schon",
  "ich glaube ja",
  "Klar",
  "natuerlich Nicht!"
};


void setup()
{
  Serial.begin(9600);
 
  for (byte i = 0; i < ANTWORTMENGE; i++)
  {
    Serial.println(antwort[i]);
  }
}


void loop() {}

spart Flash und RAM

Noch ohne PROGMEM / __FlashStringHelper *

Hallo,

ja okay, sieht besser aus. :slight_smile: