Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace Task2
- {
- class Program
- {
- class Student
- {
- public string name;
- public int group;
- public byte[] marks;
- public Student( string name, int group, byte[] marks)
- {
- this.name = name;
- this.group = group;
- this.marks = marks;
- }
- }
- class Mark
- {
- public int group;
- public int number;
- public int sum;
- public Mark(int group, int number, int sum)
- {
- this.group = group;
- this.number = number;
- this.sum = sum;
- }
- }
- static void Main(string[] args)
- {
- List<Student> Students = new List<Student>();
- Students.Add(new Student("Karuch", 1, new byte[] { 5, 5, 5 }));
- Students.Add(new Student("Orlova",2, new byte[] { 5, 3, 2 } ));
- Students.Add(new Student("Dudkina", 3, new byte[] { 2, 2, 4 }));
- Students.Add(new Student("Kozlovski", 1, new byte[] { 2, 2, 2 } ));
- Students.Add(new Student("Grenaderov", 2,new byte[] { 3, 3, 5 } ));
- Students.Add(new Student("Babak", 3, new byte[] { 3, 3, 4 } ));
- Students.Add(new Student("Kurochkin", 1, new byte[] { 1, 2, 2 }));
- FileStream fs = new FileStream("task2", FileMode.OpenOrCreate, FileAccess.Write);
- BinaryWriter bw = new BinaryWriter(fs);
- foreach (Student i in Students)
- {
- bw.Write(i.name);
- bw.Write(i.group);
- bw.Write(i.marks);
- }
- bw.Close();
- fs.Close();
- FileStream second_fs = new FileStream("task2", FileMode.OpenOrCreate, FileAccess.Read);
- BinaryReader br = new BinaryReader(second_fs);
- List<Student> EndStudents = new List<Student>();
- string TempName;
- int TempGroup;
- byte[] TempMarks = new byte[3];
- while (br.PeekChar() > -1)
- {
- TempName = br.ReadString();
- TempGroup = br.ReadInt32();
- TempMarks[0] = br.ReadByte();
- TempMarks[1] = br.ReadByte();
- TempMarks[2] = br.ReadByte();
- EndStudents.Add(new Student(TempName, TempGroup, TempMarks));
- }
- br.Close();
- second_fs.Close();
- List<Mark> Marks = new List<Mark>();
- Marks.Add(new Mark(1, 0, 0));
- Marks.Add(new Mark(2, 0, 0));
- Marks.Add(new Mark(3, 0, 0));
- foreach (Student i in EndStudents)
- {
- switch (i.group)
- {
- case 1:
- Marks[0].number++;
- Marks[0].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
- break;
- case 2:
- Marks[1].number++;
- Marks[1].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
- break;
- case 3:
- Marks[2].number++;
- Marks[2].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
- break;
- }
- }
- foreach(Student i in EndStudents)
- {
- switch (i.group)
- {
- case 1:
- if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[0].sum / Marks[0].number))
- Console.WriteLine(i.name);
- break;
- case 2:
- if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[1].sum / Marks[1].number))
- Console.WriteLine(i.name);
- break;
- case 3:
- if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[2].sum / Marks[2].number))
- Console.WriteLine(i.name);
- break;
- }
- }
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement