C++ IF Schleife Aufgabe Anfänger Differenzierung von Zeilen

Hundekuchen

Cadet 4th Year
Registriert
Juli 2018
Beiträge
67
Aufgabenstellung :
Über die Tastatur wird eine Zahl eingelesen. Die Zahl soll zwischen 10 und 100 liegen. Die Antwort lautet entweder ’richtig’ oder ’falsch’. Lösen Sie die Aufgabe mit einer einzigen if-Anweisung

Mein jetziger Code

// Aufgabe5If.cpp: Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include "iostream"
#include <conio.h>


int main()
{
using namespace std;
int zahl1;
std::cin >> zahl1;
if (zahl1 < 10)
std::cout << "falsch";
else
if (zahl1 < 100);
std::cout << "falsch";

if (zahl1 > 10)
std::cout << "richtig";

Es compeliert auch ( nutze Visual Studio 2017) aber wenn ich jetz beispielsweise 50 eingebe sagt er falschrichtig wie differnzier ich das denn?
 
was mach ich denn da ohne if? mein code besteht aus ifff....
 
Zuletzt bearbeitet von einem Moderator: (Fullquote des direkten Vorposter entfernt)
Ich zähle bei dir 3 if Abfragen. Versuch das ganze mal in einem if zusammen zu fassen, in dem du prüfst ob die Zahl im gesuchten Bereich liegt. Und dann 1 else falls dem nicht so ist.
 
In deinem Beispiel ist alles total durcheinander schau dir die letzten 4 Zeilen nochmal an
das kann nicht funktionieren !

Ist doch nur Logisch das du nur Falsepositiv rausbekommst !
 
If-Schleife...ARRRRRRRGH. Da rollen sich ja die Fußnägel hoch. Das IF ist _keine_ Schleife. Das IF ist eine Bedingung.
Vielleicht sollte man euch grundlegendes Programmieren beibringen, bevor man euch auf Code loslässt.

Zu deiner Frage:
if (zahl1 < 100);
std::cout << "falsch";

Da ist doch dein Fehler.
Muss ja größer 100 heißen.
Außerdem kannst du alles mit dem gescheiten Operator auch alles in einem if packen, so ist es übersichtlicher.
 
  • Gefällt mir
Reaktionen: BAGZZlash
Ebrithil schrieb:
Ich zähle bei dir 3 if Abfragen. Versuch das ganze mal in einem if zusammen zu fassen, in dem du prüfst ob die Zahl im gesuchten Bereich liegt. Und dann 1 else falls dem nicht so ist.

Keine Ahnung wie das geht
Ergänzung ()

axl foli schrieb:
If-Schleife...ARRRRRRRGH. Da rollen sich ja die Fußnägel hoch. Das IF ist _keine_ Schleife. Das IF ist eine Bedingung.
Vielleicht sollte man euch grundlegendes programmieren beibringen, bevor man euch auf Code loslässt.

Zu deiner Frage:
if (zahl1 < 100);
std::cout << "falsch";

Da ist doch dein Fehler.
Muss ja größer 100 heißen.
Außerdem kannst du alles mit dem gescheiten Operator auch alles in eine Abfrage packen, so ist es übersichtlicher.


using namespace std;
int zahl1;
std::cin >> zahl1;
if (zahl1 < 10)
std::cout << "falsch";

else
if (zahl1 <= 100);
std::cout << "richtig";
wenn ich es so mache dann brauch ich ja noch etwas das über 100 falsch sagt jetzt sagt er ja auch da richtig nur wenn ich zusätzlich eine selbe mit >100 hinzufüge heißts wieder richtigfalsch
 
Hundekuchen schrieb:
Keine Ahnung wie das geht
Ergänzung ()




using namespace std;
int zahl1;
std::cin >> zahl1;
if (zahl1 < 10)
std::cout << "falsch";

else
if (zahl1 <= 100);
std::cout << "richtig";
wenn ich es so mache dann brauch ich ja noch etwas das über 100 falsch sagt jetzt sagt er ja auch da richtig nur wenn ich zusätzlich eine selbe mit >100 hinzufüge heißts wieder richtigfalsch und unter 10 falschrichtig
Ergänzung ()

SoDaTierchen schrieb:
https://www.computerbase.de/forum/threads/fragen-hausaufgaben-co.1767679/

Versuche erstmal logisch zu verstehen, was dein Programm ausgeben soll, danach kannst du den Quellcode schreiben. Also formuliere einfach einen deutschen Satz, der beschreibt, was dein Programm ausgeben soll.

Ist keine Hausaufgabe
 
Ändert nichts daran, dass du für eine Lösung zuerst das Problem verstehen musst. Formuliere einen deutschen Satz, der beschreibt, welche Eingabe welche Ausgabe erzeugt.
 
C++:
if(zahl1 > 10 && zahl1 < 100) ? std::cout << "richtig" : std::cout << "falsch";

WENN zahl1 größer 10 UND zahl1 kleiner 100 DANN richtig SONST falsch

Das wird deine Aufgabe lösen, wohl aber nicht dein Problem zum grundlegenden Verständnis des Programmierens.

Wenn du in der Schule programmieren lernst, wirst du nicht drum rum kommen, die Grundlagen zu lernen.
 
  • Gefällt mir
Reaktionen: Hundekuchen
@michi174: Das ist syntaktisch falsch. Es fehlt eine Anweisung nach dem if. hast du versucht, das mal zu kompilieren? if und ? lassen sich nicht mixen.

@Hundekuchen: Was mache ich dann mit 105? Das ist größer als 10 und größer als 100. Ist dass dann richtig UND falsch? Edit: Mal abgesehen davon, dass das ein miserables Deutsch ist.
 
michi174 schrieb:
C++:
if(zahl1 > 10 && zahl1 < 100) ? std::cout << "richtig" : std::cout << "falsch";

WENN zahl1 größer 10 UND zahl1 kleiner 100 DANN richtig SONST falsch

Das wird deine Aufgabe lösen, wohl aber nicht dein Problem zum grundlegenden Verständnis des Programmierens.

Wenn du in der Schule programmieren lernst, wirst du nicht drum rum kommen, die Grundlagen zu lernen.
ok habs verstanden
 
Wenn Zahl kleiner 10 oder größer 100 dann schreibe "falsch" sonst schreibe "richtig".
 
Schade, dass Hundekuchen alles vorgekaut wurde :( So ist der Lerneffekt quasi 0.
 
  • Gefällt mir
Reaktionen: HerrRossi und Ebrithil
[

Doch ich hab mir das nochmal angeguckt und verstanden
 
Zuletzt bearbeitet von einem Moderator: (Fullquote des direkten Vorposter entfernt)
Hundekuchen schrieb:
Doch ich hab mir das nochmal angeguckt und verstanden
Etwas nach zu vollziehen und etwas selbst zu erarbeiten hat nie im Leben den selben Lerneffekt.
 
Ebrithil schrieb:
Etwas nach zu vollziehen und etwas selbst zu erarbeiten hat nie im Leben den selben Lerneffekt.

Ich bin der Lerneffekt
Ergänzung ()

// Aufgabe6.cpp: Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include "iostream"
#include <conio.h>

using namespace std;
int main()
{

int anzahl1;
float gesamt;
cin >> anzahl1;
float flaschenpreis;
double rabatt;
float Gesamtpreis;


cout << "Geben sie Ihre Stückzahl ein !";
if (anzahl1 > 10)
{
rabatt = 5;
Gesamtpreis = anzahl1 * 3,5 - anzahl1 * 3,5 * rabatt / 100;
cout << "Gesamtpreis" << gesamt;
}
else
{
if (anzahl1 > 50)
rabatt = 10;
Gesamtpreis = anzahl1 * 3,5 - anzahl1 * 3,5 * rabatt / 100;
cout << "Gesamtpreis" << gesamt;
}

Keine übereinstimmendes Token
 
Zuletzt bearbeitet:
Zurück
Oben