TweakPC

Zurück   Computer Hardware Forum - TweakPC > Games und Software > Programmiersprachen
Registrieren Hilfe Community Downloads

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26.09.2003, 19:48   #1 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard wo ist der programmfehler?

ja es ist primitiv und ja es ist nicht elegant

und es hat auch noch einen fehler...
aber ich sehe ihn nihct.

ihr?

Code:
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>
#include <ctype.h>

int main ()
{

	double x,y ;
	char c ;
	



	do
	{
		
		cout << "bitte zaehler eingeben: " ;
		
			if(! (cin >> x))
			{
				cerr << endl << endl << "zaaahhlen junge..... zaahlen!" << endl << "auf, nochma!" << endl << endl;
					continue;
			}

		cout << "bitte nenner eingeben: " ;
		
			if(! (cin >> y))
			{
				cerr << endl << endl << "zaaahhlen junge..... zaahlen!" << endl << "auf, nochma!" << endl<< endl;
					continue;
			}
		
		
		
		if(y==0)
		{
			cout << endl << "division durch 0.... schaem dir!" << endl;
			cout << "probiers nochma!" <<endl <<endl;
				continue;		
		}

	
				
		else 
		{
			cout << "das ergebnis ist: " <<x/y << endl ;
		}
		
		cout << endl;


	cout << "hast du genug? weicheier druecken e oder E" << endl;
	cin >> c;
	cout << endl;
	
	if (c=='e') break;
	if (c=='E') break;

	}while (1);

cout << "Weichei....Abbrecher....Rausgeher!!" << endl ;

getchar ();

return 0;
}
wenn man einen buchstaben bei für x und y eingibt sollte der code in der if anweisung ausgeführt werden. das tut er auch, aber danach macht das programm gaaanz blöde dinge...
Ihr seid ja nur neidisch, weil ich der einzige bin, zu dem die leisen Stimmen sprechen!
TweakPC IRC Channel: #tweakpc im Quakenet (irc.quakenet.org)
Satzzeichen folgen direkt hinter einem Wort. Es ist kein Leerzeichen dazwischen!
_Smash_ ist offline   Mit Zitat antworten
Alt 26.09.2003, 22:45   #2 (permalink)
Extrem Tweaker
 
Benutzerbild von sys3
 

Registriert seit: 17.09.2002
Beiträge: 1.906

sys3 befindet sich auf einem aufstrebenden Ast

Standard

Ich sehe gerade auch keinen Fehler - daher die Frage: Was für blöde Dinge denn?
sys3 ist offline   Mit Zitat antworten
Alt 27.09.2003, 08:51   #3 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

wenn man einen ungültigen wert, also zb das 'a' eingibt, dann macht er dieses hier:

http://mitglied.lycos.de/riess/pics/prog.jpg

er führt den code ganz normal aus, allerdings übergeht er die eingabe und nimmt einen falschen wert von vorneherein an...
ergebins.. er hängt in einer art endlosschleife.
_Smash_ ist offline   Mit Zitat antworten
Alt 27.09.2003, 13:14   #4 (permalink)
Extrem Tweaker
 
Benutzerbild von sys3
 

Registriert seit: 17.09.2002
Beiträge: 1.906

sys3 befindet sich auf einem aufstrebenden Ast

Standard

Lösch mal den Tastaturpuffer vor jeder Eingabe (müsste flushkb() oder so ähnlich heißen).
sys3 ist offline   Mit Zitat antworten
Alt 27.09.2003, 13:18   #5 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

endl löscht den tastaturpuffer aber auch.

nen kumpel hats jetzt irgendwie herausgefunden

wenn man die include dateien so ändert:

Code:
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include <ctype.h>

using namespace std;
und noch 2 komische zeilen einfügt

Code:
cout << "bitte zaehler eingeben: " ;
		
			if(! (cin >> x))
			{
				cin.clear();
				cin.seekg(0, ios::end);

				cerr << endl << endl << "zaaahhlen junge..... zaahlen!" << endl << "auf, nochma!" << endl << endl;
					continue;
			}
dann gehts aus irgend einem grund.... warum kann ich aber (noch) nicht erfassen...
_Smash_ ist offline   Mit Zitat antworten
Alt 28.09.2003, 08:51   #6 (permalink)
Hardware Freak
 
Benutzerbild von BomberD
 

Registriert seit: 10.04.2002
Beiträge: 7.476

BomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer Anblick

Standard

die beiden zeilen 'löschen' wohl den eingabestream...

ich bin mir aber recht sicher dass ich ein ähnliches programm ohne große probleme mit c++ schreiben konnte...

reicht da nicht die erste zeile cin.clear() ?
BomberD ist offline   Mit Zitat antworten
Alt 28.09.2003, 10:38   #7 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

aber wieso diese änderung der include dateien?

iostream und iostream.h?
_Smash_ ist offline   Mit Zitat antworten
Alt 28.09.2003, 17:15   #8 (permalink)
Extrem Tweaker
 
Benutzerbild von Dr. BeSt
 

Registriert seit: 20.06.2002
Beiträge: 2.281

Dr. BeSt sorgt für eine eindrucksvolle AtmosphäreDr. BeSt sorgt für eine eindrucksvolle AtmosphäreDr. BeSt sorgt für eine eindrucksvolle Atmosphäre

Standard

Nur mal nebenbei bemerkt: So ein Programm könnte man auch viel einfacher lesbar (ohne diesen C++ typischen Hiroglyphen-Tingeltangel) in Basic schreiben - mit dem gleichen Ergebnis.
Dr. BeSt ist offline   Mit Zitat antworten
Alt 29.09.2003, 09:01   #9 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

man könnte es auch in jeder anderen programmiersprache schreiben, das ist aber nicht der sinn der sache.
_Smash_ ist offline   Mit Zitat antworten
Alt 29.09.2003, 09:54   #10 (permalink)
Hardware Freak
 
Benutzerbild von BomberD
 

Registriert seit: 10.04.2002
Beiträge: 7.476

BomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer AnblickBomberD ist ein wunderbarer Anblick

Standard

@smash:

das mit iostream ohne 'h' seh ich jetzt erst. keine ahnung was das soll.
was sagtn die hilfe dazu?

gibs bei dir ne datei die nur include heist und keine endung hat?

stell mal das h dahinter und lösch die zeile unter cin.clear()
dann gehts nimmer?

@dr. best:

mit diesem hyroglyphen tingeltangel kann man ein programm auch lesbarer machen.

ich finde visual basic unübersichtlicher.

hab shcon überlegt die klammern aus c++ zu nutzen und diese dann auszukommentieren

ist alles gewohnheit.
BomberD ist offline   Mit Zitat antworten
Alt 29.09.2003, 10:32   #11 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

hi.

mit iostream.h wird das namespace nicht erkannt.
und ohne das cin.seekg(0, ios::end); geht er wieder in die endlosschleife.
_Smash_ ist offline   Mit Zitat antworten
Alt 29.09.2003, 15:03   #12 (permalink)
Extrem Tweaker
 
Benutzerbild von Dr. BeSt
 

Registriert seit: 20.06.2002
Beiträge: 2.281

Dr. BeSt sorgt für eine eindrucksvolle AtmosphäreDr. BeSt sorgt für eine eindrucksvolle AtmosphäreDr. BeSt sorgt für eine eindrucksvolle Atmosphäre

Standard

Zitat:
Zitat von BomberD
@dr. best:

mit diesem hyroglyphen tingeltangel kann man ein programm auch lesbarer machen.
Deshalb haben die das wohl auch so entworfen.
Aber Basic-Sprachen kann man i.d.R. fast wie einen englischen Text weglesen - und wenn man mal komplexere Programme schreiben muss, dann kann man ja auch mit simplen Mitteln (wie Einrücken durch Tabs o.ä.) den Code lesbarer formatieren.

Naja, ich merke schon, das wird eine Grundsatzdiskussion die keinen weiterbringt...!
Dr. BeSt ist offline   Mit Zitat antworten
Alt 29.09.2003, 18:50   #13 (permalink)
Nachtduscher
 
Benutzerbild von _Smash_
 

Registriert seit: 22.01.2002
Beiträge: 12.569

_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick_Smash_ ist ein wunderbarer Anblick

Standard

vor allem weil ich diese sprache benutzen muss aber WER würde sich denn auch schon freiwillig solch ein programm schreiben...
_Smash_ ist offline   Mit Zitat antworten
Antwort

Stichworte
programmfehler


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.






Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved