PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe! Bin C++ Anfänger. Quelldatei?



Mistr_fu
03.07.2009, 18:47
Hey..
ich versuche mich derzeit etwas in C++ einzuarbeiten.
Habe mir ein kleines Basictutorial geladen und bin gerade dabei es nachzumachen. Bin totaler Neuling auf dem Gebiet und weiss echt nicht weiter.. =/

Habe mir das Programm "Dev-C++ (http://download.freenet.de/system/programmierung/download-Bloodshed-Dev-C-und-und-5-4.9.9.2-englisch--1280.xhtml)" geladen.

Wenn ich nun schreibe: ...

# include <iostream.h>
# include <conio.h>
void main()
{
int zahl1, zahl2, ergebnis;
cout<<"Geben Sie zwei Zahlen ein!";
cin>>zahl1;
cin>>zahl2;
ergebnis=zahl1+zahl2;
cout<<"Das Ergebnis lautet " ergebnis;
getch();
}

... kommt immer die Fehlermeldung: "Quelldatei ist nicht kompiliert"

Was ist eine Quelldatei und wie kompiliere ich sie?

Über SuFu habe ich nichts gefunden, was mir weiterhilft.

Danke schonmal :)
mfg

hackerking
03.07.2009, 18:49
Du musst glaube ich oben im Reiter Build auf Kompilieren gehen (bin mir nich sicher ob alles so heißt)

nathex
03.07.2009, 18:53
Habe mir ein kleines Basictutorial geladen
So lernst du überhaupt garnichts (wie man an deinem code sehen kann). Außerdem ist das Tutorial extrem veraltet (wie man auch an deinem code sehen kann).
Kauf dir ein Buch oder lass es sein!

Buchempfehlungen gibt es als Sticky in der C++ Section.
_

So nun zu deinem Quellcode:
Also erstmal sind da jede Menge Fehler drin...


#include <iostream>
#include <conio.h>
using namespace std;

int main(void)
{
int zahl1, zahl2, ergebnis;

cout << "Geben Sie zwei Zahlen ein!";
cin >> zahl1;
cin >> zahl2;

ergebnis = (zahl1+zahl2);

cout << "Das Ergebnis lautet " << ergebnis;

getch();
return 0;
}

Hab das mal ein bisschen aufgeräumt... versuchs jetzt mal zu kompileren+auszuführen (kanns leider grad selbst nicht testen).


Was ist eine Quelldatei und wie kompiliere ich sie?
Dafür hat Dev-C++ eine Hilfedatei!...
Zumal du das bestimmt auch über Google herausfinden kannst!

Prototyp.Ger
03.07.2009, 18:54
Also ich würde das eher so schreiben:


# include <iostream>

using namespace std;

int main()
{
int zahl1, zahl2, ergebnis;
cout<<"Geben Sie zwei Zahlen ein!"<<endl;
cin>>zahl1;
cin>>zahl2;
ergebnis=zahl1+zahl2;
cout<<"Das Ergebnis lautet "<< ergebnis;

return 0;
}
//Offtopic WEnn du lust hast können wir mal zusammen bisschen C++ lernen bin selbst noch blutiger anfänger, Schreib mich PLS in MSN oder ICQ an

Mistr_fu
03.07.2009, 18:55
oke, danke =P werd das so mal probiern :)

@nathex (http://free-hack.com/member.php?u=44478) & Prototyp.Ger (http://free-hack.com/member.php?u=57667) kommt leider immernoch selbe Fehlermeldung =/

welche programme benutzt ihr?

nathex
03.07.2009, 19:07
Mistr_fu ich hab gerade meinen Quellcode probiert und er funktioniert zu 100% mit Dev-C++...
Anscheinend hast du garkeine Ahnung wie man einen Code kompiliert ;/

inout
03.07.2009, 19:08
DevC++ ist alt und wird nicht mehr weiterentwickelt.
Versuch's mal mit Code::Blocks.

nathex
03.07.2009, 19:57
DevC++ ist alt und wird nicht mehr weiterentwickelt.
Versuch's mal mit Code::Blocks.
Auch wenn Dev-C++ nichtmehr weiterentwickelt wird, ist es genauso aktuell (zumindest von den "Möglichkeiten" in C++ her) wie jede andere Entwicklungsumgebung!
D.h. Dev-C++ ist meiner Meinung nach sehr gut für Konsolenprogramme in C++, und keineswegs veraltet!
_

@Mistr_fu:
Ich hab dir hier man so eine Art Anleitung gemacht, wie man deinen Sourcecode in Dev-C++ richtig kompiliert und ausführt.
Einfach den Bildern folgen ;)

http://www4.picfront.org/picture/YmQx7ghtIz/img/1.png

http://www6.picfront.org/picture/GaoRP7NIqZL/img/2.png

http://www13.picfront.org/picture/jr8LqTZaT/img/3.png

http://www4.picfront.org/picture/oFWmGTpcoDC/img/4.png

http://www13.picfront.org/picture/goj91ZH4jl/img/5.png

http://www8.picfront.org/picture/czNPG2Z9K/img/6.png

http://www11.picfront.org/picture/jaTMjEWBr1/img/7.png

Trotzdem solltest du dir ein Buch kaufen.
Glaub mir. Mit diesem Tutorial Müll lernst du absolut nichts!

greetZ
nathex

Mistr_fu
03.07.2009, 20:32
Danke, hat funktioniert :)

Buch (http://www.amazon.de/Visual-2008-schnelle-einfache-Windows-Programmierung/dp/3827243246/ref=sr_1_1?ie=UTF8&qid=1246649498&sr=8-1) is schon bestellt =P

mfg, Mistr_fu

Blacksummer
03.07.2009, 20:37
Nathex du nimmst mir die ganze Arbeit weg. ;)

Zum Thema: Mistr_fu, wenn du C++ lernen willst, dann empfehle ich dir, erst einmal mit Ansi C++ anzufangen, es ist die "standart"-C++ Sprache, die jeder Compiler compilern kann. Wenn du direkt mit dem Programmieren von GUI's anfängst, wirst du irgendwan Probleme kriegen, die du nicht so einfach Lösen kannst, da du nicht das Verständniss für C++ hast. Außerdem ist es gut, wenn man erst einmal mit Konsolen-Programmierung anfängt, da diese am besten die Grundlagen lehrt.

Außerdem ist Visual C++ mist. (Vorsicht, persönliche Meinung)

nathex
03.07.2009, 20:46
Nathex du nimmst mir die ganze Arbeit weg.
Sorry https://subtracker.net/pic/smilies/confused.gif... aber wenn ich es nicht mache dann kommt BlackBerry wieder und klaut mir die ganze Arbeit https://subtracker.net/pic/smilies/shifty.gif


Wenn du direkt mit dem Programmieren von GUI's anfängst, wirst du irgendwan Probleme kriegen, die du nicht so einfach Lösen kannst, da du nicht das Verständniss für C++ hast
Leider hat Blacksummer damit recht. Dementsprechend hätte ich dir auch von dem Buch abgeraten, dass du dir gekauft hast, und dir eher zu dem hier geraten: KLICK (http://www.amazon.de/von-bis-CD-ROM-umfassende-Handbuch/dp/3898428168/ref=sr_1_2?ie=UTF8&s=books&qid=1246650327&sr=8-2)
Das behandelt sowohl die Konsolenprogrammierung als auch die Programmierung mit grafischer Oberfläche (GUI), und alles ist sehr genau erklärt.


Außerdem ist Visual C++ mist. (Vorsicht, persönliche Meinung)
/sign

Mistr_fu
03.07.2009, 21:12
Habe Visual C++ für knapp 10€ bekommen.
Wenn es wirklich so schlecht ist, werde ich mir ein anderes kaufen..
Das von Jürgen Wolf kostet immerhin 30€ mehr :/
Nunja, werd mich dann mal mit meinem Buch durchkämpfen =P

Danke für eure Ratschläge :)
mfg, Mistr_fu

Alucart
09.07.2009, 09:59
Sooo.. wollte auch mal fragen auf was für nem Standart ich bin zumindest ob meine Schreibweiße sehr veraltet ist. Ich lern es in der Schule und ich denke mal das es Ziemlich alt ist wie ich es schreiben würde:

#include <stdio.h>
#include <conio.h>


main()
{
int zahl1, zahl2, ergebnis;

printf("Geben Sie eine Zahl ein!\n");
scanf("%i",& zahl1);
printf("Geben Sie noch eine Zahl ein\n");
scanf("%i",& zahl2);

ergebnis=zahl1+zahl2;

printf("Das Ergebnis lautet %i", ergebnis);
getch();
return 0;
}

Müsste so eigentlich funzen, habs schon länger nicht gemacht haben Sommerferien :D

Lynx_
09.07.2009, 10:44
@ Alucart

Ich bin zwar auch noch Anfänger aber ich würde das so schreiben:



#include <iostream>

using namespace std;

int main()
{
int zahl1, zahl2, ergebnis;

cout << "Geben Sie eine Zahl ein: \n";
cin >> zahl1;

cout << "Geben Sie noch eine Zahl ein: \n";
cin >> zahl2;

ergebnis = zahl1 + zahl2;

cout << "Das Ergebnis lautet: " << ergebnis ;

cin.get();

return 0;
}

Alucart
09.07.2009, 10:56
ja also so wie die anderen :D deswegen wollt ich ja wissen ob meine schreibweiße aus den 80'gern kommt xD

nathex
09.07.2009, 11:00
Alucart, dein Code ist ein C-Quellcode (Daher bist du hier bisschen im falschen Thema, aber okay):

Im Prinzip ist dein Code, bis auf dem "Schönheitsfehler" mit der Main-Funktion richtig.
Anstatt "main()" solltest du "int main()" oder "int main(void)" benutzen.

Sonst ist das so korrekt, und müsste auch funktionieren.

root.
09.07.2009, 11:01
@Alucart (http://free-hack.com/member.php?u=59982) deine Version ist nicht nur alt sondern potentiell auch gefährlich, weil printf noch aus der C-Zeit stammt und Buffer benutzt -> Overflow.

Deswegen sollte man, wenn man die Möglichkeit hat immer die Streams bevorzugen. (in deinem Fall std::cout usw)

mfg

nathex
09.07.2009, 11:04
Aber sein Quellcode ist doch in C geschrieben... dann ist es doch logisch, dass er "printf" benutzt anstatt cout/cin.

Alucart
09.07.2009, 11:04
achso okay gut zu wissen okay :) Danke schön :D

.:CREATIVE:.
09.07.2009, 11:26
lernt man das nicht an der berufsschule? hatte ich auch mal ^^

blackberry
09.07.2009, 11:41
@Alucart (http://free-hack.com/member.php?u=59982) deine Version ist nicht nur alt sondern potentiell auch gefährlich, weil printf noch aus der C-Zeit stammt und Buffer benutzt -> Overflow.

Deswegen sollte man, wenn man die Möglichkeit hat immer die Streams bevorzugen. (in deinem Fall std::cout usw)

Nein!
Man sollte einen guten Programmierstil bevorzugen und sich bereits beim Tippen des Codes überlegen, welche Eingaben getätigt werden können und wie diese den Programmablauf beeinflussen können.

Wenn man das beachtet gibt es keine Buffer-Overflows.
Außerdem kann es doch nicht sein C(++) Programmierer vor dem Einsatz von Zeigern & Co. zu warnen - Zeiger sind uA. eines der wichtigsten Konzepte dieser Sprachen!

Alucart
09.07.2009, 11:45
RICHTIG :D ja mache ebend mein FOS und will später dann in richtung Informatik Studieren

root.
09.07.2009, 14:54
Nein!
Man sollte einen guten Programmierstil bevorzugen und sich bereits beim Tippen des Codes überlegen, welche Eingaben getätigt werden können und wie diese den Programmablauf beeinflussen können.

Wenn man das beachtet gibt es keine Buffer-Overflows.
Außerdem kann es doch nicht sein C(++) Programmierer vor dem Einsatz von Zeigern & Co. zu warnen - Zeiger sind uA. eines der wichtigsten Konzepte dieser Sprachen!

Richtig.
Allerdings sollte man das nem totalen Anfänger schon mitteilen.
Find ich zumindest.