for schleife

Hallo Van . Ich hab das ganze Kapitel durchgearbeitet. Ganz logisch..wobei ich es komisch finde , wenn ich dieses Beispiel sehe nichts mehr raffe.

Code:
int min = umsatz[0]; 
int min_a = umsatza[0]; 

for(i = 1; i <= 11; i++)
	{
		if( min > umsatz[i] ) { min = umsatz[i]; } // wenn derzeitiger Wert kleiner ist als derzeitiger min Wert
		if( min > umsatza[i] ) { min_a = umsatza[i]; } // dann den neuen min Wert eintragen
	}
printf( "Firma 1 min. Umsatz %i im Monat %s, \nFirma 2 min. Umsatz %i im Monat %s", min, monate[min], min_a, monate[min_a] );


if( min > umsatz[1] ) { min = umsatz[1]; }
if( 200 > 2000[Februar] ) { min = 2000[Februar]; }

wie du siehst ist die if-Abfrage nicht erfolgreich weil 200 nicht größer ist als 2000
also wird der neue min Wert nicht beschrieben.
-----------------------------------------------------------------------------------------------------------------------
O.K hier ist die Bedingung nicht erfolgreich und weil 200 nicht größer als 2000.
also wird der neue min Wert nicht beschrieben.

Warum hast du dann min = 2000 stehen?

-----------------------------------------------------------------------------------------------------------------------

Nun sagen wir das die for-Schleife beim Index 5 ist wo wir 100 Euro als Umsatz
festgelegt haben. In der Zwischenzeit hat sich der min Wert nicht verändert!

if( 200 > 100[Juli] ) { min = 100[Juli]; }

hier ist die If-Abfrage erfolgreich weil 200 größer ist als 100, darum wird der
Wert 100 ins min Variable beschrieben.

Hier ist ein Wiederspruch, weil eben war die bedingung nicht erfolgreich und wurde beschrieben und jetzt ist die Bedingung Erfolgreich und wird auch beschrieben.:confused::confused:
-----------------------------------------------------------------------------------------------------------------------


lg thehasso
 
Hier ist ein Wiederspruch, weil eben war die bedingung nicht erfolgreich und wurde beschrieben und jetzt ist die Bedingung Erfolgreich und wird auch beschrieben

bei der ersten if-Abfrage wird ja eben nichts beschrieben, weil die nicht erfolgreich war....
also wird die Klammer nicht ausgeführt!

a < b Wahr, wenn a kleiner als b
a <= b Wahr, wenn a kleiner oder gleich b
a > b Wahr, wenn a größer als b
a >= b Wahr, wenn a größer oder gleich b
a == b Wahr, wenn a gleich b
a != b Wahr, wenn a ungleich b
Code:
if( a > b ) { min = b; }
-----------------------------------------------------------------
if( 200 > 100 ) { min = 100; }

sieh mal oben das fettgedruckte... if-Abfrage ist Wahr wenn
a größer ist als b. Also wird der neue minimale Wert in
Variable min geschrieben min = umsatz[5];

Man kanns auch anders abfrage wenn du das besser verstehst...

Code:
if( umsatz[5] < min ) { min = umsatz[5]; }
-----------------------------------------------------------------
if( 100 < 200 ) { min = 100; }

Edit:

Jetzt hab ich verstanden was dich verwirrt hat....
die {} heißen bei meinen Beispielen NICHT was nun
ein Wert welche Variable hat sondern was ausgeführt wird
wenn die if-Abfrage wahr ist!
 
Zuletzt bearbeitet:
hallo Van .. war eben erst mal 2 Stunden schlafen das hat mich totaal umgehauen das ich dich nicht verstanden habe.


Hab es nun verstanden. richtig kluge idee von dir wenn man sich das jetzt so anschaut. :)



Braucht das seine Zeit bis man auf sowas kommt? also ich hab vor 2 wochen begonnen und wär glaub ich nicht auf der Idee gekommen.




respekt!

Ich werde nun versuchen es als Funktion zu kennzeichnen. Damit die FUnktion außeerhalb des main Programms deklariert ist.

lg hasso
 
hallo Van .. war eben erst mal 2 Stunden schlafen das hat mich totaal umgehauen das ich dich nicht verstanden habe.
Hab es nun verstanden. richtig kluge idee von dir wenn man sich das jetzt so anschaut. :)

Schön das es nun klappt ^^

Braucht das seine Zeit bis man auf sowas kommt? also ich hab vor 2 wochen begonnen und wär glaub ich nicht auf der Idee gekommen.

Keinen Plan. Mir fällt sowas auf anhieb ein... vlt weil ich oft mit Arrays arbeiten musste.

respekt!

Ich werde nun versuchen es als Funktion zu kennzeichnen. Damit die FUnktion außeerhalb des main Programms deklariert ist.

lg hasso

Joh, have fun damit, und frag hier nach falls du was nicht schaffst
Kostenlose Hausaufgabenhilfe bin :p

ps.: bitte topic als "erledigt" markieren ^^
 
Zuletzt bearbeitet:
Hallo Van , Ich hab im Internet nach funktion deklaration mal nachgeguckt.
Was mir nicht so klar ist , return kann weg gelassen werden habe ich gelesen.
Wenn das return jedoch nicht weggelassen wird , was müsste dann bei return hin?

return (). min?

Das ist noch nicht ganz richtig...Was müsste ich noch verbessern?


Code:
#include <stdlib.h> 
#include <stdio.h> 
#include<math.h> 
#include "conio.h" 

int klein(int min, int min_a, int i)// Dekleration der Funktion
{		

	int min = umsatz[0];
	int min = umsatza[0];
	int i;

	for(i=0;i<11;i++)
	{
		if( min > umsatz[i] )
		{
			min = umsatz[i];
		} 
		if( min > umsatza[i] ) 
		{
			min_a = umsatza[i]; 
		} 
	
	}
	return ;//- die return-Anweisung kann auch ganz fehlen, dann erfolgt der Rücksprung in die aufrufende Funktion beim 
					//Erreichen des Funktionsendes (der schließenden geschweiften Klammer um den Funktionkörper) 
}



int main() 
{ 

 
int const n=11; 
int umsatz[12],umsatza[12],m1,m2,i;
double standardabweichung; 
int umsatz_summe=0; // char* monate [12]=... 
int mittelwert=0; 
char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; 

printf("\n\tHandelsfirma A & B GmbH\n"); 

printf("Menue:\n"); 
printf("1: - Umsaetze eingeben\n"); 
printf("2: - Programm Wiederholen\n"); 
printf("3: - Ermittlung kleinster Wert\n"); 
printf("4: - Ermittlung groesster Wert\n"); 


	printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" );

		for(i=0;i<=n;i++){
    
    printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
	printf("Eingabe:");scanf("%i",&umsatz[i]); 
		}

	printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" );

	for(i=0;i<=n;i++){
		
		printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
		printf("Eingabe:");scanf("%i",&umsatza[i]); }


        umsatz_summe+=umsatz[i];  // Berechnung Summe 
        mittelwert=umsatz_summe/n; // Berechnung Mittelwert 
		standardabweichung = sqrt((umsatz_summe) / (n-1));

    
printf("\n--------------------------------------------------------------------------------\n"); 
//printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); 
    for (i=0;i<=11;i++) 
    { 
        printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatza[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("\n"); 
	}
printf("\n--------------------------------------------------------------------------------\n"); 


printf("\nDie Summe ist:%i Mittelwert:%.2f Standradabweichung: %i",umsatz_summe,mittelwert,standardabweichung); // Ausgabe Summe

// Hier soll die Funktion aufgerufen werden.
// int klein
//printf( "Firma 1 min. Umsatz %i im Monat %s, \nFirma 2 min. Umsatz %i im Monat %s", min, monate[min], min_a, monate[min_a] );




 

system("pause"); 

}



lg thehasso
 
Hallo Van , Ich hab im Internet nach funktion deklaration mal nachgeguckt.
Was mir nicht so klar ist , return kann weg gelassen werden habe ich gelesen.
Wenn das return jedoch nicht weggelassen wird , was müsste dann bei return hin?

return (). min?

Das ist noch nicht ganz richtig...Was müsste ich noch verbessern?


Code:
#include <stdlib.h> 
#include <stdio.h> 
#include<math.h> 
#include "conio.h" 

int klein(int min, int min_a, int i)// Dekleration der Funktion
{		

	int min = umsatz[0];
	int min = umsatza[0];
	int i;

	for(i=0;i<11;i++)
	{
		if( min > umsatz[i] )
		{
			min = umsatz[i];
		} 
		if( min > umsatza[i] ) 
		{
			min_a = umsatza[i]; 
		} 
	
	}
	return ;//- die return-Anweisung kann auch ganz fehlen, dann erfolgt der Rücksprung in die aufrufende Funktion beim 
					//Erreichen des Funktionsendes (der schließenden geschweiften Klammer um den Funktionkörper) 
}



int main() 
{ 

 
int const n=11; 
int umsatz[12],umsatza[12],m1,m2,i;
double standardabweichung; 
int umsatz_summe=0; // char* monate [12]=... 
int mittelwert=0; 
char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; 

printf("\n\tHandelsfirma A & B GmbH\n"); 

printf("Menue:\n"); 
printf("1: - Umsaetze eingeben\n"); 
printf("2: - Programm Wiederholen\n"); 
printf("3: - Ermittlung kleinster Wert\n"); 
printf("4: - Ermittlung groesster Wert\n"); 


	printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" );

		for(i=0;i<=n;i++){
    
    printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
	printf("Eingabe:");scanf("%i",&umsatz[i]); 
		}

	printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" );

	for(i=0;i<=n;i++){
		
		printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
		printf("Eingabe:");scanf("%i",&umsatza[i]); }


        umsatz_summe+=umsatz[i];  // Berechnung Summe 
        mittelwert=umsatz_summe/n; // Berechnung Mittelwert 
		standardabweichung = sqrt((umsatz_summe) / (n-1));

    
printf("\n--------------------------------------------------------------------------------\n"); 
//printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); 
    for (i=0;i<=11;i++) 
    { 
        printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatza[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("\n"); 
	}
printf("\n--------------------------------------------------------------------------------\n"); 


printf("\nDie Summe ist:%i Mittelwert:%.2f Standradabweichung: %i",umsatz_summe,mittelwert,standardabweichung); // Ausgabe Summe

// Hier soll die Funktion aufgerufen werden.
// int klein
//printf( "Firma 1 min. Umsatz %i im Monat %s, \nFirma 2 min. Umsatz %i im Monat %s", min, monate[min], min_a, monate[min_a] );




 

system("pause"); 

}



lg thehasso
 
Hallo Van , Ich hab im Internet nach funktion deklaration mal nachgeguckt.
Was mir nicht so klar ist , return kann weg gelassen werden habe ich gelesen.

Jede Funktion mit Rückgabetyp sollte für jeden möglichen Pfad eine return-Anweisung haben.
(Lass das return also nur bei void-Funktionen weg.)
Es kann sein, dass der Compiler anderes Vorgehen unter Umständen erlaubt (mit C-Standards kenne ich mich nicht so aus), aber das ist in jedem Fall nicht sehr schön und nicht unbedingt aufwärts kompatibel.
Die main-Funktion gibt per default 0 zurück, wenn du kein return hast, aber .. was spart man sich hier schon.. eine Zeile Quellcode, dafür, dass dein Quellcode das Verhalten des Programms unpräzise beschreibt?


Wenn das return jedoch nicht weggelassen wird , was müsste dann bei return hin?

return (). min?

Das ist noch nicht ganz richtig...Was müsste ich noch verbessern?

Nach dem return steht schlicht der Wert, den du zurück geben willst.

C++:
int funktion()
{
  // .. code

     // zum beispiel
  return 1;

     // oder
  return variable;

     // oder
  return feld[index];

    // oder auch
  return funktion2(variable);
}


  // bei void funktionen

void fkt(int value)
{
   if(value == 0)  // auch bei void fkt brauchst du return, für einen frühzeitigen abbruch
     return;         // nach dem return darf hier allerdings kein wert stehen

   // code

   // am ende der void fkt brauchst du kein return, da sowieso kein wert zurück gegeben wird
}

Ich hoffe, das hat geholfen.
 
Hallo Van,

Das Programm habe ich nun fertig geschrieben.. wobei das ganze Globale Variablen enthält...ich werde versuchen es später in Lokale zu schreiben, weil dies auch die Aufgabenstllung gefordert war.

Es hat eigentlich soweit alles funktioniert. Nur min/max.. klappt nicht so ganz .. ich würd dich bitten ..bzw jemand der von ahnung hat drüber zu gucken.. warum es nicht funktioniert..


Code:
#include <stdlib.h>
#include <stdio.h> 
#include <math.h> 
#include "conio.h" 

void eingabe();
void ausgabe();
void mittelwert();
void ausgabe_mittelwert();
void mittelwert2();
void ausgabe_mittelwert2();
void standardabweichung();
void ausgabe_standardabweichung();
void standardabweichung2();
void ausgabe_standardabweichung2();
void klein();
void ausgabe_klein();
void groß();
void ausgabe_groß();

int main()
{
	printf("\t:::MENU:::\n\-Eingabe Umsaetze\n-Mittelwert\n-Standardabweichung\n-Kleinster Umsatatz\n-Groesster Umsatz\n\n");
	eingabe();
	ausgabe();
	mittelwert();
	ausgabe_mittelwert();
	mittelwert2();
	ausgabe_mittelwert2();
	standardabweichung();
	ausgabe_standardabweichung();
	standardabweichung2();
	ausgabe_standardabweichung2();
	klein();
	ausgabe_klein();
	groß();
	ausgabe_groß();

	return 0;
}

//Globale Variablen, damit keine Rückgabewerte notwendig sind!
char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; 
int i;
int loga,logb,logc,logd;
float umsatz_summe_1 = 0;
float umsatz_summe_2 = 0;
float n=11;
float umsatz_unternehmen_1[12],umsatz_unternehmen_2[12];

float summe_unternehmen_1 = 0; 
float summe_unternehmen_2 = 0;
float summe=0,summe2=0;
float u_mittelwert = 0, u2_mittelwert=0,u_standardabweichung=0,s = 0,u_standardabweichung2 = 0, s2 = 0;

float min_unternehmen_1;
float min_unternehmen_2;
float max_unternehmen_1;
float max_unternehmen_2;


void eingabe()
{ 
printf("\n\nHandelsfirma A & B GmbH\n\n"); 

printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" );


        for(i=0;i<=n;i++)
		{
    
            printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
            printf("Eingabe:");scanf("%f",&umsatz_unternehmen_1[i]); 
        }
cls();

printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" );

        for(i=0;i<=n;i++)
		{
            
            printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
            printf("Eingabe:");scanf("%f",&umsatz_unternehmen_2[i]);
		}
cls();
}

void ausgabe()
{
printf("\n--------------------------------------------------------------------------------\n"); 
printf("\n                 :::Filiale 1:::                      :::Filiale 2:::\n\n");
printf("\n--------------------------------------------------------------------------------\n"); 
    for (i=0;i<=11;i++) 
    { 
	
        printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_1[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_2[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("\n"); 
    }
printf("\n--------------------------------------------------------------------------------\n");

}

//MITTELWER UNTERNEHMEN 1 BERECHNUNG
void mittelwert()
{

for(i=0; i <= 11; i++)
{
summe_unternehmen_1 += umsatz_unternehmen_1[i];
summe = summe_unternehmen_1;
}

u_mittelwert = summe/12 ;

}


//MITTELWERT UNTERNEHMEN 1 AUSGABE
void ausgabe_mittelwert()
{

printf("Moechten Sie den Mittelwert von Unternehmen A anzeigen lassen? (1/0)?");
scanf("%i",&loga);
if(loga == 1)
{
	printf("\n:::Der Mittelwert von Unternehmen A:::\n");
	printf("\nMITTELWERT ist:%.2f",u_mittelwert);
}

}

//MITTELWERT UNTERNEHMEN 2 BERECHNUNG
void mittelwert2()
{

for(i=0; i <= 11; i++)
{
summe_unternehmen_2 += umsatz_unternehmen_2[i];
summe2 = summe_unternehmen_2;
}

u2_mittelwert = summe2/12 ;

}


//MITTELWERT UNTERNEHMEN 2 AUSGABE
void ausgabe_mittelwert2()
{

printf("Moechten Sie den Mittelwert von Unternehmen B anzeigen lassen? (1/0)?");
scanf("%i",&logb);
if(loga == 1)
{
printf("\n:::Der Mittelwert von Unternehmen B::\n");
printf("\nMITTELWERT ist:%.2f",u2_mittelwert);
}
cls();
}


// BERECHNUNG STANDARDABWEICHUNG UNTERNEHMEN A
void standardabweichung()
{
	for(i=0; i <= 11; i++)
	{

		u_standardabweichung = pow( umsatz_unternehmen_1[i]  - u_mittelwert,2);
		
		s = sqrt(u_standardabweichung/12);
		
	}

}

//AUSGABE STANDARDABWEICHUNG UNTERNEHMEN 2
void ausgabe_standardabweichung()
{

	printf("\nMoechten Sie den Standardabweichung anzeigen lassen? (1/0)?");

	scanf("%i",&logc);
	if(logb == 1)
			{
		printf("\n:::Der Standardabweichung von Unternehmen A:::\n");
		printf("\nSTANDARDABWEICHUNG ist:%f\n",s);
			}

cls();
}


void standardabweichung2()
{
	for(i=0; i <= 11; i++)
	{

		u_standardabweichung2 = pow( umsatz_unternehmen_2[i]  - u2_mittelwert,2);
		
		s2 = sqrt(u_standardabweichung2/12);
		
	}

}

void ausgabe_standardabweichung2()
{

	printf("\nMoechten Sie den Standardabweichung anzeigen lassen? (1/0)?\n");

	scanf("%i",&logc);
	if(logb == 1)
			{
		printf("\n:::Der Standardabweichung von Unternehmen B :::\n");
		printf("\nSTANDARDABWEICHUNG ist:%f\n",s2);
			}

cls();
}


void klein() // ermittlung kleinster Umsatz!
{

float min_unternehmen_1 = umsatz_unternehmen_1[0];
float min_unternehmen_2 = umsatz_unternehmen_2[0];

for (i=0; i<11; i++)
{
if(min_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0]=min_unternehmen_1;}
if(min_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0]=min_unternehmen_2;}
}

}

void ausgabe_klein()
{
	printf("\nMoechten Sie den kleinsten Umsatz anzeigen lassen (1/0)?\n");
	scanf("%i",&logd);

	if(logc == 1)
	{
	printf("\nKleinste Umsatz U1 %.2f Kleinster Umsatz U2 %.2f\n");
	}

}

void groß() //Ermittlung größer Umsatz!
{

float max_unternehmen_1 = umsatz_unternehmen_1[0];
float max_unternehmen_2 = umsatz_unternehmen_2[0];


for (i=0; i<11; i++)
{
    if(max_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0] = max_unternehmen_1;}
	if(max_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0] = max_unternehmen_2;}
}

}

void ausgabe_groß()
{
	printf("\nMoechten Sie den kleinsten Umsatz anzeigen lassen (1/0)?\n");
	scanf("%i",&logd);
	if(logc == 1)
	{
	printf("\nGroeßte Umsatz U1 %.2f Groesste Umsatz U2 %.2f\n",max_unternehmen_1,max_unternehmen_2);
	}
}


Lieben Gruß
 
Hab kurz drüber geschaut:

C++:
#include <stdlib.h>
#include <stdio.h> 
#include <math.h> 
#include "conio.h" 

void eingabe();
void ausgabe();
void mittelwert();
void ausgabe_mittelwert();
void mittelwert2();
void ausgabe_mittelwert2();
void standardabweichung();
void ausgabe_standardabweichung();
void standardabweichung2();
void ausgabe_standardabweichung2();
void klein();
void ausgabe_klein();
void gros();
void ausgabe_gros();
void cls() { system("cls"); return; }

//Globale Variablen, damit keine Rückgabewerte notwendig sind!
char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; 
int i;
int log_a, log_b, log_c, log_d;
float umsatz_summe_1 = 0;
float umsatz_summe_2 = 0;
float n=11;
float umsatz_unternehmen_1[12],umsatz_unternehmen_2[12];

float summe_unternehmen_1 = 0; 
float summe_unternehmen_2 = 0;
float summe=0,summe2=0;
float u_mittelwert = 0, u2_mittelwert=0,u_standardabweichung=0,s = 0,u_standardabweichung2 = 0, s2 = 0;

float min_unternehmen_1;
float min_unternehmen_2;
float max_unternehmen_1;
float max_unternehmen_2;


int main()
{
	printf("\t:::MENU:::\nEingabe Umsaetze\n-Mittelwert\n-Standardabweichung\n-Kleinster Umsatatz\n-Groesster Umsatz\n\n");
	eingabe();
	ausgabe();
	mittelwert();
	ausgabe_mittelwert();
	mittelwert2();
	ausgabe_mittelwert2();
	standardabweichung();
	ausgabe_standardabweichung();
	standardabweichung2();
	ausgabe_standardabweichung2();
	klein();
	ausgabe_klein();
	gros();
	ausgabe_gros();

	return 0;
}


void eingabe()
{ 
printf("\n\nHandelsfirma A & B GmbH\n\n"); 

printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" );


        for(i=0;i<=n;i++)
		{
    
            printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
            printf("Eingabe:");scanf("%f",&umsatz_unternehmen_1[i]); 
        }
cls();

printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" );

        for(i=0;i<=n;i++)
		{
            
            printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]);  // Eingabe 
            printf("Eingabe:");scanf("%f",&umsatz_unternehmen_2[i]);
		}
cls();
}

void ausgabe()
{
printf("\n--------------------------------------------------------------------------------\n"); 
printf("\n                 :::Filiale 1:::                      :::Filiale 2:::\n\n");
printf("\n--------------------------------------------------------------------------------\n"); 
    for (i=0;i<=11;i++) 
    { 
	
        printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_1[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_2[i]);  //Ausgabe Umsatz, Monat, Jahr 
        printf("\n"); 
    }
printf("\n--------------------------------------------------------------------------------\n");

}

//MITTELWER UNTERNEHMEN 1 BERECHNUNG
void mittelwert()
{

for(i=0; i <= 11; i++)
{
summe_unternehmen_1 += umsatz_unternehmen_1[i];
summe = summe_unternehmen_1;
}

u_mittelwert = summe/12 ;

}


//MITTELWERT UNTERNEHMEN 1 AUSGABE
void ausgabe_mittelwert()
{

printf("Moechten Sie den Mittelwert von Unternehmen A anzeigen lassen? (1/0)?");
scanf("%i",&log_a);
if(log_a == 1)
{
	printf("\n:::Der Mittelwert von Unternehmen A:::\n");
	printf("\nMITTELWERT ist:%.2f",u_mittelwert);
}

}

//MITTELWERT UNTERNEHMEN 2 BERECHNUNG
void mittelwert2()
{

for(i=0; i <= 11; i++)
{
summe_unternehmen_2 += umsatz_unternehmen_2[i];
summe2 = summe_unternehmen_2;
}

u2_mittelwert = summe2/12 ;

}


//MITTELWERT UNTERNEHMEN 2 AUSGABE
void ausgabe_mittelwert2()
{

printf("Moechten Sie den Mittelwert von Unternehmen B anzeigen lassen? (1/0)?");
scanf("%i",&log_b);
if(log_a == 1)
{
printf("\n:::Der Mittelwert von Unternehmen B::\n");
printf("\nMITTELWERT ist:%.2f",u2_mittelwert);
}
cls();
}


// BERECHNUNG STANDARDABWEICHUNG UNTERNEHMEN A
void standardabweichung()
{
	for(i=0; i <= 11; i++)
	{

		u_standardabweichung = pow( umsatz_unternehmen_1[i]  - u_mittelwert,2);
		
		s = sqrt(u_standardabweichung/12);
		
	}

}

//AUSGABE STANDARDABWEICHUNG UNTERNEHMEN 2
void ausgabe_standardabweichung()
{

	printf("\nMoechten Sie den Standardabweichung anzeigen lassen? (1/0)?");

	scanf("%i",&log_c);
	if(log_b == 1)
			{
		printf("\n:::Der Standardabweichung von Unternehmen A:::\n");
		printf("\nSTANDARDABWEICHUNG ist:%f\n",s);
			}

cls();
}


void standardabweichung2()
{
	for(i=0; i <= 11; i++)
	{

		u_standardabweichung2 = pow( umsatz_unternehmen_2[i]  - u2_mittelwert,2);
		
		s2 = sqrt(u_standardabweichung2/12);
		
	}

}

void ausgabe_standardabweichung2()
{

	printf("\nMoechten Sie den Standardabweichung anzeigen lassen? (1/0)?\n");

	scanf("%i",&log_c);
	if(log_b == 1)
			{
		printf("\n:::Der Standardabweichung von Unternehmen B :::\n");
		printf("\nSTANDARDABWEICHUNG ist:%f\n",s2);
			}

cls();
}


void klein() // ermittlung kleinster Umsatz!
{

float min_unternehmen_1 = umsatz_unternehmen_1[0];
float min_unternehmen_2 = umsatz_unternehmen_2[0];

for (i=0; i<11; i++)
{
if(min_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0]=min_unternehmen_1;}
if(min_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0]=min_unternehmen_2;}
}

}

void ausgabe_klein()
{
	printf("\nMoechten Sie den kleinsten Umsatz anzeigen lassen (1/0)?\n");
	scanf("%i",&log_d);

	if(log_c == 1)
	{
	printf("\nKleinste Umsatz U1 %.2f Kleinster Umsatz U2 %.2f\n");
	}

}

void gros() //Ermittlung größer Umsatz!
{

float max_unternehmen_1 = umsatz_unternehmen_1[0];
float max_unternehmen_2 = umsatz_unternehmen_2[0];


for (i=0; i<11; i++)
{
    if(max_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0] = max_unternehmen_1;}
	if(max_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0] = max_unternehmen_2;}
}

}

void ausgabe_gros()
{
	printf("\nMoechten Sie den kleinsten Umsatz anzeigen lassen (1/0)?\n");
	scanf("%i",&log_d);
	if(log_c == 1)
	{
	printf("\nGroeßte Umsatz U1 %.2f Groesste Umsatz U2 %.2f\n",max_unternehmen_1,max_unternehmen_2);
	}
}

Hab mal das so umgeändert das es kompilierbar ist.
Hat viele Ablauffehler, d.h. cls an falschen Orten
ausgeführt, manche Nachriten verschwinden zu schnell etc....


Fehler:
* Globale Variablen kommen vor der Main!
* keine cls() Funktion definiert. Habs eingefügt...
* Hab die Namen von den Variablen logX in log_X umgeändert
(scheinbar gabs die irgendwo in den Headerfiles, deswegen Doppeldeklaration...)
* KEINE Buchstaben wie äöü UND ß. Siehe deine Funktion groß...
Habs derweile das ß in s umgeschrieben, würde aber englische Begriffe
empfehlen... "big", "small" etc...
* bei einem printf hattest du "\-" und sowas gibts nicht.


PS.:
Bitte auch lesen was der Kompiler dir für Fehlermeldungen ausspuckt.
Hättest alles allein richten können.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück