Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2013, 16:34   #1
ollien
Новичок
Джуниор
 
Регистрация: 02.12.2013
Сообщений: 1
По умолчанию помогите перевести код программы из с++ в с#

1) Создать абстрактный класс Телефонный_справочник с методами, позволяющими
вывести на экран информацию о записях в телефонном справочнике, а также определить
соответствие записи критерию поиска.
2) Создать производные классы: Персона (фамилия, адрес, номер телефона), Организация
(название, адрес, телефон, факс, контактное лицо), Друг (фамилия, адрес, номер
телефона, дата рождения) со своими методами вывода информации на экран, и
определения соответствия искомому типу.
3) Создать базу (массив) из n записей, вывести полную информацию из базы на экран, а
также организовать поиск в базе по фамилии.

Код:
#include<iostream>
#include <string>
using namespace std;

class TelephoneDirectory
{
public:
	virtual void Show() = 0;
	virtual bool Krit(string s) = 0;
};
class Persona : public TelephoneDirectory
{
protected:
	string fam;
	string adr;
	string nom;
public:
	Persona(string s1, string s2, string s3): fam(s1), adr(s2), nom(s3)
	{
	}
	void Show()
	{
		cout << fam << adr << nom;
	}
	bool Krit(string s)
	{
		if (s == fam) return true;
		if (s == adr) return true;
	}
};
class Organization : public TelephoneDirectory
{
protected:
	
	string name;
	string adr;
	string nom;
	string fax;
	string kl;
public:
	Organization(string s1, string s2, string s3, string s4, string s5): name(s1), adr(s2), nom(s3), fax(s4), kl(s5)
	{
	}
	void Show()
	{
		cout << name << adr << nom << fax << kl;
	}
	bool Krit(string s)
	{
		if (s == name) return true;
		if (s == adr) return true;
		if (s == nom) return true;
		if (s == fax) return true;
		if (s == kl) return true;
		return false;
	}
};
class Friend : public Persona 
{
protected:
	string bth; 
public:
	Friend(string s1, string s2, string s3, string s) : Persona(s1,s2,s3), bth(s)
	{
	}
	void Show()
	{
		cout << fam << adr << nom << bth;
	}
	bool Krit(string s)
	{
		if (s == fam) return true;
		if (s == adr) return true;
		if (s == bth) return true;
		return false;
	}
};
int main()
{
	freopen("input.txt","r",stdin);
	freopen("output.txt","w",stdout);
	TelephoneDirectory *tel[4];
	tel[0] = new Persona("fff","a1","a2");
	tel[1] = new Organization("aaa","bbb","ccc,","mew","lklk");
	tel[2] = new Persona("fff","a1","a2");
	tel[3] = new Friend("fff","jl;k","klk","kjl");
	string s;
	cin >> s;
	for (int i = 0; i < 4; i++)
	{
		if (tel[i]->Krit(s)) tel[i] ->Show();
	}
	return 0;
}
помогите пожалуйста перевести код программы из с++ в с#
ollien вне форума Ответить с цитированием
Старый 02.12.2013, 17:30   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Постарался все ужасы войны оставить на месте :-D

Код:
using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {

        private static string[] inputLines;
        private static int _inputIndex;

        private static string Cin()
        {
            if (inputLines == null)
                inputLines = File.ReadAllLines("input.txt");
            return inputLines[_inputIndex++];
        }

        private static void Cout(string text)
        {
            if (!File.Exists("output.txt"))
                File.Create("output.txt");
            
            File.AppendAllText("output.txt", text + Environment.NewLine);
        }

        abstract class TelephoneDirectory
        {

            public abstract void Show();
            public abstract bool Krit(string s);
        };



        class Persona : TelephoneDirectory
        {

            protected string fam;
            protected string adr;
            protected string nom;

            public Persona(string s1, string s2, string s3)
            {
                fam = s1;
                adr = s2;
                nom = s3;
            }

            public override void Show()
            {
                Cout(fam + adr + nom);
            }

            public override bool Krit(string s)
            {
                if (s == fam) return true;
                if (s == adr) return true;
                return false;
            }
        };

        class Organization : TelephoneDirectory
        {


            protected string name;
            protected string adr;
            protected string nom;
            protected string fax;
            protected string kl;

            public Organization(string s1, string s2, string s3, string s4, string s5)
            {
                name = s1;
                adr = s2;
                nom = s3;
                fax = s4;
                kl = s5;
            }
            public override void Show()
            {
                Cout(name + adr + nom + fax + kl);
            }

            public override bool Krit(string s)
            {
                if (s == name) return true;
                if (s == adr) return true;
                if (s == nom) return true;
                if (s == fax) return true;
                if (s == kl) return true;
                return false;
            }
        };


        class Friend : Persona
        {
            protected string bth;

            public Friend(string s1, string s2, string s3, string s)
                : base(s1, s2, s3)
            {
                bth = s;
            }
            public override void Show()
            {
                Cout(fam + adr + nom + bth);
            }
            public override bool Krit(string s)
            {
                if (s == fam) return true;
                if (s == adr) return true;
                if (s == bth) return true;
                return false;
            }
        };

        static void Main(string[] args)
        {

            TelephoneDirectory[] tel = new TelephoneDirectory[4];
            tel[0] = new Persona("fff", "a1", "a2");
            tel[1] = new Organization("aaa", "bbb", "ccc,", "mew", "lklk");
            tel[2] = new Persona("fff", "a1", "a2");
            tel[3] = new Friend("fff", "jl;k", "klk", "kjl");
            string s = Cin();
            for (int i = 0; i < 4; i++)
            {
                if (tel[i].Krit(s)) tel[i].Show();
            }

        }

    }
}
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код программы с Java на C. Любимая Помощь студентам 2 09.05.2013 15:15
Помогите перевести маленький код на С++ Lifefine Общие вопросы C/C++ 11 26.11.2009 06:57
перевести не трудный код программы из Delphi на С++ Ilius Помощь студентам 2 16.12.2008 18:11