Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

Ich bin ne totale Anfängerin beim Programmieren und ich bräuchte mal irgendnen Tip zu folgender Aufgabe

Ich soll ein Programm schreiben was so aussieht :

A Mitgliederverwaltung

B Jahresabschluss

C Jubilaeen

D Mahnungen

E Menue verlassen

Ihre Eingabe: x

Ihre Eingabe ist leider nicht zulaessig.

Bitte waehlen Sie:

A Mitgliederverwaltung

B Jahresabschluss

C Jubilaeen

D Mahnungen

E Menue verlassen

Ihre Eingabe: B

Sie werden nun zum Jahresabschluss weitergeleitet

Bitte waehlen Sie:

A Mitgliederverwaltung

B Jahresabschluss

C Jubilaeen

D Mahnungen

E Menue verlassen

Ihre Eingabe: e

Sie verlassen jetzt das Menue. Auf Wiedersehen!

Ich habe dazu bislang das geschrieben:

main()

{

int c;

printf(" Bitte waehlen Sie:\n\n");

printf("A Mitgliederverwaltung\n");

printf("B Jahresabschluss\n");

printf("C Jubilaeen\n");

printf("D Menue verlassen\n");

switch (c=getchar()) {

case 'a':

case 'A':

printf("\nSie werden nun zu Mitgliederverwaltung weitergeleitet ...\n");

break;

case 'b':

case 'B':

printf("\nSie werden nun zum Jahresabschluss weitergeleitet ...\n");

break;

case 'c':

case 'C':

printf("\nSie werden nun zum Jubilaeen weitergeleitet ...\n");

break;

case 'd':

case 'D':

printf("\nSie verlassen jetzt das Menue. Auf Wiedersehen!\n");

break;

default:

printf("\nIhre Eingabe ist leider nicht zulaessig. \07\n");

}}

Jetzt habe ich dabei 2 Probleme. Erstmal beendet sich das Programm nach jeder Wahl, egal was man wählt und ich soll bei dem programm nach möglichkeit den Befehl scanf verwenden.

Ich weiß aber weder wie ich den Befehl da einbringen kann noch wie ich es schaffe das sich das Programm nicht nach jeder Wahl beendet.

Bin echt über jeden Tip Dankbar

Naja im Moment fragst du ja noch keine Benutzereingabe ab. Das er trotzdem wartet wird wohl daran liegen das deine Entwicklungsumgebung dafür sorgt. Wenn du dein Programm einfach mal so (nicht aus deiner Entwicklungsumgebung raus) startest, dann sollte es direkt wieder zu gehen ohne das du etwas drücken musst.

Mit scanf kannst du die Benutzereingabe abfragen wie du die verwendest findest du in der Dokumentation die bei deiner Entwicklungsumgebung dabei ist oder wenn du hier im Forum einfach mal danach suchst.

Damit dein Programm sich nicht direkt wieder beendet kannst du eine Schleife um das Menü bauen. Dazu würde sich eine do while Schleife anbieten.

Wenn dir das alles nichts sagt dann solltest du dir erstmal die Grundlagen von C aneignen. Dazu kannst du ja mal hier rein gucken:

http://forum.fachinformatiker.de/showthread.php?t=70849&highlight=Tutorial

Leute erst lesen ;)

Es geht nicht darum am Ende zu auf eine Eingabe zu warten sondern darum das man solange im Menü wählen kann bis man Verlassen wählt.

dann soll er da ne schleife rum programmieren

do

....

while

und nen neuen punkte aufnehmen

E = Exit oder so

Naja im Moment fragst du ja noch keine Benutzereingabe ab. Das er trotzdem wartet wird wohl daran liegen das deine Entwicklungsumgebung dafür sorgt. (...)

na doch tut sie doch hier


switch (c=getchar()) {

nach dem switch wird das Programm sofort wieder beendet kannst vor dem ende der main-Funktion noch ein system("pause"); einfügen, dann wartet das programm auf einen Tastendruck (geht zumindest bei windows-systemen) oder halt wie der mächtige Pirat schon sagte eine schleife um den switch block bauen zur Frage mit dem scanf:

char c;

scanf("%c", &c);

switch(c)

{

case 'a':

(...)

}

hier wir dein zeichen von der konsole in die variable c eingelesen

Okay vielen Dank für die vielen Antworten, aber irgendwie bringt mich das nicht weiter, ich habe grade erst meine 2. Informatikvorlesung hinter mir und kann mit euren Tips jetzt echt nicht viel Anfangen, könnte mir das vielleicht jemand etwas vereinfacht erklären ???

Hallo DaniX,

eigentlich hat es Drake bereits gesagt. Du solltest eine do-while-Schleife verwenden, um deine Eingabeaktion wiederholt ausführen zu können.

Wahrscheinlich hilft dir zum jetzigen Zeitpunkt diese Info nicht viel weiter. Deshalb hier mein Ansatz für die Umsetzung:


int main(int argc, char* argv[])
{
int c;

//do-while-Schleife
do
{
printf(" Bitte waehlen Sie:\n\n");
printf("A Mitgliederverwaltung\n");
printf("B Jahresabschluss\n");
printf("C Jubilaeen\n");
printf("D Menue verlassen\n");

//c=getchar();
c=getch(); //liest ein Zeichen von der Konsole

switch (c)
{
case 'a':
case 'A':
printf("\nSie werden nun zu Mitgliederverwaltung weitergeleitet ...\n");
break;
case 'b':
case 'B':
printf("\nSie werden nun zum Jahresabschluss weitergeleitet ...\n");
break;
case 'c':
case 'C':
printf("\nSie werden nun zum Jubilaeen weitergeleitet ...\n");
break;
case 'd':
case 'D':
printf("\nSie verlassen jetzt das Menue. Auf Wiedersehen!\n");
break;
default:
printf("\nIhre Eingabe ist leider nicht zulaessig. \07\n");
}
} while (c != 'd' && c != 'D'); //solange ausführen, bis Abbruch

getch(); //wartet vor dem Beenden

return 0;
}

[/PHP]

Aber auch mein Rat: Lies ein paar Tutorials durch.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.