• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

Anfänger sucht Hilfe: // Implizit declaration of Funktion ´`is ivalid in C99

titus123

Gloster
Registriert
04.10.07
Beiträge
63
Hallo,
ich arbeite gerade ein Lehrbuch durch und habe folgende Funktion erstellt:
da ich nun mehr mal überprüft habe ob ich das gleiche wie im Buch geschrieben habe, und mehrmal probiert habe ob ein Semikolon fehlt...

Bitte ich um Rat von einem der mit eventuell sagen kann warum Xcode mir kein Output gibt???


Vielen Dank


#include <stdio.h>






int main(int argc, const char * argv[])
{
//Versuch 1.1
/*float varA;
varA = 14.14;

float varB;
varB = 19.0;

double summe;
summe = varA + varB;


printf("Das Ergebnis lautet= %f\n",summe);



if (summe < 80.0) {
printf("Die Summe liegt im erlaubten Bereich\n");
}
else {
printf("Die Summe liegt über dem erlaubten Bereich\n");
}
/* if ((summe > 50.0) && (summe < 80.0)) {
printf("Das Ergebnis ist legal.\n");
printf("Das Ergebnis ist illigal");


BOOL isNotLegal = !(summe > 10) && (summe < 80);

if (isNotLegal) {
printf("Ergebnis ist erlaunbt\n");
printf("Ergebnis ist nicht erlaubt\n");

*/

// Versuch 1.2 ternäre Operatoren
/* int i = 20;
int j = 25;

int k = (i > j) ? 10 : 5;

if (5 < j- k) {
printf("The firt expression is true.");
}
else if (j > i) {
printf("The second expression is true.");
}
else {
printf("Neither expression is true");
}

*/

//2.1 Funktionen

congratulateStudent ("Mark", "Cocoa", 5);
congratulateStudent ("Boris", "Objetive-C", 2);
congratulateStudent ("Dima", "Pascal", 7);
congratulateStudent ("Chris", "PHP", 5);

return 0;
}





void congratulateStudent (char *student, char *course, int numDays)
{
printf ("%s has done as much %s Programming as I could teach into %d days.\n",
student, course, numDays);
}




 
Die Funktion "congratulateStudent()" darf nicht nach der Funktion main() stehen. Sie muss davor stehen. Das ist alles.

Man darf in reinem C keine Funktion verwenden, bevor sie nicht "weiter oben" entweder definiert oder deklariert wurde.
 
Alternativ: man definiert vorher den Funktionsprototyp (oben im c-file, oder auch im h-file), hier also:
Code:
[COLOR=#D28F5A][COLOR=#0433ff]void[/COLOR] congratulateStudent ([COLOR=#0433ff]char[/COLOR] *student, [COLOR=#0433ff]char[/COLOR] *course, [COLOR=#0433ff]int[/COLOR] numDays)[/COLOR];
 
Hallo,
vielen Dank... Es funktioniert!

Wieder etwas gelernt auf dem weiten Weg :-)

Als Dank ein kleinen Witz:

Wie nennt man einen Keks der unter einem Baum sitzt ???
Ein schattiges Plätzchen :-D

Gruss titus