[C] Error C2449 und C1004 aber wo?

Christoph1234

Grünschnabel
Guten Tag,

da wir gerade in der Schule anfangen C zu lernen und ich mich deswegen auch noch nicht so gut auskenne und unser Lehrer zur Zeit eh nicht gut zu sprechen ist (deswegen stelle ich auch hier meine Frage) wie ich diese 2 Fehler aus dem folgendem Programm rausbringe das ich am Montag abzugeben habe.

Kurz erklärt: es geht um die Quadratische Gleichung (in einer Funktion zu berechnen ob reele Lösungen möglich sind, wenn ja wieviele oder ob keine reele Lösung möglich ist).

Code:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>

void Function (float p, float q);{

main()
{
float p,q;
scanf("%f", &p);
scanf("%f", &q);
Funktion(p,q);
system("Pause");
return 0;
}

void Function (float p,float q);


	float x1,x2;
	if q == 0;
		printf("2 reele Loesungen!\n");
	else if(((p*p)/4) > q)
			{
			x1 = -(p/2)+sqrt(((p*p)/4) - q);
			x2 = -(p/2)-sqrt(((p*p)/4) - q);
			}
		else
			printf("Keine reele Loesung\n");

	if (x1 != x2)	
			printf("2 reele Loesungen\n");
		
	else		
		printf("1 reele Loesung\n");

Fehlermeldungen:

Code:
Fehler	1	error C2449: '{' auf Dateiebene gefunden - fehlt der Funktionskopf?	c:\Dokumente und Einstellungen\Christoph\Eigene Dateien\Visual Studio 2005\Projects\Quadratische_Gleichung\Quadratische_Gleichung\Quadratische_Gleichung.c	6

Fehler	2	fatal error C1004: Unerwartetes Dateiende gefunden.	c:\Dokumente und Einstellungen\Christoph\Eigene Dateien\Visual Studio 2005\Projects\Quadratische_Gleichung\Quadratische_Gleichung\Quadratische_Gleichung.c	38

Ich hoffe Ihr könnt mir weiterhelfen und ich denke für Euch ist das ein Kinderspiel, aber für mich leider noch nicht :confused:

Vielen Dank im Vorraus Christoph
 
void Function (float p, float q);{
Die Klammer am Schluss muss weg.

Das Teil heißt "Function", steht oben.

void Function (float p,float q);


float x1,x2;
if q == 0;
printf("2 reele Loesungen!\n");
else if(((p*p)/4) > q)
{
x1 = -(p/2)+sqrt(((p*p)/4) - q);
x2 = -(p/2)-sqrt(((p*p)/4) - q);
}
else
printf("Keine reele Loesung\n");

if (x1 != x2)
printf("2 reele Loesungen\n");

else
printf("1 reele Loesung\n");

Das muss so heißen:

void Function (float p,float q)
{
float x1,x2;
if (q == 0)
printf("2 reele Loesungen!\n");
else if(((p*p)/4) > q)
{
x1 = -(p/2)+sqrt(((p*p)/4) - q);
x2 = -(p/2)-sqrt(((p*p)/4) - q);
}
else
printf("Keine reele Loesung\n");

if (x1 != x2)
printf("2 reele Loesungen\n");

else
printf("1 reele Loesung\n");
}

Mehr Fehler seh ich grad nicht.
 
Danke für deine Antwort:

ich habs nu genau so geändert, die Fehler sind nu weg aber nu sinds 2 neue, und genau die Klammern die ich hinzufügen sollte mag er nicht.

Code:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>

void Function (float p, float q);

main()
{
float p,q;
scanf("%f", &p);
scanf("%f", &q);
Function(p,q);
system("Pause");
return 0;
}

void Function (float p,float q);
{  <---- Fehler 3

	float x1,x2;
	if q == 0;
		printf("2 reele Loesungen!\n");
	else if(((p*p)/4) > q)
			{
			x1 = -(p/2)+sqrt(((p*p)/4) - q);
			x2 = -(p/2)-sqrt(((p*p)/4) - q);
			}
		else
			printf("Keine reele Loesung\n");

	if (x1 != x2)	
			printf("2 reele Loesungen\n");
		
	else		
		printf("1 reele Loesung\n");
}       <----- Fehler 4

Fehler nun:

Code:
Fehler	3	error C2449: '{' auf Dateiebene gefunden - fehlt der Funktionskopf?	c:\Dokumente und Einstellungen\Christoph\Eigene Dateien\Visual Studio 2005\Projects\Quadratische_Gleichung\Quadratische_Gleichung\Quadratische_Gleichung.c	19	

Fehler	4	error C2059: Syntaxfehler: '}'	c:\Dokumente und Einstellungen\Christoph\Eigene Dateien\Visual Studio 2005\Projects\Quadratische_Gleichung\Quadratische_Gleichung\Quadratische_Gleichung.c	37

1 und 2 sind: Warnung2 warning C4996: 'scanf' wurde als veraltet deklariert

was aber nicht schlimm ist.

Grüße
 
Zurück