Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst C plus plus - Programmierung Do While Schleife

Mitglied: coma11

coma11 (Level 1) - Jetzt verbinden

08.02.2013 um 12:02 Uhr, 3004 Aufrufe, 11 Kommentare

Ein freundliches Hallo an alle,

ich versuche mich momentan ein Bisschen am Programmieren (mehr oder weniger erfolgreich :D ).

Ich versuche eine do-while Schleife zu bauen aber das klappt nicht ganz.

#include <iostream>
#include <math> // Headerdatei für mathematische Funktionen
using namespace std;
int main()
{

int eingabe;
char * ende;
double wurzel;

do
{
cout <<"Programm zur Wurzelberechnung" << endl;
cout << endl;
cout << "Geben Sie bitte eine Zahl ein: ";
cin >> eingabe;
if (eingabe >=0)
{

wurzel=sqrt(eingabe);
cout << "Wurzel von " << eingabe << " = "
<< wurzel << endl;
}

else
{
cout << "Wurzel negativer Zahlen kann nicht"
<< "berechnet werden" <<endl;


}
cout << "Neue Berechnung (ja / nein)"<<endl;
cin >> ende;

}
while (ende="ja");


cout << endl;
cout << "Programm wird beendet.";


getchar();
return 0;

Das Programm soll eine Wurzelberechnung durchführen. Wenn die Eingabe positiv ist, soll die Rechnung erfolgen,
wenn die eine negative Zahl eingegeben wird, wird : cout "Wurzel negativer Zahlen kann nicht berechnet werden"
ausgegeben. Nach if oder else soll mir die Möglichkeit angeboten werden ob ich das Ganze nochmal machen möchte.

Endlich zum Problem:

Wenn ich das Programm ausführe, die Wurzelberechnung erledige werde ich halt gefragt ob ich denn noch einmal rechnen möchte, allerdings ist es dann egal, was ich eingebe, das Programm beendet sich. Und da liegt der Fehler... Das Programm soll sich nur bei ja fortsetzen und bei nein beenden
Was muss ich verändern damit es funktioniert? Bzw. was habe ich falsch programmiert?

LG coma11
Mitglied: SlainteMhath
08.02.2013 um 12:07 Uhr
Moin,

01.
[...] 
02.
while (ende="ja"); 
03.
[...]
==

lg,
Slainte
Bitte warten ..
Mitglied: coma11
08.02.2013 um 12:08 Uhr
Funktioniert bei mir so leider nicht
Bitte warten ..
Mitglied: SlainteMhath
08.02.2013 um 12:19 Uhr
Funktioniert bei mir so leider nicht
Kannst Du das mal genauer erklären?

ende="ja" ist eine Zuweisung.
ende=="ja" ist ein Vergleich.
Bitte warten ..
Mitglied: coma11
08.02.2013 um 12:25 Uhr
Wenn ich deine Veränderung einbaue bleibt der Fehler dass es dem Programm egal ist was ich eingebe, es möchte eine neue Zahl zum Rechnen.
Bitte warten ..
Mitglied: danielfr
08.02.2013 um 13:45 Uhr
Auf die Schnelle:
- char * ende; -> da wird nie Speicher für reserviert?
- mit == kann man nur einzelne Zeichen vergleichen, du kannst z.B. char ende (* weglassen) verwenden (ist dann nur ein zeichen) und als Eingabe nur j oder n benutzen
- strings Vergleichen mit z.B. strcmp: http://www.cplusplus.com/reference/cstring/strcmp/
have fun
Bitte warten ..
Mitglied: 64748
08.02.2013, aktualisiert um 13:59 Uhr
Hallo,

soweit ich weiß, kann man in C++ mit == keine Strings vergleichen, nur Zahlen oder (einzelne) Zeichen.

Probier doch mal 'j' und 'n' anstatt "ja" und "nein". Oder schau Dir mal die string Bibliothek an.
http://www.cplusplus.com/reference/string/string/compare/

Markus

Edit: da war danielfr schneller, aber damit sollte der Fehler im Programm wohl gefunden sein.
Bitte warten ..
Mitglied: ChrisMoltisanti
08.02.2013 um 14:33 Uhr
Hi coma11,

es wäre sicherlich hilfreich beim nächsten Mal den Code als Code zu posten und evtl. die Schleife und die If-Bedingung etwas einzurücken, um den Code leserlicher zu machen!

Gruß
Bitte warten ..
Mitglied: coma11
08.02.2013 um 14:53 Uhr
Zitat von ChrisMoltisanti:
Hi coma11,

es wäre sicherlich hilfreich beim nächsten Mal den Code als Code zu posten und evtl. die Schleife und die If-Bedingung
etwas einzurücken, um den Code leserlicher zu machen!

Gruß

Sorry hab ich dem Fall nich wirklich bedacht, es sei mir bitte als Anfängerfehler verziehen. :D

Danke schon mal für eure Hilfe, ich gebe Rückmeldung wenn ich es probiert hab.

LG coma11
Bitte warten ..
Mitglied: coma11
08.02.2013 um 15:34 Uhr
Wenn ich das * bei char * ende; (in Zeile 9) dann spuckt er mir folgenden Fehlermeldung aus:

Cannot convert 'char *' to 'char' in function main()
Bitte warten ..
Mitglied: danielfr
08.02.2013 um 16:03 Uhr
dann versuche es mal mit getchar statt cin:
http://www.cplusplus.com/reference/cstdio/getchar/
vielleicht wäre es ganz gut erstmal die Grundlagen festzuklopfen... z.B.
http://www.online-tutorials.net/c-c++-c/c++-tutorial-teil-1/tutorials-t ...
Bitte warten ..
Mitglied: coma11
18.02.2013 um 07:41 Uhr
Ich kam heute endlich dazu die ganze Sache zu probieren...

Habs mit euren ganzen Tipps letzetndlich hinbekommen...

Ein weiteres Danke an die Hilfe der Community

LG coma11
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Do-While Schleife mit test-path
gelöst Frage von windelterroristBatch & Shell12 Kommentare

Sry, dass ich euch nochmals stören muss Brauche Hilfe bei einer Do-While Schleife Es soll erst nach $destination abgefragt ...

Batch & Shell

VBS - Do While Schleife - zusätzliche Bedingung

gelöst Frage von goodbytesBatch & Shell5 Kommentare

Hallo, in einem Ordner sollen alle jpg- und pdf-Datein durchlaufen werden, umbenannt und verschoben werden. Das funktioniert auch tadellos, ...

Batch & Shell

Seltsames Verhalten bei Errorlevel abfrage in FOR DO Schleife

gelöst Frage von Kalma73Batch & Shell1 Kommentar

Hallo, ich bin gerade dabei ein Stromausfall Shutdown Script zu schreiben. Habe schon einiges Ausprobiert und mir ist etwas ...

Batch & Shell

Umgang mit externen Variablen innerhalb einer FOR ... DO Schleife ...

gelöst Frage von JuergenlBatch & Shell4 Kommentare

Hallo BATCH'elors mein oben beschriebene Aufgabenstellung habt Ihr Euch sicher längt an den Schuhsolen abgelaufen - ich bitte daher ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 2 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 11 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...