interaktive Menüs, mit switch-Anweisung
Hallo, ich bin versucht, um ein interaktives Menü mit switch-Anweisung in C.
Obwohl, ich bin mir unsicher, wie auslösen einer Funktion mit bestimmten Argumenten.
Ich bin ein total Anfänger und ich bin ratlos, wie dies zu tun.
Die Funktion der switch-Anweisung muss die Argumente, aber ich möchte die Funktion zu Fragen, für die zahlen. Ich Tue dies als eine Aufgabe und nicht den eigentlichen code, so habe ich dieses mock-up. Danke für Eure Hilfe.
Hier ist ein Beispiel code, den ich verwenden könnte.
#include <stdio.h>
void printMenu()
{
int choice;
do
{
printf("Main Menu:\n");
printf("1) do this\n");
scanf("%d", &choice);
switch (choice)
{
case 1:
function(); /* though this needs the arguments */
break;
}
} while (choice != 7);
int main(void)
{
printMenu();
return 0;
}
void function(int number1, float number2)
{
/*calculation*/
printf("enter your numbers");
/* Not sure how to read the numbers in here */
printf("%d + %d = %d", number1, number2, number1 + number2);
return;
}
- Ist da eine Frage drin?
- Es würde scheinen, die Sie bereits verwenden scanf(). Verwenden Sie wieder Lesen Ihre zahlen.
- BTW: Hinweis: die miss matched schwimmen in der Funktion args vs. int/int in seiner printf
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, dass die
switch
so minimal wie möglich dann rufen Sie eine andere Funktion, die Eingabe-und dann die Funktion aufruft...void function(int number1, float number2)
zuvoid function(void)
- und prompt für die Eingabe innerhalb dieser Funktion.Wie über die Fragen, die Argumente zuerst , und dann die Funktion aufrufen. Auf diese Weise die beiden Argumente deklariert werden kann einmal und in anderen Funktionen mit dem gleichen Schalter , sondern nach Maßgabe der gewählten Fall.
char mystring [100];
, dann Scannen in mystring , die Sie verwenden würdenfgets (mystring , 100 , stdin)
, der 1. parameter ist der Zeiger auf das char-array , die zweite ist die Größe des Arrays , wird der Dritte parameter einen file-Zeiger , vorausgesetzt, Sie wollen es zu Lesen von der Konsole aus , wird der Dateizeigerstdin
, wenn Sie wollen, Lesen Sie von einer tatsächlichen Datei übergeben Sie den Namen der Datei-Zeiger hier