Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.42 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Task2
  9. {
  10.     class Program
  11.     {
  12.         class Student
  13.         {
  14.             public string name;
  15.             public int group;
  16.             public byte[] marks;
  17.  
  18.             public Student( string name, int group, byte[] marks)
  19.             {
  20.                 this.name = name;
  21.                 this.group = group;
  22.                 this.marks = marks;
  23.             }
  24.         }
  25.  
  26.         class Mark
  27.         {
  28.             public int group;
  29.             public int number;
  30.             public int sum;
  31.  
  32.             public Mark(int group, int number, int sum)
  33.             {
  34.                 this.group = group;
  35.                 this.number = number;
  36.                 this.sum = sum;
  37.             }
  38.         }
  39.  
  40.         static void Main(string[] args)
  41.         {
  42.             List<Student> Students = new List<Student>();
  43.            
  44.             Students.Add(new Student("Karuch", 1, new byte[] { 5, 5, 5 }));
  45.             Students.Add(new Student("Orlova",2, new byte[] { 5, 3, 2 } ));
  46.             Students.Add(new Student("Dudkina", 3, new byte[] { 2, 2, 4 }));
  47.             Students.Add(new Student("Kozlovski", 1, new byte[] { 2, 2, 2 } ));
  48.             Students.Add(new Student("Grenaderov", 2,new byte[] { 3, 3, 5 } ));
  49.             Students.Add(new Student("Babak", 3, new byte[] { 3, 3, 4 } ));
  50.             Students.Add(new Student("Kurochkin", 1, new byte[] { 1, 2, 2 }));
  51.  
  52.             FileStream fs = new FileStream("task2", FileMode.OpenOrCreate, FileAccess.Write);
  53.             BinaryWriter bw = new BinaryWriter(fs);
  54.             foreach (Student i in Students)
  55.             {
  56.                 bw.Write(i.name);
  57.                 bw.Write(i.group);
  58.                 bw.Write(i.marks);
  59.             }
  60.             bw.Close();
  61.             fs.Close();
  62.  
  63.             FileStream second_fs = new FileStream("task2", FileMode.OpenOrCreate, FileAccess.Read);
  64.             BinaryReader br = new BinaryReader(second_fs);
  65.  
  66.             List<Student> EndStudents = new List<Student>();
  67.             string TempName;
  68.             int TempGroup;
  69.             byte[] TempMarks = new byte[3];
  70.             while (br.PeekChar() > -1)
  71.             {
  72.                 TempName = br.ReadString();
  73.                 TempGroup = br.ReadInt32();
  74.                 TempMarks[0] = br.ReadByte();
  75.                 TempMarks[1] = br.ReadByte();
  76.                 TempMarks[2] = br.ReadByte();
  77.  
  78.                 EndStudents.Add(new Student(TempName, TempGroup, TempMarks));
  79.             }
  80.             br.Close();
  81.             second_fs.Close();
  82.  
  83.             List<Mark> Marks = new List<Mark>();
  84.             Marks.Add(new Mark(1, 0, 0));
  85.             Marks.Add(new Mark(2, 0, 0));
  86.             Marks.Add(new Mark(3, 0, 0));
  87.  
  88.             foreach (Student i in EndStudents)
  89.             {
  90.                 switch (i.group)
  91.                 {
  92.                     case 1:
  93.                         Marks[0].number++;
  94.                         Marks[0].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
  95.                         break;
  96.                     case 2:
  97.                         Marks[1].number++;
  98.                         Marks[1].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
  99.                         break;
  100.                     case 3:
  101.                         Marks[2].number++;
  102.                         Marks[2].sum += (i.marks[0] + i.marks[1] + i.marks[2]) / 3;
  103.                         break;                        
  104.                 }
  105.  
  106.             }
  107.  
  108.             foreach(Student i in EndStudents)
  109.             {
  110.                 switch (i.group)
  111.                 {
  112.                     case 1:
  113.                         if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[0].sum / Marks[0].number))
  114.                             Console.WriteLine(i.name);
  115.                         break;
  116.                     case 2:
  117.                         if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[1].sum / Marks[1].number))
  118.                             Console.WriteLine(i.name);
  119.                         break;
  120.                     case 3:
  121.                         if (((i.marks[0] + i.marks[1] + i.marks[2]) / 3) >= (Marks[2].sum / Marks[2].number))
  122.                             Console.WriteLine(i.name);
  123.                         break;
  124.                 }
  125.  
  126.             }
  127.  
  128.             Console.ReadLine();
  129.         }
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement