Anfänger-Problem
-
#include<iostream> using namespace std; #define pi 3.1415926 float flaechenberechnung(float r) { return r * r * pi; } float umfangsberechnung(float r) { return 2 * pi * r; } int main() { float radius; int wahl; cout << "1. Umfangsberechnung" << endl << "2. Flaechenberechnung" << endl; cout << "Deine Wahl: "; cin >> wahl; switch (wahl) { case 1: //Umfang break; case 2: //Flaeche break; default: cout << "Ungueltige Eingabe" << endl; return 1; } return 0; }
[ Dieser Beitrag wurde am 01.07.2003 um 14:52 Uhr von Shlo editiert. ]
-
OK, Danke. So geht's.
-
aber nicht #define pi sonder const double pi =
-
und warum bitte?
-
is bessa
-
#define ist eine einfache textersetzungsmaschine
const double gibt dem compiler tipips und hat einen typ direkt daneben stehen.#define ist aus C Zeiten, in denen es noch kein const gab
-
#define ist ne textersetzungsmaschine?
vielleicht meintest du preprözessor directive? aber es stimmt schon, pi wird durch die daneben stehende zahl ersetzt (bitte nich textersetzungmaschine nennen) #include ist ja auch aus C Zeiten, na und? Darf ich es in mein C++ program nicht benutzen?
-
für include gibt's aber nix besseres
und ich bleib bei "textersetzungsmaschine"
-
Textersetzungsmaschine find ich auch passend. Ein Text wird durch einen anderen ersetzt. Wie will man das sonst nennen.
-
genauso wie es genannt werden muss - preprozessor directive
-
Bei "const double pi =" führt der Compiler eine Typprüfung durch, hier z.B. auf double, ist ein gewisser Vorteil. Siehe auch Lektion 1 bei Scott Meyers (wegen Symboltabellen).
-
genauso wie es genannt werden muss - preprozessor directive
Was ist das denn jetzt für ein Schwachsinn. Darf ich 'for' dann auch nicht mehr schleife nennen, sondern nurnoch Befehl?
-
Wenn, dann Anweisung.
-
Original erstellt von davie:
für include gibt's aber nix besseresZumindest nicht in C/C++
-
Original erstellt von Helium:
Was ist das denn jetzt für ein Schwachsinn. Darf ich 'for' dann auch nicht mehr schleife nennen, sondern nurnoch Befehl?und seit wann ist for ein befehl?
-
Der Mensch befiehlt, die Maschine gehorcht!
Sequenz, Selektion und Iteration, das reicht für alles. "for" gehört zum Bereich Iteration.
-
Der Mensch weist an
-
STUMPF!
Aber #define hat den Vorteil, das es nicht unnötig speicher verbraucht, grade weil ein String im Quelltext durch einen anderen (durch den Preprozessor) ausgetauscht wird!
ansonnsten erzeuge ich ja ne Globale Konstante auf Variablenbasis, oder nit?! :p
-
#define ist weder C noch C++, einfach nichts. Verpönt!
-
#define eignet sich für include-guards, wenn nicht zufällig der compiler ein pragma once unterstützt