Переписать задачу, используя StreamReader и StreamWriter, вместо BinaryWriter и BinaryReader - C#

Узнай цену своей работы

Формулировка задачи:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            const int n = 3;
            string name;
            int cost;
            int sum = 0;
            double sr = 0;
            DateTime data;
            string buyer;
            int count=1;
            BinaryWriter bw = new BinaryWriter(File.Create("C:\\Новая папка\\newfile333.txt"));
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine(count + " товар:");
                Console.Write("\tНазвание: ");
                name = Console.ReadLine();
                bw.Write(name);
                Console.Write("\tСтоимость: ");
                cost = Convert.ToInt32(Console.ReadLine());
                bw.Write(cost);
                sum = sum + cost;
                Console.Write("\tДата покупки: ");
                data = Convert.ToDateTime(Console.ReadLine());
                var s = data.ToString("dd.MM.yyyy");
                bw.Write(s);
                Console.Write("\tПокупатель: ");
                buyer = Console.ReadLine();
                bw.Write(buyer);
                count++;
            }
            sr = (double)sum / n;
            Console.WriteLine();
            bw.Close();
 
            BinaryReader br = new BinaryReader(File.Open("C:\\Новая папка\\newfile333.txt", FileMode.Open));
            for (int i = 0; i < n; i++)
            {
                name = br.ReadString();
                cost = br.ReadInt32();
                var s = Convert.ToDateTime(br.ReadString());
                buyer = br.ReadString();
                if (cost > sr)
                {
                    Console.WriteLine("Покупатель: " + buyer);
                }
            }
            br.Close();
            Console.ReadLine();
        }
    }
}
Условие задачи: в файл записано название товара,его стоимость,дата продажи и покупатель,вывести всех покупателей, что заплатили за товар больше его средней стоимости.

Решение задачи: «Переписать задачу, используя StreamReader и StreamWriter, вместо BinaryWriter и BinaryReader»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            const int n = 3;
            string name;
            string[]buffer;
            int cost;
            int sum = 0;
            double sr = 0;
            DateTime data;
            string buyer;
            int count = 1;
            StreamWriter sw = new StreamWriter(File.Create("C:\\Новая папка\\newfile333.txt"));
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine(count + " товар:");
                Console.Write("\tНазвание: ");
                name = Console.ReadLine();
                sw.Write(name+'\t');
                Console.Write("\tСтоимость: ");
                cost = Convert.ToInt32(Console.ReadLine());
                sw.Write(cost+'\t');
                sum = sum + cost;
                Console.Write("\tДата покупки: ");
                data = Convert.ToDateTime(Console.ReadLine());
                var s = data.ToString("dd.MM.yyyy");
                sw.Write(s+'\t');
                Console.Write("\tПокупатель: ");
                buyer = Console.ReadLine();
                sw.Write(buyer+'\n');
                count++;
            }
            sr = (double)sum / n;
            Console.WriteLine();
            sw.Close();
 
            StreamReader strr = new StreamReader(File.Open("C:\\Новая папка\\newfile333.txt", FileMode.Open));
            while(!strr.EndOfStream)
            {
                buffer=strr.ReadLine().Split('\t');
                name = buffer[0]; 
                cost = Convert.ToInt32(buffer[1]);
                var s = Convert.ToDateTime(buffer[2]);
                buyer = buffer[3];
                if (cost > sr)
                {
                    Console.WriteLine("Покупатель: " + buyer);
                }
            }
            strr.Close();
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы