"We are back" « oc.at

programmieren

Qualle 19.07.2007 - 18:50 11376 100 Thread rating
Posts

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von Qualle
sooooooooo!:)

kanns nicht glauben:D das,dass fenster jetzt offen bleibt wenn ich das programm ausführe. hab das ganze mit der <stdlib.h> und dem befehl system("PAUSE"); erreicht.

benutze den devcpp-4.9.9.2 und komme echt gut klar mit dem teil!

hab aber noch eine frage:D

wieso kann ich in dem editor nich void main() verwenden (also zumindest ohne fehlermeldung) sonder nur int main() ?

edit:macht das überhaupt einen unterschied ob ich void oder int verwende?

stdlib braucht man dafür,hmm hab ich vergessen - aber die IDEs stopfen dir defaultmäßig eh immer das volle paket rein :D

Aber wie ichsehe hast du dich noch nicht seeehr viel damit auseinander gesetzt. Dass am bildschrim was aufblinkt is mal eher nebensächlich. Natürlich gibts da einen unterschied :O
Das int und void sind beides datentypen. Diese angaben definieren den datentyp des rückgabewertes. Im falle von void gibt es keine rückgabewert (void steht nämlich für "leer"). Im falle von int kannst ihm eine 16bit (nicht erschlagen wenn ich mich vertu) große zahl ohne gleitkomma zurückgeben.

Warum der devc++ mit void net kann is mirauch a rätsel
:fresserettich:


@:fresserettich: , das problem daran ist, dass es getch() auf unix/linux net gibt (kann einem ziemlich das genick brechen wenn mans net weiß )

Qualle

Banned
Registered: Jul 2007
Location: Austria
Posts: 46
@burschi:
bin in meinem buch auf kapitel 2.

in dem buch steht ganz am anfang,wenn das mit void main() nicht funtioniert, dann machs halt mit int main().(so ungefähr steht des da):D
mehr steht da halt nit.:)

deswegen hab i halt mal gefragt.

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
hast du dann auch ein return(0); eingebaut?

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von Qualle
@burschi:
bin in meinem buch auf kapitel 2.

in dem buch steht ganz am anfang,wenn das mit void main() nicht funtioniert, dann machs halt mit int main().(so ungefähr steht des da):D
mehr steht da halt nit.:)

deswegen hab i halt mal gefragt.
welches buch is das denn?
Am wichtigsten ist mal dass du die struktur und den aufbau der sprache verstehst - so tust dir viel leichter programmcode zu verstehen und auch dinge umsetzen zu können.

Schau dir an warum deine funktion main() heißt. Was bedeuten die klammern, was kann in den klammern stehen, wofür stehen die geschwungenen klammern, nach welchen befehlen kommt ein strichpunkt(semikolon), wann muss ich den datentyp bei einer variable angeben, was bedeutet initialisierung, was bedeutet deklaration...........
usw etc

Qualle

Banned
Registered: Jul 2007
Location: Austria
Posts: 46
@burschi

das buch, dass ich mir gekauft habe heißt, jetzt lerne ich c.

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9831
Zitat
Beginnen wir bei der Funktion main: Diese hat sich im Vergleich zu bisher
leicht verandert. Sie ist plotzlich tatsachlich als \echte" Funktion de niert,
die einen int-Wert zuruckliefert. Dies ist (beinahe) die richtige De nition von
main, es fehlen hier noch zwei Parameter, damit sie tatsachlich vollstandig
korrekt ist. Aber dazu fehlt uns noch ein Puzzlestuckchen, also lassen wir
das jetzt beiseite. Wissenswert ist, dass der int-Wert, der bei main zuruckgeliefert
wird, dem aufrufenden Programm zur Verfugung steht. Es hat sich
eingeburgert, dass ein Programm, das ordnungsgema terminiert, hier 0 bzw.
einen positiven Wert liefert. Ist ein Fehler passiert, der das Programm zum
Ausstieg veranlasst, dann sollte ein negativer Wert geliefert werden. Die
Werte, die geliefert werden, sollten sich per Konvention im Bereich von -128
bis +127 bewegen (also nur 1 Byte incl. Vorzeichen brauchen). So weit zur
Konvention, jetzt aber zum Inhalt, um den es eigentlich geht:....

nachzulesen in:
http://dollywood.itp.tuwien.ac.at/~...s/schmaranz.pdf

ChrisK

dun dun dunnn
Avatar
Registered: Dec 2001
Location: Graz
Posts: 529
Zitat von ica
nachzulesen in:
http://dollywood.itp.tuwien.ac.at/~...s/schmaranz.pdf

das schmaranz buch kann ich empfehlen. ist als einstieg sicher nicht schlecht. vor allem weil er auch dinge wie coding standard und ähnliches behandelt.

daisho

Vereinsmitglied
SHODAN
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19824
Zitat von Burschi1620
welches buch is das denn?
Am wichtigsten ist mal dass du die struktur und den aufbau der sprache verstehst - so tust dir viel leichter programmcode zu verstehen und auch dinge umsetzen zu können.

Schau dir an warum deine funktion main() heißt. Was bedeuten die klammern, was kann in den klammern stehen, wofür stehen die geschwungenen klammern, nach welchen befehlen kommt ein strichpunkt(semikolon), wann muss ich den datentyp bei einer variable angeben, was bedeutet initialisierung, was bedeutet deklaration...........
usw etc
Sprich nicht einfach Beispiele abschreiben sondern hinterfragen was x und y bedeutet :)

Qualle

Banned
Registered: Jul 2007
Location: Austria
Posts: 46
Zitat von daisho
Sprich nicht einfach Beispiele abschreiben sondern hinterfragen was x und y bedeutet :)

versteh schon was ihr meint.
aber woher die antworten nehmen?

Qualle

Banned
Registered: Jul 2007
Location: Austria
Posts: 46
#include <stdio.h>
#include <stdlib.h>
#define MWST 16
int main()
{
/*Deklarieren der Variablen*/
short Kaufp,Nettop,MehrSt;

/*Eingabeaufforderung*/
printf("Bitte den Betrag eingeben:");
scanf("%d\n",& Kaufp);

/*Beruchnung der Mehrwertsteuer und des Nettobetrags*/
MehrSt=Kaufp*MWST/100;
Nettop=Kaufp-MehrSt;

/*Konsolen ausgabe*/
printf("Die Mehrwertssteuer beträgt:%d\n",MehrSt);
printf("Der Nettokaufpreis beträgt:%d\n",Nettop);
system("PAUSE");
}

hab mahl versucht das programm,das auch in meinem buch ist, selbst zu schreiben.
ohne die vorlage des buches zu verwenden.
FUNKTIONIERT nicht:D


edit: lol es lag an dem string scanf("%d\n",& Kaufp);
da war das zeichen \n zuviel.
is das zu glauben?
wobei das ja nur für einen zeilenumbruch steht.
Bearbeitet von Qualle am 22.07.2007, 19:28

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25640
nein.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz