Классы, файлы, их свойства. Конструкторы. Деструкторы. Перегрузки - C#

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

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

Доброго времени суток! Дорогие посоветуйте ссылки чтобы я почитал и смог написать данную программу, если что-то вы знаете, напишите, так программа довольно таки сложная для реализации прошу помогите с неё, а сам тоже буду пытаться написать хотя бы её частями. И большая просьба помочь собрать её воедино. Требования 1. Сформировать класс, отвечающий предложенным требованиям. 2. Данные могут вводиться как из файла, так и с клавиатуры. 3.Показать ситуации, в которых надо использовать this. 4 Использовать свойства. 5. Для работы с датой сформировать специальный класс с необходимыми перегруженными операциями. - номер посылки; - вес посылки; - базовая цена отправки за 100 г - дата отправки ; - пункт назначения; - коэффициент сезонной стоимости; - стоимость упаковки; Методы класса экземпляра для вычисления или выполнения действий - Количество пунктов назначения для посылок, отправленных во втором полугодии прошло года; - общая стоимость посылок; - средний вес посылок, отправленных в указанный пункт назначения; Конструкторы (не менее 3-х перегруженных) Деструкторы

Решение задачи: «Классы, файлы, их свойства. Конструкторы. Деструкторы. Перегрузки»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Post
    {
        
        public int numpost;//номер посылки
        public double weigthpost;//вес посылки
        public int cost100gr;//стоимость за 100 гр
        public DateTime dateout;//дата отправки
        public string destination;//пункт назначения
        public double seasoncost;//коэфициэнт сезонной стоимости
        public int packcost;//стоимость упаковки
 
        public Post(int numpost, double weigthpost, int cost100gr, DateTime dateout, string destination, double seasoncost, int packcost)
        {
            this.numpost = numpost;
            this.weigthpost = weigthpost;
            this.cost100gr = cost100gr;
            this.dateout = dateout;
            this.destination = destination;
            this.seasoncost = seasoncost;
            this.packcost = packcost;
            show();
        }
        ~Post()
        {
            
            string txt = "Удаление объекта!/" + getInfo();
            Console.WriteLine(txt);
            Console.ReadLine();
        }
        string getInfo()
        {
            
            string text = "Номер посылки:\t" + numpost + "\n";
            text = text + "Вес посылки:\t" + weigthpost + "\n";
            text = text + "Стоимость за 100 грамм:\t" + cost100gr + "\n";
            text = text + "Дата отправки:\t" + dateout + "\n";
            text = text + "Пункт назначения:\t" + destination + "\n";
            text = text + "Коэффициент сезонной стоимости:\t" + seasoncost + "\n";
            text = text + "Стоимость упаковки:\t" + packcost + "\n";
            return text;
 
        }
        public void show()
        {
            BinaryWriter bw = new BinaryWriter(File.Create("C:\\filelab04.txt"));
            string txt = getInfo();
            Console.WriteLine(txt);
            bw.Write(txt);
        }
    }
    public class Dateouting
    {
        public bool DateFind(DateTime datetime)
        {
            if ((datetime.Year==2012)&(datetime.Month>=7)&(datetime.Month<=12))
                return true;
            else return false;
 
        }
 
        
    }
    class Program
    {
        static double AllShop(double weigth, int cost, double k)
        {
            return weigth * cost * k * 10;
        }
        static double MiddleWeigth(double weigth,int cnt)
        {
            return weigth/cnt;
        }
        static void Main(string[] args)
        {
            BinaryWriter bw = new BinaryWriter(File.Create("C:\\filelab04.txt"));
            int numpost;//номер посылки
            double weigthpost;//вес посылки
            int cost100gr;//стоимость за 100 гр
            DateTime dateout;//дата отправки
            string destination;//пункт назначения
            double seasoncost;//коэфициэнт сезонной стоимости
            int packcost;//стоимость упаковки
 
            double allcost = 0;
            double allweigth = 0;
 
            int count = 0;
            int cnt = 0;
            
            Console.Write("Сколько посылок хотите занести в базу? : ");
            int n = int.Parse(Console.ReadLine());
            Post[] posts = new Post[n];
            for (int i = 0; i < n; i++)
            {
                Console.Write("введитe № посылки: ");
                numpost = int.Parse(Console.ReadLine());
 
                Console.Write("введитe вес посылки(В кг): ");
                weigthpost = double.Parse(Console.ReadLine());
                Console.WriteLine("введитe стоимость посылки за 100 грамм: ");
                cost100gr = int.Parse(Console.ReadLine());
                Console.WriteLine("введитe дату отправки: ");
                dateout = Convert.ToDateTime(Console.ReadLine());
                Console.WriteLine("введитe пункт назначения: ");
                destination = Console.ReadLine();
                Console.WriteLine("введитe сезонный коэффициент: ");
                seasoncost = double.Parse(Console.ReadLine());
                Console.WriteLine("введитe стоимость упаковки: ");
                packcost = int.Parse(Console.ReadLine());
                Console.WriteLine();
                posts[i] = new Post(numpost, weigthpost, cost100gr, dateout, destination, seasoncost, packcost);
            }
            BinaryReader br = new BinaryReader(File.Open("C:\\filelab04.txt", FileMode.Open));
             for (int i = 0; i < n; i++)
             {
                 Dateouting x = new Dateouting();
                 if (x.DateFind(posts[i].dateout))
                     count++;
             }
            Console.WriteLine("В "+count+" количество пунктов были отправлены посылки во втором полугодии прошлого года");
            bw.Write("В " + count + " количество пунктов были отправлены посылки во втором полугодии прошлого года");
 
              for (int i = 0; i < n; i++)
               {
                   allcost = allcost + AllShop(posts[i].weigthpost,posts[i].cost100gr,posts[i].seasoncost);
               }
               Console.WriteLine("Общая стоимость посылок= " + allcost);
               bw.Write("Общая стоимость посылок= " + allcost);
               Console.WriteLine("Укажите пункт в который вы хотите посчитать средний вес посылок:");
               string s  = Console.ReadLine();
               for (int i = 0; i < n; i++)
               {
 
                   if (posts[i].destination == s)
                   {
                       allweigth = allweigth + posts[i].weigthpost;
                       cnt++;
                   }
               }
            allweigth=MiddleWeigth(allweigth,cnt);
               Console.WriteLine("Средний вес посылок=" + allweigth);
               bw.Write("Средний вес посылок=" + allweigth);
               bw.Close();
               Console.WriteLine();
               br.Close();
            Console.ReadLine();
        }
    }
}

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


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

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

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