Error "C2601" trotz Funktionsdefinition außerhalb von Funktion

  • Themenstarter Themenstarter stage
  • Beginndatum Beginndatum
S

stage

Hallo,

wäre nett wenn mal jemand über den Code schauen könnte... Steh bei der Fehlermeldung auf dem Schlauch...

Code:
#include "stdafx.h"
#include "math.h"
#include "string.h"



int		aufgabe_1(int);											// Funktionsaufruf
void	aufgabe_2(void);										// Deklarationen
double	aufgabe_3(double);										// sqrt
double	aufgabe_4(double);										// pow
int		aufgabe_5(void);										// if-else
void	aufgabe_6(void);										// switch
void	aufgabe_7(void);										// while
void	aufgabe_8(void);										// for
void	aufgabe_9(void);										// do-while
void	aufgabe_10(void);										// arrays
void	aufgabe_11(int, int*, int*, float, float*, float*);		// "by_reference" und "by_value"
void	aufgabe_12(int*, int*);									// swap

int main(int argc, char* argv[])
{
	int		i;
	int		auswahl;
	int		a11 = 1;
	int		b11 = 2;
	int		c11 = 3;
	int		*p11c;
	float	d11 = 4.4;
	float	e11 = 5.5;
	float	f11 =6.6;
	float	*p11f;
	int		a12 = 112;
	int		b12 = 212;



	while (1)
	{
		printf("Wählen Sie ein Programm aus: ");
		scanf("i", &auswahl);
		switch(auswahl)
		{
		case 1:
			int	zahl, quadrat;
			printf("Zahl zum quadrieren eingeben: ");
			scanf("i", &zahl);
			quadrat = aufgabe_1(zahl);
			printf("Die Zahl zum Qaudrat lautet: ", zahl, quadrat);
			break;
		case 2:
			aufgabe_2();
			break;
		case 3:
			double	w_zahl, w_quadrat;
			printf("Zahl für Wurzel eingeben: ");
			scanf("lf", &w_zahl);
			w_quadrat = aufgabe_3(w_zahl);
			printf("Die Wurzel der Zahl ist: ", w_zahl, w_quadrat);
			break;
		case 4:
			double	q_zahl, q_quadrat;
			printf("Zahl zum Quadrieren eingeben: ");
			scanf("lf", &q_zahl);
			q_quadrat = aufgabe_4(q_zahl);
			printf("Die Zahl zum Qaudrat lautet: ", q_zahl, q_quadrat);
			break;
		case 5:
			int	retval;
			retval = aufgabe_5();
			if (retval == 0)
				printf("Richtig !");
			else
				printf("Falsch !");
			break;
		case 6:
			aufgabe_6();
			break;
		case 7:
			aufgabe_7();
			break;
		case 8:
			aufgabe_8();
			break;
		case 9:
			aufgabe_9();
			break;
		case 10:
			aufgabe_10();
			break;
		case 11:
			p11c = &c11;
			p11f = &f11;
			aufgabe_11(a11, &b11, p11c, d11, &e11, p11f);				
			break;
		case 12:
			printf("a12:%i, b12:%i\n", a12, b12);
			aufgabe_12(&a12, &b12);										
			printf("a12:%i, b12:%i\n", a12, b12);
			break;

		default:
			return 0;
		}
	
// Aufgabe 1 
int aufgabe_1(int zahl)
{
	return(zahl * zahl);
}


// Aufgabe 2 
void aufgabe_2(void)
{
	int					a, x;									
	float				b;										
	double				c;									
	char				d;									
	short int			e;									
	long int			f;									
	signed int			g = -2;									
	unsigned int		h = 3;									
	signed short int	i;										
	signed long int		k;										
	signed char			l;										
	unsigned char		m;										
	
																
	a = 1234567;												
	x = 0;														
	b = 25.5;													
	c = -0.123;													
	d = 'M';													
	e = 22;														
	f = 22;														
	g = -1;														
	h = +1;														
	i = -3;														
	k = -3;														
	l = 3;														
	m = -1;														



	printf("int a: %d\n", a);
	printf("int a: %i\n", a);
	printf("float b: %f\n", b);
	printf("float b: %e\n", b);
	printf("float b: %-5.2f\n", b);
	printf("float b: %-1.f\n", b);
	printf("double c: %f\n", c);
	printf("double c: %-+.1f\n", c);
	printf("char d: %c\n", d);
	printf("char d: 0x%x\n", d);
	printf("char d: 0x%X\n\n", d);
	printf("short int:%hi, long int:%li, signed int:%i, unsigned int:%u \n, signed short int:%hi, signed long int:%li\n\n", e, f, g, h, i, k);
	printf("0x%hX, 0x%lX, 0x%lX, 0x%lX, 0x%hX, 0x%lX\n", e, f, g, h, i, k);
	printf("signed char %c, unsigned char %c\n", l, m);
	printf("signed char 0x%X, unsigned char 0x%X\n", l, m);

	return;
}


// Aufgabe 3 
double aufgabe_3(double f_zahl)
{
	double tmp;
	tmp = sqrt(f_zahl);
	return(tmp);
}


// Aufgabe 4 
double aufgabe_4(double f_zahl)
{
	double tmp;
	tmp = pow(f_zahl, 2);
	return(tmp);
}


// Aufgabe 5 
int aufgabe_5(void)
{
	double	zahl;

	printf("Bitte eine Zahl zur Plausibilitaetspruefung eingeben: ");
	scanf("lf", &zahl);
	if ((zahl > 5.0) && (zahl <= 10.0))
	{
		return(0);
	}
	else
	{
		return(-1);
	}
}


// Aufgabe 6 
void aufgabe_6(void)
{
	enum m {m1=201, m2=202, m3=203};						

	int meldungsnr;
	printf("Bitte eine Meldungsnummer eingeben: ");
	scanf("%i", &meldungsnr);
	printf("Meldungsnummer: %i\n", meldungsnr);
	switch(meldungsnr)
	{
	case m1:
		printf("Meldung m1: %i\n", m1);
		break;
	case m2:
		printf("Meldung m2: %i\n", m2);
		break;
	case m3:
		printf("Meldung m3: %i\n", m3);
		break;
	default:
		printf("Fehler: ?\n");
		break;
	}


	return;
}


// Aufgabe 7
void aufgabe_7(void)
{
	double	zahl;

	printf("(A7) Bitte eine Zahl zur Plausibilitaetspruefung eingeben: ");

	while(1)
	{
		scanf("%lf", &zahl);
		if ((zahl > 5.0) && (zahl <= 10.0))
		{
			printf("Wert OK!\n");
			return;
		}
		else
		{
			printf("Fehlerhafte Eingabe, bitte neuen Wert eingeben: ");
		}
	}
}


// Aufgabe 8
void aufgabe_8(void)
{
	int zahl;
	int i;

	printf(" (A8) Bitte eine Zahl eingeben, Sie haben drei Versuche: ");
	for (i=0; i<3; i++)
	{
		scanf("%i", &zahl);
		if (zahl != 7)
		{
			if (i < 2)
			{
				printf("Fehlerhafte Eingabe, noch %i Versuche; bitte neuen Wert eingeben: ", 3-i-1);
			}
			else
			{
				printf("Letzte Chance verpasst!\n");
			}
		}
		else
		{
			printf("Eingabe OK\n");
			return;
		}
	}
}


// Aufgabe 9
void aufgabe_9(void)
{
	int zahl;
	int i =2;

	printf(" (A9) Bitte eine Zahl eingeben, Sie haben drei Versuche: ");
	do
	{
		scanf("%i", &zahl);
		if (zahl != 7)
		{
			printf("Fehlerhafte Eingabe, noch %i Versuche; bitte neuen Wert eingeben: ", i);
		}
		else
		{
			printf("Eingabe OK\n");
			return;
		}
	} while (i-- >0);
	printf("Letzte Chance verpasst!\n");
}


// Aufgabe 10
void aufgabe_10(void)
{
	char chararray[10];
	char c;
	int i = 10;
	int j;
	scanf("%c", &c);

	do
	{
		printf("(A10) Bitte noch %i Zeichen+<CR> nacheinander eingeben: ", i);
		scanf("%c", &chararray[10-i]);
		scanf("%c", &c);
		for (j=0; j<10; j++) printf("%c ", chararray[j]); printf("\n"); 

	} while (i-- >1);

	for (j=0; j<10; j++) printf("%c ", chararray[j]); printf("\n"); 
}



// Aufgabe 11
void aufgabe_11(int a, int* pb, int* pc, float d, float* pe, float* pf)				
{	printf("a:%i, b:%i, c:%i, d:%-5.2f, e:%-5.3f, f:%-3.1f\n", a, *pb, *pc, d, *pe, *pf);
}


// Aufgabe 12
void aufgabe_12(int* px, int* py)												
{
	int tmp;

	tmp = *px;
	*px = *py;
	*py = tmp;

}

außerdem habe ich noch den "fatal error" C1075: Dateiende erreicht, bevor das zugehörige Element für das linke Element Klammer "{" in "xxx"... keine Ahnung woher das nun kommt?
 
Guten Tag,

wenn ich das richtig überschaue, fehlen deiner Main-Funktion 2 schließende } - Klammern.

Gruß ;)
 
Verdammt, alle Probleme weg, keine Ahnung wie ich das Übersehen konnte. Danke dafür...

Nachstes Problem:

Nach der Konsolenabfrage der gewünschten Programmnummer wird nicht in die Funktionen gesprungen sondern die Kondole schließt sich einfach wieder... Ideen?
 
Zurück