На основе данных входного файла составить список вкладчиков банка, включив следующие данные - C#
Формулировка задачи:
На основе данных входного файла составить список вкладчиков банка, включив
следующие данные: ФИО, № счета, сумма, год открытия счета. Вывести в новый файл
информацию о тех вкладчиках, которые открыли вклад в текущем году, отсортировав их
по сумме вклада.
После запуска выдает 3 ошибки
1>D:\Проекты Visual Studio C#\лаба 14\ConsoleApplication1\Vklad.cs(14,11,14,16): warning CS0660: 'ConsoleApplication1.Vklad' defines operator == or operator != but does not override Object.Equals(object o)
1>D:\Проекты Visual Studio C#\лаба 14\ConsoleApplication1\Vklad.cs(14,11,14,16): warning CS0661: 'ConsoleApplication1.Vklad' defines operator == or operator != but does not override Object.GetHashCode()
1>D:\Проекты Visual Studio C#\лаба 14\ConsoleApplication1\Vklad.cs(14,11,14,16): error CS0535: 'ConsoleApplication1.Vklad' does not implement interface member 'System.ICloneable.Clone()'
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { StreamReader file = new StreamReader("input.txt"); Console.Write("Введите текущий год:"); int now_year = int.Parse(Console.ReadLine()); string s; int n = 0; while ((s = file.ReadLine()) != null) n++; file.Close(); Vklad[] vk = new Vklad[n]; StreamReader file2 = new StreamReader("input.txt"); int i = 0; while((s=file2.ReadLine())!=null) { vk[i] = new Vklad(s); i++; } file2.Close(); Array.Sort(vk); StreamWriter fileOut = new StreamWriter("output.txt"); for (i = 0; i < n; i++) if (vk[i] == now_year) fileOut.WriteLine(vk[i].ToString()); fileOut.Close(); Console.Read(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Vklad:IComparable { protected string name; protected string surname; protected string twoname; protected int number_vklad; protected int sum; protected int year; public Vklad(string s) { string[] mas = s.Split(' '); surname = mas[0]; name = mas[1]; twoname = mas[2]; number_vklad = int.Parse(mas[3]); sum = int.Parse(mas[4]); year = int.Parse(mas[5]); } public int CompareTo(object obj) { Vklad b = (Vklad)obj; if (this.sum == b.sum) return 0; else if (this.sum > b.sum) return 1; else return -1; } public static bool operator <(Vklad a, int b) { return ((a.sum < b) ? true : false); } public static bool operator >(Vklad a, int b) { return ((a.sum > b) ? true : false); } public static bool operator ==(Vklad a, int b) { return ((a.sum == b) ? true : false); } public static bool operator !=(Vklad a, int b) { return ((a.sum != b) ? true : false); } public override string ToString() { return string.Format("{0} {1} {2} {3} {4} {5}", surname, name,twoname,number_vklad, sum,year); } } }
по ошибке выбрал не IComparable.
но теперь не записывает в файл результат.
Решение задачи: «На основе данных входного файла составить список вкладчиков банка, включив следующие данные»
textual
Листинг программы
vk[i] == now_year
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д