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

Frage Entwicklung C und C++

GELÖST

C plus plus - Programmierung Do While Schleife

Mitglied: coma11

coma11 (Level 1) - Jetzt verbinden

08.02.2013 um 12:02 Uhr, 2984 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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...