Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Frage zu Funktionen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.09.2006, 10:48 Uhr
KFC Embryo
Ein Huhn


Hi,

ich habe eine allgemeine Frage zu Funktionen.
Ich weis wie man Funktionen deklariert und auch definiert aber wie rufe ich sie auf wenn ich zum Beispiel eine Funktion erstellt habe die so ausieht:



C++:
void test(int a, int b)
     int summe;

     a=2;
     b=2;
     a+b=summe;

   printf("%d", summe);



Wie kann ich die in der main Funktion aufrufen und kann ich noch Bedingungen erstellen die es er möglicht die Funktion nur in speziellen Situationen aufzurufen?

Hier eine Aufgabe bei der ich eine anwenden will, ich verstehe nur Bahnof sorry.
Ich hoffe ich nerve euch net damit.

"Schreiben sie ein Programm, das Folgen von Tabulatorzeichen in der Eingabe durch die korrekte Anzahl von Leerzeichen ersetzt, um zur nächsten Tabulatorposition vorzurücken. Nehemen Sie dazu eine feste Anzahl von Tabulatopositionen an beispielesweise alle n Spalten. Sollte n eine Variable oder eine symbolische Konstante sein?

danke
--
An nescis, mi fili, quantilla prudentia mundus regatur?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.09.2006, 11:03 Uhr
0xdeadbeef
Gott
(Operator)



C++:
#include <stdio.h> /* für printf */

void test(int a, int b) { /* Klammern nicht vergessen*/
     int summe;

     a=2;
     b=2;
     summe = a + b; // Nachtrag: Das hier natürlich andersrum

   printf("%d", summe);
}

int main(void) {
  test(123, 456);

  return 0;
}


...wobei das in diesem speziellen Fall nicht so unglaublich sinnvoll ist, weil a und b in der Funktion selbst überschrieben werden, die Parameter also nichts am Verhalten der Funktion ändern.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 08.09.2006 um 11:46 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.09.2006, 11:17 Uhr
KFC Embryo
Ein Huhn


Ah mh..
Das heist ich übergebe der Funktion nur den Wert und das können zahlen oder auch Variablen sein.

Gibt es eine begrenzung von sachen die nicht in einer Funktion deffiniert werden können?

mfg
--
An nescis, mi fili, quantilla prudentia mundus regatur?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.09.2006, 11:49 Uhr
0xdeadbeef
Gott
(Operator)


Du kannst auch Referenzen übergeben. In C ist das etwas umständlich über Zeiger, das sieht dann so aus:

C++:
#include <stdio.h>

void test(int *a, int *b) {
  int summe;

  *a = 2;
  *b = 2;
    
   summe = *a + *b;

   printf("%d\n", summe);
}

int main(void) {
  int x = 10, y = 20;

  test(&x, &y);

  printf("x == %d, y == %d\n", x, y);

  return 0;
}


In C++ gehts hübscher mit Referenzen:

C++:
#include <iostream>

void test(int &a, int &b) {
  int summe;

  a = 2;
  b = 2;

  summe = a + b;

  std::cout << summe << std::endl;
}

int main() {
  int x = 10, y = 20;

  test(x, y);

  std::cout << "x == " << x << ", y == " << y << std::endl;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: