Il seguente diagramma di flusso è corretto per il codice specificato?


Ho progettato un diagramma di flusso basato su questo codice in Java.

public static void main(String args[]) throws IOException {
    BufferedReader bw = new BufferedReader(new InputStreamReader(System.in));
    attendance_and_student_management object = new attendance_and_student_management();
    int flag = 1;
    do {
        {
            int var = object.menu();
            if (var == 1) {
                System.out.println("\f");
                object.add_student();
                System.out.println();
            } else if (var == 2) {
                System.out.println("\f");
                object.search_student();
                System.out.println();
            } else if (var == 3) {
                System.out.println("\f");
                object.change_student_information();
                System.out.println();
            } else if (var == 4) {
                System.out.println("\f");
                object.take_attendance();
                System.out.println();
            } else if (var == 5) {
                System.out.println("\f");
                object.attendance_summary();
                System.out.println();
            } else if (var == 6) {
                System.out.println("\f");
                object.monthly_defaulter_list();
                System.out.println();
            } else if (var == 7) {
                System.out.println("\f");
                System.out.println("THANK YOU FOR USING THE PROGRAM!!");
                System.exit(0);
            } else {
                System.out.println("\f");
                System.out.println();
                System.out.println("Invalid Input. Would you like to try again? Press 1 for Yes");
                int choice1 = Integer.parseInt(bw.readLine());
                if (choice1 == 1) {
                    continue;
                } else {
                    break;
                }
            }
            System.out.println("Would you like to return to the Main Menu to perform more tasks? Press 1 for Yes and 0 for No");
            flag = Integer.parseInt(bw.readLine());
            if (flag != 1) {
                System.out.println("Are you sure you want to exit? Press 1 for Yes");
                int flag2 = Integer.parseInt(bw.readLine());
                if (flag2 == 1)
                    flag = 0;
                else
                    flag = 1;
            }
        }
    }
    while (flag == 1);
}

Il diagramma di flusso è riportato di seguito:

DIAGRAMMA

Sto ancora imparando come costruire diagrammi di flusso, quindi, non sono sicuro che questo diagramma sia corretto. Qualsiasi input o suggerimento sarà molto apprezzato.

PS: Ho provato a rendere il diagramma di flusso un po ' più semplice, per favore dimmi se questo è più appropriato del precedente...

inserisci qui la descrizione dell'immagine

Author: Shrey Aryan, 2016-01-15

1 answers

La tua condizione sul grafico

Var è uguale a 1,2,3,4,5,6 o 7?

Non è giusto al 100%.

Il tuo programma funziona con le condizioni if e else if, che controllano ogni condizione seriale. Prima controlli l ' 1, poi il 2, poi il 3 e così uno...

Il grafico mostra queste condizioni come una condizione All-In-One, ciò che in java significa switch).

Quindi il tuo grafico dovrebbe mostrare questi if più simili questo:

If-Condizioni

Successivamente, non è necessario disegnare le caselle del grafico

Metodo di esecuzione

Nel tuo codice, puoi disegnare solo una casella per l'azione in una condizione if vera (come la mia immagine aggiunta).

E infine, dovresti avere solo un punto "Exit / End" sul grafico. Ogni flusso che interrompe il programma, dovrebbe collegarsi a questo punto finale.

 1
Author: Joel Geiser, 2016-01-15 08:20:55