Exercițiul - Implementați ramurile de cod utilizând instrucțiuni de selecție

Finalizat

În acest exercițiu, dezvoltați codul care atribuie automat nota de scrisoare a unui elev/student pe baza punctajului numeric final și actualizați aplicația astfel încât punctajele suplimentare ale proiectului de credit să fie factorizate în nota finală a elevului/studentului. Începeți prin a scrie o if-elseif-else construcție care poate fi utilizată pentru a evalua punctajul numeric al elevului/studentului și a atribui nota letter. În continuare, examinați cerințele aplicației legate de munca de credit suplimentară, apoi lucrați în drumul spre actualizările de cod necesare. Activitățile detaliate pe care le efectuați în timpul acestui exercițiu sunt:

  1. Dezvoltați o if-elseif-else construcție care evaluează punctajul elevului/studentului pentru a atribui o notă de literă. Expresia evaluată compară punctajul numeric al elevului/studentului cu un interval de punctaje obținute dintr-o diagramă de notare furnizată de profesor.

  2. Integrați punctaje de credit suplimentare în matricea de punctaje a fiecărui elev/student, apoi actualizați codul utilizat pentru a calcula punctajul numeric al elevului/studentului. Cele foreach utilizate pentru a aduna punctajele elevilor/studenților vor fi actualizate pentru a include o if instrucțiune care ramifică codul. Punctajele examenului sunt aplicate sumei dintr-o ramură și punctajele suplimentare de credit din cealaltă ramură.

Importantă

Trebuie să fi finalizat exercițiul anterior al acestui modul, "Creați matrice și bucle de prim-rând", înainte de a începe acest exercițiu.

Atribuiți note de scrisoare utilizând o if-elseif-else construcție

În această activitate, dezvoltați o if-elseif-else structură care poate fi utilizată pentru a atribui note pe baza unui scor numeric calculat.

  1. Asigurați-vă că aveți fișierul Program.cs deschis în Visual Studio Code Editor.

  2. Creați o linie de cod necompletată sub linia utilizată pentru declararea studentScores matricei.

  3. Pentru a crea o variabilă șir care poate fi utilizată pentru a reține nota de scrisoare a elevului/studentului, introduceți următorul cod:

    string currentStudentLetterGrade = "";
    
  4. Defilați în jos în partea de jos a fișierului Program.cs.

  5. Adăugați o linie de cod necompletată sub linia care atribuie o valoare calculată la currentStudentGrade.

  6. Luați un minut pentru a lua în considerare diagrama de notare care afișează nota letter corespunzătoare punctajelor numerice.

    97 - 100   A+
    93 - 96    A
    90 - 92    A-
    87 - 89    B+
    83 - 86    B
    80 - 82    B-
    77 - 79    C+
    73 - 76    C
    70 - 72    C-
    67 - 69    D+
    63 - 66    D
    60 - 62    D-
    0  - 59    F
    

    Observați că rândul de sus al punctajelor, valorile mai mari sau egale cu 97 au nota litera "A+". Cu alte cuvinte, dacă punctajul final al unui elev este >= 97, i se atribuie o literă de "A+".

  7. Pentru a crea o if instrucțiune care se atribuie A+currentStudentLetterGrade atunci când punctajul elevului este mai mare sau egal cu 97, introduceți următorul cod:

    if (currentStudentGrade >= 97)
        currentStudentLetterGrade = "A+";
    
    
  8. Pentru a crea o else if instrucțiune căreia i se atribuie AcurrentStudentLetterGrade punctajul elevului/studentului este mai mare sau egal cu 93, introduceți următorul cod:

    else if (currentStudentGrade >= 93)
        currentStudentLetterGrade = "A";
    
    

    Punctajul else if elevului/studentului nu va fi atribuit AcurrentStudentLetterGrade atunci când punctajul elevului este mai mare sau egal cu 97, deoarece expresia returnată true în precedentul if.

    Puteți extinde acest else if model pe măsură ce vă deplasați în jos pe rândurile diagramei cu note letter. Atunci când ajungeți la sfârșitul diagramei, puteți utiliza un final else pentru a surprinde orice currentStudentGrade element sub 60.

  9. else if Creați instrucțiunile cărora le atribuiți currentStudentLetterGrade note pentru punctajele cuprinse între 60 și 92.

    După ce ați terminat acest pas, ar trebui să aveți o if structură de instrucțiune care să corespundă următorului cod:

        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    

    Ultimul pas este să adăugați punctajele else rămase.

  10. Pentru a crea punctajele else care se aplică sub 60, introduceți următorul cod:

        else
            currentStudentLetterGrade = "F";
    
    
  11. Luați un minut pentru a revizui codul aplicației.

    Codul dvs. de Program.cs ar trebui să corespundă următorului cod:

    // initialize variables - graded assignments
    int currentAssignments = 5;
    
    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96 };
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" };
    
    int[] studentScores = new int[10];
    
    string currentStudentLetterGrade = "";
    
    // Display the Report Header
    Console.WriteLine("Student\t\tGrade\n");
    
    foreach (string name in studentNames)
    {
        string currentStudent = name;
    
        if (currentStudent == "Sophia")
            // assign Sophia's scores to the studentScores array 
            studentScores = sophiaScores;
    
        else if (currentStudent == "Andrew")
            // assign Andrew's scores to the studentScores array 
            studentScores = andrewScores;
    
        else if (currentStudent == "Emma")
            // assign Emma's scores to the studentScores array 
            studentScores = emmaScores;
    
        else if (currentStudent == "Logan")
            // assign Logan's scores to the studentScores array 
            studentScores = loganScores;
    
        // initialize/reset the sum of scored assignments
        int sumAssignmentScores = 0;
    
        // initialize/reset the calculated average of exam + extra credit scores
        decimal currentStudentGrade = 0;
    
        foreach (int score in studentScores)
        {
            // add the exam score to the sum
            sumAssignmentScores += score;
        }
    
        currentStudentGrade = (decimal)(sumAssignmentScores) / currentAssignments;
    
        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    
        else
            currentStudentLetterGrade = "F";
    
        Console.WriteLine($"{name}\t\t{currentStudentGrade}\t?");
    }
    
    Console.WriteLine("Press the Enter key to continue");
    Console.ReadLine();
    

    Observați că aplicația dvs. este organizată într-o manieră foarte logică de sus în jos:

    1. Inițializați variabilele și creați matricele care servesc drept sursă de date pentru aplicație. Aveți matrice care furnizează punctaje pentru elevi/studenți, precum și o matrice care furnizează numele elevilor/studenților. De asemenea, aveți o matrice agnostică pentru elevi/studenți, numită studentScores pe care o puteți utiliza pentru a păstra punctajele oricărui elev/student atunci când vine vorba să calculați notele.

    2. Aveți o Console.WriteLine() instrucțiune care scrie etichetele de coloană pentru raportul de clasificare pe consolă.

    3. Aveți o buclă exterioară foreach care iterează prin studentNames matrice, oferindu-vă un bloc de cod care se repetă pentru fiecare elev/student.

    4. Continuați să organizați codul utilizând o abordare de sus în jos din interiorul blocului de cod al buclei exterioare foreach :

      1. Aveți o if instrucțiune pentru a evalua numele elevului/studentului curent, de exemplu if (currentStudent == "Sophia"). Atunci când expresia se evaluează ca true, atribuiți matricea punctajelor elevilor/studenților la matricea agnostică a elevilor/studenților, de exemplu: studentScores = sophiaScores;

      2. Declarați cele două variabile necesare pentru a calcula notele elevilor/studenților. Prima variabilă, sumAssignmentScores, este utilizată pentru a calcula suma punctajelor de atribuire. A doua variabilă, currentStudentGrade, este utilizată pentru a calcula nota numerică finală. Inițializați variabilele cu valoarea 0.

      3. Aveți o foreach buclă prin care se iterează studentScores pentru a calcula valoarea .sumAssignmentScores

      4. Calculați currentStudentGrade împărțind sumAssignmentScores numărul de teme din cartea de note. Numărul de teme pentru acasă este organizat într-o variabilă denumită currentAssignments.

      5. Aveți o if-elseif-else construcție care atribuie note pe baza valorii .currentStudentGrade

      6. Aveți o Console.WriteLine() instrucțiune care scrie numele elevilor/studenților și notele pe consolă pentru a finaliza raportul de notare.

  12. Găsiți instrucțiunea Console.WriteLine() care scrie numele elevilor/studenților și notele pe consolă.

    Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t?");
    

    Observați că trebuie să includeți în continuare nota de literă calculată în raportul de notare.

  13. Pentru a include valoarea în raportul de currentStudentLetterGrade notare, actualizați codul după cum urmează:

    Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}");
    
  14. În meniul Fișier cod Visual Studio, faceți clic pe Salvare.

  15. În vizualizarea Visual Studio Code EXPLORER, faceți clic dreapta pe Starter, apoi selectați Deschidere în Terminal integrat.

  16. În linia de comandă Terminal, tastați compilare dotnet , apoi apăsați pe Enter.

  17. Dacă vedeți Mesaje de eroare sau Avertisment, trebuie să le remediați înainte de a continua.

  18. În linia de comandă Terminal, tastați run dotnet , apoi apăsați pe Enter.

  19. Verificați dacă codul dvs. a produs următoarea ieșire:

    Student         Grade
    
    Sophia          92.2    A-
    Andrew          89.6    B+
    Emma            85.6    B
    Logan           91.2    A-
    Press the Enter key to continue
    

    Aplicația dvs. se apropie cu adevărat. Acum trebuie să integrați atribuirile de credit suplimentare.

Integrarea scorurilor de credit suplimentare într-o ramură de cod

În această activitate, veți actualiza aplicația pentru a se potrivi cu munca de credit suplimentară care a fost transformată de elevi/studenți. Studenții finalizează proiecte de credit suplimentare pentru a câștiga puncte bonus care vă pot ajuta să creșteți nota. Profesorul v-a oferit punctaje de credit suplimentare pentru fiecare elev/student, în funcție de ce au predat elevii/studenții:

  • Sofia: 94, 90
  • Andrei: 89
  • Emma: 89, 89, 89
  • Logan: 96

Veți utiliza aceste punctaje de credit suplimentare și cerințele de aplicație furnizate de profesor pentru a finaliza această activitate.

  1. Luați un minut pentru a lua în considerare cerințele de proiect legate de atribuirile de credit suplimentare.

    Unitatea "Pregătire" pentru acest modul de proiect ghidat include o secțiune prezentare generală a proiectului care include următoarele cerințe:

    • Aplicația dvs. trebuie să găzduiască atribuiri de credit suplimentare.

      • Punctajele de credit suplimentare trebuie incluse în matricea cu punctajele elevilor/studenților.
      • Atribuirile de credit suplimentare vor fi în valoare de 10% unui punctaj de examen atunci când se aplică pentru nota numerică finală.
      • Punctajele suplimentare ale temelor pentru acasă trebuie adăugate la punctajul total al examenului elevilor/studenților înainte de a calcula nota numerică finală.
    • Integrați punctaje suplimentare de credit atunci când calculați nota numerică finală și nota de scrisoare a elevului, după cum urmează:

      • Codul dvs. trebuie să detecteze atribuirile de credit suplimentare pe baza numărului de elemente din matricea cu punctaje a elevilor/studenților.
      • Codul trebuie să aplice factorul de ponderare 10% la atribuirile de credit suplimentare înainte de a adăuga punctaje suplimentare de credit la suma punctajelor examenului.
  2. Defilați în partea de sus a fișierului Program.cs.

  3. Pentru a adăuga punctajele suplimentare de atribuire a creditului pentru Sophia la sophiaScores matrice, actualizați codul după cum urmează:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    

    Observați că ați adăugat punctajele 94 de credit suplimentare și 90, în lista de punctaje incluse în matrice. Simplu.

  4. Adăugați punctajele de credit suplimentare pentru ceilalți elevi/studenți la matricele lor de punctaje.

  5. Asigurați-vă că matricele de punctaje ale elevilor/studenților se potrivesc cu următorul cod:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    
  6. Defilați în jos pentru a găsi bucla internă foreach utilizată pentru a însuma punctajele de atribuire.

    foreach (int score in studentScores)
    {
        // add the exam score to the sum
        sumAssignmentScores += score;
    }    
    
  7. Luați un minut pentru a lua în considerare actualizările pe care trebuie să le implementați.

    Mai întâi, luați în considerare ceea ce știți deja:

    • Știți că o foreach buclă se va itera secvențial prin toate elementele unei matrice, indiferent câte elemente conține matricea.
    • Știți că elevii au cinci punctaje la examen și că aveți o variabilă rudă: int currentAssignments = 5;.
    • Știți că punctajele de credit suplimentare sunt incluse la sfârșitul matricei.
    • Știți că punctajele de credit suplimentare sunt în valoare de 10% punctaj de examen.
    • Știți că punctajele de credit suplimentare trebuie adăugate la suma punctajelor examenului înainte de a calcula notele numerice finale ale elevilor/studenților.

    Acum luați în considerare ceea ce vă trebuie:

    • Trebuie să detectați ce punctaje din matricea de punctaje sunt punctajele de credit suplimentare.
    • Trebuie să ajustați valoarea tuturor punctajelor de credit suplimentare, astfel încât acestea să fie în valoare de 10% punctajului examenului.
    • Trebuie să actualizați calculul utilizat pentru a însuma punctajele elevilor/studenților, astfel încât suma să includă punctajele de credit suplimentare.
  8. Identificați actualizările de cod necesare pentru a diferenția între punctajele examenului și punctajele de credit suplimentare.

    Știți că punctajele de credit suplimentare sunt listate după cele cinci punctaje ale examenului. Cu alte cuvinte, primul scor de credit suplimentar va fi al șaselea scor din matricea de punctaje. Această relație între tipul de punctaj și numărul elementului matrice vă spune că aveți nevoie de un contor în foreach buclă. Odată ce valoarea contorului este mai mare decât numărul de punctaje ale examenului, știți că punctajul curent este un scor suplimentar de credit.

    Iată ce trebuie să implementați pentru a diferenția între punctajele examenului și punctajele de credit suplimentare:

    • Trebuie să declarați un număr întreg deasupra buclei interioare foreach care poate fi utilizată pentru a contoriza temele pentru acasă. Puteți denumi această variabilă gradedAssignments.
    • Trebuie să incrementați gradedAssignments1 în buclă foreach . Dacă inițializați gradedAssignments la 0, puteți incrementa contorul în partea de sus a blocului foreach de cod.
    • Aveți nevoie de o if declarație care evaluează dacă contorul gradedAssignmentseste mai mare decât numărul de punctaj al examenului. Variabila care deține numărul de teme pentru examen este denumită currentAssignments. Acest nume poate cauza confuzie acum că aveți atribuiri de credit suplimentare, în plus față de atribuirile de examen. Trebuie să modificați numele variabilei de la currentAssignments .examAssignments După ce această modificare de nume este implementată, puteți utiliza pentru if a evalua (gradedAssignments <= examAssignments).
  9. Modificați numele variabilei de la currentAssignments la examAssignments.

    Importantă

    Atunci când modificați un nume de variabilă, trebuie să vă asigurați că actualizați toate instanțele variabilei din aplicația dvs. În acest caz, există două instanțe.

    Panoul Visual Studio Code Editor acceptă utilizarea comenzii rapide de la tastatură Control + F pentru a găsi textul pe care îl specificați. Panoul Visual Studio Code Editor acceptă și utilizarea comenzii rapide de la tastatură Control + H pentru a găsi și a înlocui textul pe care îl specificați.

  10. Creați o linie de cod necompletată deasupra buclei foreach care este utilizată pentru a însuma punctajele de atribuire.

  11. În linia de cod necompletată, pentru a declara o variabilă întreagă denumită gradedAssignments și a o inițializa la 0, introduceți următorul cod:

    // initialize/reset a counter for the number of assignments
    int gradedAssignments = 0;
    
  12. Creați o linie de cod necompletată în partea de sus a blocului de cod pentru bucla utilizată pentru foreach a însuma punctajele de atribuire.

  13. Pe linia de cod necompletat, pentru a incrementa gradedAssignments1 după fiecare iterație a buclei foreach , introduceți următorul cod:

    // increment the assignment counter
    gradedAssignments += 1;    
    
  14. Pentru a crea o if instrucțiune care evaluează expresia (gradedAssignments <= examAssignments), introduceți următorul cod:

    if (gradedAssignments <= examAssignments)
    
  15. Identificați actualizările de cod necesare pentru calculul utilizat pentru a aduna punctajele elevilor/studenților.

    Atunci când instrucțiunea dvs if . se evaluează (gradedAssignments <= examAssignments) ca true, punctajul este un punctaj de examen și puteți adăuga valoarea la suma dvs. Dacă expresia nu se evaluează ca true, atunci punctajul este un scor de credit suplimentar și trebuie să-l împărțiți la 10 înainte de a adăuga valoarea la sumă. O if-else construcție va fi perfectă.

  16. Observați că ecuația existentă, sumAssignmentScores += score;, este calculul corect de utilizat atunci când instrucțiunea dvs if . se evaluează (gradedAssignments <= examAssignments) ca true.

  17. Creați o linie de cod necompletată mai jos sumAssignmentScores += score;.

  18. În linia de cod necompletată, pentru a construi porțiunea else construcției if-else , tastați altfel , apoi apăsați pe Enter.

  19. Pentru a crea ecuația care adaugă un scor de credit suplimentar la sumă, introduceți următorul cod:

    // add the extra credit points to the sum - bonus points equal to 10% of an exam score. rounding errors are acceptable
    sumAssignmentScores += score / 10;    
    
  20. În meniul Fișier cod Visual Studio, faceți clic pe Salvare.

  21. Luați un minut pentru a revizui codul aplicației.

    Asigurați-vă că aplicația actualizată corespunde următorului cod:

    // initialize variables - graded assignments
    int examAssignments = 5;
    
    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan" };
    
    int[] studentScores = new int[10];
    
    string currentStudentLetterGrade = "";
    
    // Write the Report Header to the console
    Console.WriteLine("Student\t\tGrade\n");
    
    foreach (string name in studentNames)
    {
        string currentStudent = name;
    
        if (currentStudent == "Sophia")
           studentScores = sophiaScores;
    
        else if (currentStudent == "Andrew")
            studentScores = andrewScores;
    
        else if (currentStudent == "Emma")
            studentScores = emmaScores;
    
        else if (currentStudent == "Logan")
            studentScores = loganScores;
    
        // initialize/reset the sum of scored assignments
        int sumAssignmentScores = 0;
    
        // initialize/reset the calculated average of exam + extra credit scores
        decimal currentStudentGrade = 0;
    
        // initialize/reset a counter for the number of assignment 
        int gradedAssignments = 0;
    
        // loop through the scores array and complete calculations for currentStudent
        foreach (int score in studentScores)
        {
            // increment the assignment counter
            gradedAssignments += 1;
    
            if (gradedAssignments <= examAssignments)
                // add the exam score to the sum
                sumAssignmentScores += score;
    
            else
                // add the extra credit points to the sum - bonus points equal to 10% of an exam score. rounding errors are acceptable
                sumAssignmentScores += score / 10;
        }
    
        currentStudentGrade = (decimal)(sumAssignmentScores) / examAssignments;
    
        if (currentStudentGrade >= 97)
            currentStudentLetterGrade = "A+";
    
        else if (currentStudentGrade >= 93)
            currentStudentLetterGrade = "A";
    
        else if (currentStudentGrade >= 90)
            currentStudentLetterGrade = "A-";
    
        else if (currentStudentGrade >= 87)
            currentStudentLetterGrade = "B+";
    
        else if (currentStudentGrade >= 83)
            currentStudentLetterGrade = "B";
    
        else if (currentStudentGrade >= 80)
            currentStudentLetterGrade = "B-";
    
        else if (currentStudentGrade >= 77)
            currentStudentLetterGrade = "C+";
    
        else if (currentStudentGrade >= 73)
            currentStudentLetterGrade = "C";
    
        else if (currentStudentGrade >= 70)
            currentStudentLetterGrade = "C-";
    
        else if (currentStudentGrade >= 67)
            currentStudentLetterGrade = "D+";
    
        else if (currentStudentGrade >= 63)
            currentStudentLetterGrade = "D";
    
        else if (currentStudentGrade >= 60)
            currentStudentLetterGrade = "D-";
    
        else
            currentStudentLetterGrade = "F";
    
        //Console.WriteLine("Student\t\tGrade\tLetter Grade\n");
        Console.WriteLine($"{currentStudent}\t\t{currentStudentGrade}\t{currentStudentLetterGrade}");
    }
    
    // required for running in VS Code (keeps the Output windows open to view results)
    Console.WriteLine("\n\rPress the Enter key to continue");
    Console.ReadLine();
    

Verificați-vă activitatea

În această activitate, veți rula aplicația pentru a verifica dacă logica de cod funcționează așa cum vă așteptați.

  1. Asigurați-vă că ați salvat modificările în fișierul Program.cs.

  2. În vizualizarea Visual Studio Code EXPLORER, faceți clic dreapta pe Starter, apoi selectați Deschidere în Terminal integrat.

  3. În linia de comandă Terminal, tastați compilare dotnet , apoi apăsați pe Enter.

  4. Dacă vedeți Mesaje de eroare sau Avertisment, trebuie să le remediați înainte de a continua.

  5. În linia de comandă Terminal, tastați run dotnet , apoi apăsați pe Enter.

  6. Verificați dacă codul dvs. a produs următoarea ieșire:

    Student         Grade
    
    Sophia          95.8    A      
    Andrew          91.2    A-     
    Emma            90.4    A-     
    Logan           93      A      
    Press the Enter key to continue    
    
  7. În panoul TERMINAL, pentru a opri rularea aplicației, apăsați tasta Enter.

  8. Închideți panoul Terminal.

  9. Luați un moment pentru a lua în considerare următoarea cerință de proiect:

    • Aplicația dvs. trebuie să accepte adăugarea de elevi/studenți suplimentari și punctaje cu impact minim asupra codului.

    Au fost ignorate cerințele critice pentru aplicația dvs.?

    Verificați dacă combinația de matrice și foreach bucle vă permite să includeți elevi/studenți suplimentari fără o rescrierea completă a codului.

  10. Defilați în partea de sus a aplicației Program.cs, apoi actualizați matricele după cum urmează:

    int[] sophiaScores = new int[] { 90, 86, 87, 98, 100, 94, 90 };
    int[] andrewScores = new int[] { 92, 89, 81, 96, 90, 89 };
    int[] emmaScores = new int[] { 90, 85, 87, 98, 68, 89, 89, 89 };
    int[] loganScores = new int[] { 90, 95, 87, 88, 96, 96 };
    int[] beckyScores = new int[] { 92, 91, 90, 91, 92, 92, 92 };
    int[] chrisScores = new int[] { 84, 86, 88, 90, 92, 94, 96, 98 };
    int[] ericScores = new int[] { 80, 90, 100, 80, 90, 100, 80, 90 };
    int[] gregorScores = new int[] { 91, 91, 91, 91, 91, 91, 91 };    
    
    // Student names
    string[] studentNames = new string[] { "Sophia", "Andrew", "Emma", "Logan", "Becky", "Chris", "Eric", "Gregor" };
    
  11. Defilați în jos la bucla de nume foreach , apoi găsiți următoarele linii de cod:

    if (currentStudent == "Sophia")
        studentScores = sophiaScores;
    else if (currentStudent == "Andrew")
        studentScores = andrewScores;
    else if (currentStudent == "Emma")
        studentScores = emmaScores;
    else if (currentStudent == "Logan")
        studentScores = loganScores;
    
  12. Pentru a include elevii/studenții noi, adăugați următorul cod la sfârșitul structurii de selecție:

    else if (currentStudent == "Becky")
        studentScores = beckyScores;
    else if (currentStudent == "Chris")
        studentScores = chrisScores;
    else if (currentStudent == "Eric")
        studentScores = ericScores;
    else if (currentStudent == "Gregor")
        studentScores = gregorScores;
    else
        continue;
    
  13. În meniul Fișier cod Visual Studio, faceți clic pe Salvare.

  14. În vizualizarea Visual Studio Code EXPLORER, faceți clic dreapta pe Starter, apoi selectați Deschidere în Terminal integrat.

  15. În linia de comandă Terminal, tastați compilare dotnet , apoi apăsați pe Enter.

  16. Dacă vedeți Mesaje de eroare sau Avertisment, trebuie să le remediați înainte de a continua.

  17. În linia de comandă Terminal, tastați run dotnet , apoi apăsați pe Enter.

  18. Verificați dacă codul dvs. a produs următoarea ieșire:

    Student         Grade
    
    Sophia          95.8    A
    Andrew          91.2    A-
    Emma            90.4    A-
    Logan           93      A
    Becky           94.8    A
    Chris           93.4    A
    Eric            93.4    A
    Gregor          94.6    A
    Press the Enter key to continue
    
  19. În panoul TERMINAL, pentru a opri rularea aplicației, apăsați tasta Enter.

  20. Închideți panoul Terminal.

Felicitări, ați finalizat acest proiect ghidat!