Erster programmier Versuch
-
Schaut nach einem reinen C Programm aus. Als solches wäre es wohl im C Forum besser aufgehoben, dann würde sich auch keiner über die Header mokieren.
-
otze schrieb:
langsam wirds mir unheimlich...wieso machen alle neuen dieselben fehler?
wieso benutzt keiner der neuen die neuen streams, sondern nur printf und konsorten.das ist eine verschwörung, ganz sicher.
was die includes betrifft nehmen oft selbst c++ tutorials/bücher teilweise die c header (ich in der regel auch aus gewohnheit)
so toll sin die c++ header ja nich
z.b.// cstdio standard header #if _MSC_VER > 1000 #pragma once #endif #ifndef _CSTDIO_ #define _CSTDIO_ #ifdef _STD_USING #undef _STD_USING #include <stdio.h> #define _STD_USING #else #include <stdio.h> #endif /* _STD_USING */ #endif /* _CSTDIO_ */
-
randa schrieb:
MaSTaH schrieb:
Schau dir doch nur einige Tutorials oder Kursmaterialien an die google ausspuckt.
hast recht:
#include <iostream.h> /* Das ist die Definitionsdatei für Ströme */
http://ladedu.com/cpp/src_html/komm.html
lolEdit: und noch eins, sogar noch besser:
# include <iostream.h> // Library für Ein- und Ausgabefunktionen void main ( ) ...
http://www.inf.fu-berlin.de/lehre/kurse/cplusplus/Lektion1.html#HDR0
na ja, der erste link ist von 1996
der zweite ist von 1994
http://www.inf.fu-berlin.de/lehre/kurse/ich frage jetzt mal nicht, ob ihr eure seiten täglich neu von fehlern befreit, und auch nicht, ob ihr nach euren vor mehr als 10 jahren geschriebenen turorials permanent googlet, weil irgendeiner die alte version runtergeladen hat und auf seine page stellt.
programmieren lernen kann man trotzdem mit vielen guten tutorials. wir sind ja schließlich erwachsen und denken mit
-
Das Problem an vielen Kursen ist, dass sie immer noch so unterrichtet werden an einigen Unis (zum Glück nicht an meiner
).
-
Ich kommentier jetzt mal dein Programm, ja (sieht mehr nach c aus -> dafür gibts hier auch ein Forum, ich versuche mich mal an sauberem c++)
#include <stdio.h> #include <process.h> //Brauchst du nicht #include <math.h> //Wo benutzt du die? #include <iostream.h> /nein!!! iostream!!!!! und using namespace std void berechnung() { /*Funktion zur berechnung*/ //sinnvoller wäre es, double zurückgeben zu lassen und die Parameter zu erwarten? double a=0; double x0=0; double d=0; double x=0; int c=0; do { x=(0,5*(x0+a/x0)); x=((x-x0)/x0); printf("Beim ,%d, Durchlauf ist x: ,%f",c,x); //cout (typsicher x0=x; c=(c+1); } while(x>d); }; float main (void) //int main() { double a=0; double x0=0; double d=0; double x=0; int c=0; char weiter=0; do { system("cls"); printf("Herzlich Willkommen\n"); printf("Bitte geben Sie nun den Wert fuer X0 ein: "); scanf("%lf",x0); printf("Bitte geben Sie nun den Wert für a ein: "); scanf("%lf",a); printf("Bitte geben Sie nun die zu ereichende Genauigkeit d ein: "); scanf("%lf",d); c=1; berechnung(); printf("Die gewünschte Genauigkeit wurde erreicht Das Endergebnis für x ist: ,%f,x"); printf("Möchten Sie dieses Programm nocheinmal benutzen? j/n: "); scanf("%c",weiter); } while(weiter=='j'); printf("Danke dass Sie dieses Programm verwendet haben"); printf("Auf Wiedersehen"); return 0; };
so würde ich das machen: (mir ist die Berechnung schleierhaft, kommt erst noch in Mathe, denk ich mal...
#include <iostream> double berechnung(double a, double x0, double d) { double x; int c=0; do { x=0,5*(x0+a/x0); x=(x-x0)/x0; cout<<"Beim "<<c<<". Durchlauf ist x: "<<x<<flush; x0=x; c++; } while(x>d); }; int main () { double x0,x,a,d; int c=0; char weiter=0; do { system("cls"); cout<<"Herzlich Willkommen"<<endl; cout<<"Bitte geben Sie nun den Wert fuer X0 ein: "; cin>>x0; cout<<"Bitte geben Sie nun den Wert für a ein: "; cin>>a; cout<<"Bitte geben Sie nun die zu ereichende Genauigkeit d ein: "; cin>>d; c=1; x=berechnung(a,x0,d); cout<<"Die gewünschte Genauigkeit wurde erreicht. Das Endergebnis für x ist: "<<x<<endl; cout<<"Möchten Sie dieses Programm nocheinmal benutzen? j/n: "; cin>>c; } while(weiter=='j'); cout<<"Danke dass Sie dieses Programm verwendet haben"<<endl; cout<<"Auf Wiedersehen"; return 0; };
Bestimmt nicht perfekt, auch hätte es sicher anders gemacht, aber dann wäre ja gar nichts mehr von deinem Quelltext zu erkennen...
-
Sovok schrieb:
// cstdio standard header #if _MSC_VER > 1000 #pragma once #endif #ifndef _CSTDIO_ #define _CSTDIO_ #ifdef _STD_USING #undef _STD_USING #include <stdio.h> #define _STD_USING #else #include <stdio.h> #endif /* _STD_USING */ #endif /* _CSTDIO_ */
...was nur zeigt, dass Mickeysoft den Standard nicht begriffen hat. Diese Implementierung ist schlicht und ergreifend falsch, weil die Funktionen aus der stdio.h im Namespace std sein müssen, wenn man cstdio includet. Sinnvoller wäre noch
namespace std { #include <stdio.h> }
Aber auch das wäre in den meisten Fällen falsch, weil viele Funktionen der stdio.h in C auch als Makros implementiert sein können. Und die kümmern sich nicht um namespaces.
-
truebool schrieb:
ich frag mich warum alle als erstes programm inzwischen gleich nen compiler bauen und das gute alte "hello world" aussterben lassen
hmm hab grad das erste mit dem zweiten verbunden, 200 zeilen code, doch nun steht hello world auf meinem bildschirm :D.
-
@randa: Deine Beispiele bitte mit etwas mehr Sorgfalt wählen:
Version 2.61 - Sep. 22, 1996
in Deutscher Übersetzung - 21. April, 14. November 1997, 28. Oktober 2001<iostream.h> war damals sehrwohl Standard.
MfG SideWinder
-
Was is denn daran falsch? Keine lib? oder was meint ihr?
(bin auch neu, wie ihr sicherlich merkt :p
-
Es ist einfach kein Standard, sondern war mal Standard - allerdings vor knapp 7 Jahren. Seit dem neuen Standard ist es falsch.
MfG SideWinder
-
otze schrieb:
truebool schrieb:
ich frag mich warum alle als erstes programm inzwischen gleich nen compiler bauen und das gute alte "hello world" aussterben lassen
hmm hab grad das erste mit dem zweiten verbunden, 200 zeilen code, doch nun steht hello world auf meinem bildschirm :D.
na dann bin ichja beruhigt
so erhalten wir dann wohl etwas wunderschönes am leben
-
tschuldigung das ich hier so rein platze
aber was muss ich includieren damit ich einen string nutzen kann
Bitte helft mir!!!Danke
-
Du hast doch echt keine Ahnung!
-
richard240291 schrieb:
tschuldigung das ich hier so rein platze
aber was muss ich includieren damit ich einen string nutzen kann
Bitte helft mir!!!Danke
<string>
-
funzt net
trotzdem danke!!!P.S:Woher kennst du Amerika :p
-
richard240291 schrieb:
funzt net
Hilfe wirst du bei so einer "Fehlerbeschreibung" nicht bekommen
P.S:Woher kennst du Amerika :p
Wer sagte denn, dass ich es kenne?
-
sorry
string ist angeblich "undecleratet" oder so!!!Du sagts das du Amerika kennst!!!!!!!
-
richard240291 schrieb:
sorry
string ist angeblich "undecleratet" oder so!!!undeclared. Schreib mal nach allen Inkludierungen das:
using namespace std;
Du sagts das du Amerika kennst!!!!!!!
Wo sage ich das?
-
hab ich.
aber es kommt die selbe Fehlermeldung.Du sagst es in deiner komischen grauen Fußzeile!
-
Funktioniert dieser Code bei dir?
#include <iostream> #include <string> using namespace std; int main () { string text; getline(cin,text); cout << text << endl; return 0; }
MfG SideWinder