c++ code

Alles Wissenswerte über Skripte, Browser, Makros, PhP, HTML...

Moderatoren: Moderatoren, Redakteure

Benutzeravatar
Raeyz-x
Beiträge: 1856
Registriert: 02.11.2008 15:25
Persönliche Nachricht:

c++ code

Beitrag von Raeyz-x »

Folgendes Tut angeschaut: Youtube-Tutorial c++2008 (habe c++ 2008 express,müsste also die gleich version sein)
Ich weiß,ist doof zu lesen.

Dann hab ich genu diesen Code übernommen:

#include <iostream>

using namespace std;

int mani(void)

{
cout << "Hello World" << endl;
system("PAUSE")


return 0;

}

Wenn ich dann aber Debuggen will kommt Folgendes:

Bild

Was mich schon wundert,da dies im TuT nicht passiert.Was mache ich falsch?
Mit einem Klick auf "Ja" kommt diese Meldung:

Bild

Hatte das Problem schonmal,da wurde einfach der Code umgeändert um das Problem zu lösen aber das ist ja nicht Sinn der Sache.Ich verstehe nicht waurm dieser Code nicht funzt?? :x

Danke für Hilfe,mfg Alpha.
Benutzeravatar
Levi 
Beiträge: 44988
Registriert: 18.03.2009 15:38
Persönliche Nachricht:

Beitrag von Levi  »

normalerweise gibt der compiler nen paar mehr wahnhinweise aus, wo genau der fehler auftrat ... aber btw .. ich glaube du hast nen semikolon vergessen hinter dem system befehl ;)


btw .. was soll ein dieses "tutorial" beibringen oO? .... es wird nix erklärt ...
Benutzeravatar
Zappes
Beiträge: 2532
Registriert: 09.12.2008 23:15
Persönliche Nachricht:

Beitrag von Zappes »

Abgesehen vom fehlenden Semikolon hinter "system("PAUSE");" muss die Hauptfunktion auch "main" statt "mani" heißen.
Benutzeravatar
Levi 
Beiträge: 44988
Registriert: 18.03.2009 15:38
Persönliche Nachricht:

Beitrag von Levi  »

oh XD .. garnicht aufgefallen :D
Benutzeravatar
Raeyz-x
Beiträge: 1856
Registriert: 02.11.2008 15:25
Persönliche Nachricht:

Beitrag von Raeyz-x »

:oops: tut mir leid :lol:
jetzt hats natürlich geklappt.
schande über mich :wink:

@levi: ich habe ein deutsches sprachTUT wo das alles erklärt wird,allerdings ist das sprachtut mit einer älteren version von c++,somit brauchte ich eins wo es mit dem 2008 c++ erklärt/gezeigt wird ;)

danke euch.
Benutzeravatar
Levi 
Beiträge: 44988
Registriert: 18.03.2009 15:38
Persönliche Nachricht:

Beitrag von Levi  »

sagen wir mal so.. den code, den du hier jetzt hast ist ziemlicher standard, und sollte mit so ziemlich jeden c++ compiler laufen, den du auftreiben kannst :) ...
(für MS-Compiler vor und inklusive VisualStudio6 übernehme ich keine haftung. Standard war bei denen nicht unbedingt standard -_-)
Zoddy
Beiträge: 217
Registriert: 21.07.2009 12:49
Persönliche Nachricht:

Beitrag von Zoddy »

ich werde allerdings niemals verstehen können, warum man den leuten immer diesen blödsinn mit der using-direktive beibringt. jeder profi würde einem das sofort um die ohren klatschen.

korrekt ist eigentlich ohne das "using namespace std;"

und stattdessen beim hello world:

Code: Alles auswählen

std::cout << "Hello World" << std::endl;
Benutzeravatar
Levi 
Beiträge: 44988
Registriert: 18.03.2009 15:38
Persönliche Nachricht:

Beitrag von Levi  »

korrekt ist was funktioniert ... das using erspart einen einfach tiparbeit und ist häufig nicht verkehrt... auch bei Profis.

es kommt eher seltener vor, dass man innerhalb einer Datei häufig den namespace "wechselt" ...
ergo wird einfach der am häufigsten benutzte namespace angegeben ... und für die ausnahemen (welche std meistens dann ist :D) wird es halt so explizit angegeben.
Benutzeravatar
Raeyz-x
Beiträge: 1856
Registriert: 02.11.2008 15:25
Persönliche Nachricht:

Beitrag von Raeyz-x »

ich werds nochmal mit dem dt. tut versuchen wo die ältere version benutzt wird,kann sein dass ich mich da ebenfalls vertan habe.ich sollte mir für die zukunft angewöhnen die codes nochmal durchzuchecken!

wenns trotzdem nicht klappen sollte zeig ich euch das tut + code.
Benutzeravatar
Zappes
Beiträge: 2532
Registriert: 09.12.2008 23:15
Persönliche Nachricht:

Beitrag von Zappes »

@Zoddy

Spätestens seit der Art, wie Imports in Java und C# gehandhabt werden, gilt sowas durchaus als OK - gerade bei Namespaces wie std, die eh jeder kennt und zuordnen kann.
Benutzeravatar
Wurschtel
Beiträge: 32
Registriert: 06.05.2009 15:32
Persönliche Nachricht:

Beitrag von Wurschtel »

ich würde statt dem system pause einfach getch() nehmen geht auch mit linux :) brauchst aber noch ne andere header datei musste schauen, wie du es willst.
P.S.: Ich hab dieses (978-3-8266-1764-5) C++ Buch da wird alles von ganz Anfang an erklärt, mit c++ 2008 express, aber du hast am anfang kaum ereignisse auf die du stolz sein kannst.
Benutzeravatar
Scorcher24_
Beiträge: 15527
Registriert: 11.11.2004 14:31
Persönliche Nachricht:

Beitrag von Scorcher24_ »

Eigentlich sollte man diesen extra Tastendruck gar net einbauen. Es ist schlechter Stil. Egal ob jetzt über system oder getch. Konsolenprogramme sind dazu da, um sie über die Konsole aufzurufen. Visual Studio lässt das Programm sowieso automatisch offen und fügt diesen Tastendruck ein, wenn man das ganze über Strg-F5, sprich ohne Debugger laufen lässt. Und im Debugger tuts auch ein Breakpoint. Wenn man es so aufruft, tut es auch eine .cmd-Date:

Code: Alles auswählen

@echo off
helloworld.exe
PAUSE
Aber das ist eine Glaubensfrage :D.
rya.
Benutzeravatar
Raeyz-x
Beiträge: 1856
Registriert: 02.11.2008 15:25
Persönliche Nachricht:

Beitrag von Raeyz-x »

Da der Thread noch relativ weit oben steht und noch nicht untergegangen,spar ich Platz und benutze den nochmal,habe nämlich noch ein Problem mit C++.Naja eig. nicht direkt mit C++ eher mit der Rechnung meiner Lehrer in diesem Programm:

Code: Alles auswählen

#include <cstdlib>
#include <iostream>

using namespace std;

void eroeffnungstext();
float eingabe(string s);
float berecheneXWert(float m1,float b1,float m2,float b2);
float berecheneLinFkt(float m1,float b1,float x);
void ausgabeSchnittpunkt(float x, float y);
void linie();

int main()
{
    float m1, b1, m2, b2, x, y;
    
    eroeffnungstext();
    
    m1 = eingabe ("m1");
    b1 = eingabe ("b1");
    m2 = eingabe ("m2");
    b2 = eingabe ("b2");
    
    x = berecheneXWert(m1,b1,m2,b2);
    y = berecheneLinFkt(m1,b1,x);
    
    ausgabeSchnittpunkt(x,y);
    
    system("PAUSE");
    return EXIT_SUCCESS;
}


void eroeffnungstext()
{
     linie();
     cout << "Diese Funktion berechnet den Schnittpunkt der Graphen von "
             "linearen Funktionen." << endl;
     linie();
     cout << "Lineare Funktionen sind dabei in folgender Form "<< endl <<
             "f(x) = m*x + b " << endl <<
             "anzugeben." << endl;
     return;
}    
         

float eingabe(string s)
{
      float wert;
      linie();
      cout << "Geben Sie den Wert von " << s << " ein. -->";
      cin >> wert;
      return wert;
}
      

float berecheneXWert(float m1,float b1,float m2,float b2)
{
      return (b2 - b1) / (m1 - m2);
}




float berecheneLinFkt(float m1,float b1,float w)
{
      return m1*w+b1;
}


void ausgabeSchnittpunkt(float x, float y)
{
     linie();
     cout << "Der Schnittpunkt liegt bei (" << x << " | " << y << ")!" << endl;
     linie();
}


void linie()
{
     cout << "--------------------------------------------"
             "----------------------------------" << endl;
     return;
}

Es geht um die Schnittpunktberechnung 2er linearen Funktionen.Ich verstehe die Struktur des Programms aber nicht die Rechnung die vorgegeben ist...
Eig. ist meine Aufgabe die Nullstellen Rechnung mit if + else einzubringen aber das will ich ja selbst schaffen...
Jetzt verharre ich hier schon ein Weilchen an der Rechnung weil ich die erstmal verstehen möchte bevor ich weiter mache...
Schnittpunktberechnung ist ja einfach nur Gleichsetzen 2er Funktionen:2x+5=4x-6(Bsp.),da seh ich aber leider kein Zusammenhang mit der Rechnung in dem Progr.

Ich wäre für Hilfe sehr dankbar!

Mfg,Alpha-x ;)
Benutzeravatar
MF_Uzi
Beiträge: 849
Registriert: 21.03.2008 05:46
Persönliche Nachricht:

Beitrag von MF_Uzi »

float berecheneXWert(float m1,float b1,float m2,float b2)
{
return (b2 - b1) / (m1 - m2);
}

ist doch die berechnung des schnittpunktes bzw nur des x wertes. die gleichung ist nur fertig umgestellt
also m1*x+ b1 = m2*x+b2
nach x umgestellt
Benutzeravatar
Raeyz-x
Beiträge: 1856
Registriert: 02.11.2008 15:25
Persönliche Nachricht:

Beitrag von Raeyz-x »

wie kommst du denn von m1*x+b1=m2*x+b2 auf (b2 - b1) / (m1 - m2) ?