Guest User

Untitled

a guest
Jul 17th, 2023
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.82 KB | None | 0 0
  1. using System.Globalization;
  2. using CsvHelper;
  3. using scratchpad;
  4.  
  5. internal sealed class JustRatings
  6. {
  7.     public string Epee { get; set; }
  8.     public string Foil { get; set; }
  9.     public string Saber { get; set; }
  10. }
  11.  
  12. public class Program
  13. {
  14.     public static void Main()
  15.     {
  16.         // !!reduced membership csv to just the 3 ratings columns!!
  17.        
  18.         // read the file
  19.         using var reader = new StreamReader(@"<path to file>");
  20.         using var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
  21.    
  22.         // get the records
  23.         var records = csv.GetRecords<JustRatings>().ToList();
  24.        
  25.         // make things easier
  26.         var allSaber = records.Select(record => record.Saber).ToList();
  27.         var allFoil = records.Select(record => record.Foil).ToList();
  28.         var allEpee = records.Select(record => record.Epee).ToList();
  29.        
  30.         // do calculations
  31.         var epeeRated = allEpee.Count(x => x != "U");
  32.         var epeeUnrated = allEpee.Count - epeeRated;
  33.        
  34.         var foilRated = allFoil.Count(x => x != "U");
  35.         var foilUnrated = allFoil.Count - foilRated;
  36.        
  37.         var saberRated = allSaber.Count(x => x != "U");
  38.         var saberUnrated = allSaber.Count - saberRated;
  39.        
  40.         Console.WriteLine($"% of Epee fencers that are rated: {epeeRated / (double)allEpee.Count * 100}");
  41.         Console.WriteLine($"% of Foil fencers that are rated: {foilRated / (double)allFoil.Count * 100}");
  42.         Console.WriteLine($"% of Saber fencers that are rated: {saberRated / (double)allSaber.Count * 100}");
  43.        
  44.         Console.WriteLine($"More details:\nEpee Rated #: {epeeRated} | Epee Unrated #: {epeeUnrated}\nFoil Rated #: {foilRated} | Foil Unrated #: {foilUnrated}\nSaber Rated #: {saberRated} | Saber Unrated #: {saberUnrated}");
  45.     }
  46. }
  47.  
  48.  
  49.  
Advertisement
Add Comment
Please, Sign In to add comment