Problem ze średnią ocen project student

0

Witam
mam do napisaniaw c# projekt cos w stylu dziennika na studiach.jest juz wpisywanie wypisywanie i wyszukiwanie ucznia. chciałem zrobic wpisywanie ocen dla studentów i obliczanie sredniej z ocen.
Kod do sredniej mam tylko nie mogę go dopasowac do reszty kodu,gdzie ?

ogolny kod:

using System;
using System.IO;

class Projekt
{
    public static void Main()
    {
        char c;
        string s;
        string path = "Lista.txt";
        string[] lista = null;//tablica studentów
        int n = 0; // rozmiar tablicy, ilośc studentów
        string[] ocena = new string[5];
        int m = 4;
  

        if (File.Exists(path))
        {
            lista = File.ReadAllLines(path);
            n = lista.Length;
        }
        Console.WriteLine("witamy w programie lista studentów");
        do
        {
            Console.WriteLine("\nWpisz studenta na listę->klawisz a\nDodaj oceny->klawisz f\nLista studentów->klawisz b\nAby wyszukać wciśnij c\nAby zakończyć wciśnij k\n");
            c = Console.ReadKey(true).KeyChar;

            //przetwarzanie polecenia użytkownika
            switch (c)
            {
                case 'f':
                case 'F':
                    Console.WriteLine("wstaw oceny");
                    s = Console.ReadLine();
                    
                    if (m == 4)
                    {
                        ocena = new string[4];
                    }
                    else
                    {
                        string[] tmp = new string[m + 1];
                        for (int i = 1; i < m; i++)
                            tmp[i] = ocena[i];
                    }
                    ocena[m] = s;
                    m = m + 1;
                    break;

                case 'b':
                case 'B':
                    if (lista != null)
                        for (int i = 0; i < n; i++)
                            Console.WriteLine(lista[i]);
                    else Console.WriteLine("lista jest pusta");
                    Console.WriteLine();

                    break;
                case 'a':
                case 'A':
                    Console.WriteLine("Podaj imie i nazwisko");
                    s = Console.ReadLine();
                    
                    if (n == 0)
                    {
                        lista = new string[1];
                    }
                    else
                    {
                        string[] tmp = new string[n + 1];
                        for (int i = 0; i < n; i++)
                            tmp[i] = lista[i];
                        lista = tmp;
                    }
                    lista[n] = s;
                    n = n + 1;

                    break;
                case 'c':
                case 'C':
                    Console.WriteLine("podaj imie i nazwisko do wyszukania");
                    s = Console.ReadLine();
                    bool b = true;
                    if (lista != null)
                    {
                        for (int i = 0; i < n; i++)
                        {
                            if (s == lista[i])
                            {
                                Console.WriteLine("znaleziono na pozycji " + i + " - " + lista[i]);
                                b = false;
                            }
                        }
                        if (b) Console.WriteLine("nie znaleziono");
                    }
                    else Console.WriteLine("lista jest pusta");
                    Console.WriteLine();
                    break;
            }
        }
        while (!(c == 'k' || c == 'K'));

        File.WriteAllLines(path, lista);

    }
}
 

a to kod do sredniej:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace srednia
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Ile wstawiasz ocen?");
            string ilosc = Console.ReadLine();
            int ilosca = int.Parse(ilosc);

            int suma = 0;
            for (int start = 1; start <= ilosca; start++)
            {
                Console.WriteLine("wstaw ocenę");
                string liczb = Console.ReadLine();
                int liczba = int.Parse(liczb);
                suma = suma + liczba;
            }
            int srednia = suma / ilosca;
            Console.WriteLine("Średnia ocen wynosi:");
            Console.WriteLine(srednia);
            Console.ReadLine();
                    }
        }
    }
 
3

Tam gdzie jest to najbardziej odpowiednie. A tak w ogóle, skoro piszesz w C# i piszesz takie coś, to ja bym ci polecał zrobić to ładnie w klasach, a nie taki rozpiździel..

0

Tragednia... Powiedz co stoi na przeszkodzie, żeby zrobić przynajmniej klasę student? Tak patrzę na to i nie mam pojęcia, w jaki sposób, dla tak prostego zadania, można napisać tyle kodu..
Gdybyś umieścił te oceny jak człowiek w liście, to tam mozesz wywołać komunikat Average, który policzy średnią za Ciebie..
np:

assessment.Average();

Zacznij może od tego..

class Student
    {
        private String name;
        private List<int> assessment= new List<int>();
        public void AddAssessment(int n)
        {
            assessment.Add(n);
        }
        public double Average()
        {
            return assessment.Average();
        }
    };
    class Program
    {
       
        static void Main(string[] args)
        {
            Student a = new Student();
            for (int i = 0; i < 99; i++)
            {
                a.AddAssessment(i);
            }
            Console.WriteLine(a.Average());
            Console.ReadLine();
        }
    }

Dopisz do klasy Student, to co potrzebujesz a przynajmniej jakoś to będzie wyglądało..

1 użytkowników online, w tym zalogowanych: 0, gości: 1