Zum Auswahlmenü zurück springen



  • das beispiel ist genial 😃

    in der aufgabenstellung ists leider so formuliert, dass man diese unterschiedlichen auswahlpunkte haben muss.

    vielleicht hat hier noch jemand eine idee?

    und noch eine frage: was ist der unterschied bei scanf, wenn man a oder &a schreibt?



  • Nun ... in dem Fall kannst du trotzdem auf meinen Vorschlag zurückgreifen 🙂

    // hab es fuer dich mal zusammengefasst:
    	int feld[NMAX], i, feldgroesse=0, x;
    
    	for(i=0; i<NMAX; i++)
    		feld[i] = 0;
    

    Togglino schrieb:

    und noch eine frage: was ist der unterschied bei scanf, wenn man a oder &a schreibt?

    Bei der Eingabe MUSS die Adresse der Variablen angegeben werden, wo die Daten hingeschrieben werden sollen. a ist also schlichtweg falsch.
    Arbeitest du mit Zeigern, die auf die entsprechende Adresse zeigen, ist der Adressoperator nicht notwendig.

    int a;
    	int *b = &a;
    
    	scanf("%d", &a);
    	printf("%d", a);
    	scanf("%d", b);
    	printf("%d", a);
    


  • Lies mal ein gutes C-Buch oder passe im Unterricht besser auf, dann sind dir diese absoluten C-Grundlagen geläufig.



  • okay danke soweit für die hilfe.
    meine letzte frage wäre nach wie vor, wie ich nach der auswahl eines punktes (sei es 1 oder 2) zurück zum auswahl menü komme ohne dass das programm beendet wird? :S



  • Nach dem gleichen Prinzip, wie du deine feldgröße eingibst > eine do-while-Schleife



  • vielen dank soweit!
    bei punkt 4 soll ich den array mit zufallszahlen füllen.
    das habe ich mir so vorgestellt:

    case 3:
                   srand((unsigned)time(NULL)); //Füllen des Arrays mit Zufallszahlen
                   for(i=0;i<NMAX;i++);
                   {
                             feld[i]=rand()%100;// Wahrscheinlichkeit jeder Zahl von 1%
    
                             printf("\n%d\x20",feld[i]);//Ausgabe des Arrays
                   }
           break;
    

    aber leider gibt printf nur eine zahl aus und nicht die elemente des arrays.
    wie stelle ich die zufallszahlen des arrays bzw. dessen elemente denn komplett da?



  • Das sind wohl die Fehler, die man am schwersten findet 😃

    > letztes Zeichen in Zeile 3 ist zuviel



  • BasicMan01, vielen Dank für die super Hilfe! 🙂

    meine Probleme wollen aber nicht aufhören 😞

    case 2:
                     for(i=0;i<NMAX;i++) 
                     {
                         printf("\nBitte Wert %i eingeben\n", i+1);
                         scanf("%i",&feld[i]);
    
                     }
                      printf("%i\n",feld[i]);
           break;
    

    Er gibt leider eine komische Zahl aus.
    Ich möchte aber, dass hier die vorher eingegebenen Elemente des Arrays zum Schluss nochmal angezeigt bekomme. Wie mache ich das?



  • Togglino schrieb:

    Er gibt leider eine komische Zahl aus.

    Des glaube ich nicht. Ich habe dieses Jahr gelernt, das es glückliche Zahlen gibt und fröhliche und auch traurige Zahlen ... komisch wäre mir gänzlichst neu. 🤡

    for(i=0;i<NMAX;i++)
    {
        printf("\nBitte Wert %i eingeben\n", i+1);
        scanf("%i",&feld[i]);
    
    }
    
    // an dieser Stelle ist i == NMAX und somit außerhalb deiner Arraygrenzen.
    // Muss das printf nicht innerhalb der geschweiften Klammern der for-Schleife stehen?
    // Moechtest du das array erneut komplett ausgeben, so ist eine neue for-Schleife von noeten,
    printf("%i\n",feld[i]);
    


  • also ich möchte, dass das array nochmal komplett ausgegeben wird.
    wie mache ich die 2. for schleife? was nehme ich denn da als bedingung?



  • Du fragst mittlerweile nach Dingen, die du bereits in der gleichen bzw. leicht veränderten Form schon längst in deinem Programm umgesetzt hast.

    Es hilft dir fachlich nicht wirklich, wenn man dir alles vorkaut.
    Ein gutes Tutorial sollte für dich die Mühe wert sein
    http://www.c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=3


Anmelden zum Antworten