Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

C : Auswahlmenü mit Switch-Schleife soll Fkt. aufrufen

icecap / 2 Antworten / Flachansicht Nickles

Hallo Leute, soll folgendes Programm erstellen:


Einige Messwerte sollen in ein array eingegeben werden und daraus Mittelwert und Maximum bestimmt werden. Das ganze soll mit einem Auswahlmenü geschehen, das folgenden Aufbau hat:


(1) daten aufnehmen


(2) Mittelwert berechnen


(3) maximum angeben


(4) exit


Mein Problem ist nun, dass ich erst seit 4 Wochen C lerne und nicht weiß wie ich erreichen kann, dass


1. Beim Treffen einer Auswahl die Teilfunktion ausgeführt wird UND dann wieder zum Auswahlmenü zurückkehrt


2. sich die Teilfunktion erst auf Tastendruck beendet


3. Die Bildschirmausgabe gelöscht wird, bevor er wieder ins Auswahlmenü zurückkehrt.


Ich hoffe dass ihr mir weiterhelfen könnte, meinen bisherigen Code poste ich mal mit:


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


#include <stdio.h>
#include<stdlib.h>


int auswahl, n, m, anzahl;
double *messwerte, summe, mittelwert, maximum;


 


void daten()
{
 messwerte = (double *) calloc(n, sizeof(double));
 printf("Bitte Anzahl der Messwerte angeben: ");
 scanf("%d", &anzahl);
 for(n=1; n<=anzahl; n++)
  {
   printf("Bitte Messwert %d eingeben: ", n);
   scanf("%lf", &messwerte[n]);
   summe += messwerte[n];
  }
}


void mittel()
{


 mittelwert=summe/(n-1);
 printf("Mittelwert = %lf", mittelwert);
}


void max()
{
 maximum=messwerte[1];
 for(m=1; m<=n; m++)
  {
   if(messwerte[m]>maximum)
    maximum=messwerte[m];
  }
 printf("Maximalwert = %lf", maximum);
}


int main()
{
 do{
 printf("(1) Daten aufnehmen\n(2) Mittelwert berechnen\n(3) Maximalwert angeben\n(4) EXIT\n\n");
 printf("Bitte Auswahl treffen: ");
 scanf("%d", &auswahl);
 printf("\n\n\n");
 switch(auswahl)
  {
   case 1: daten();
   case 2: mittel();
   case 3: max();
   case 4: return 0;
   default: printf("Bitte geben Sie eine gueltige Auswahl ein (Ziffern 1-4\n)");
  }
 }
while(auswahl != 4);
 return 0;
}


 

bei Antwort benachrichtigen
d-oli icecap „C : Auswahlmenü mit Switch-Schleife soll Fkt. aufrufen“
Optionen
1. Beim Treffen einer Auswahl die Teilfunktion ausgeführt wird UND dann wieder zum Auswahlmenü zurückkehrt
z.B. mit einer do/while-Schleife
do
{
   //Der ganze Rest
} while ( Ausgabe != 'q' ); //'q' für quitt

2. sich die Teilfunktion erst auf Tastendruck beendet
getc();
- siehe auch hier unter stdio.h und getc

3. Die Bildschirmausgabe gelöscht wird, bevor er wieder ins Auswahlmenü zurückkehrt.
linux: system( "clear" );
Windows: system ("CLS" ); // oder so ähnlich
- siehe auch hier unter stdlib.h und system
Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen