Реализовать внешнюю функцию с именем make_тип - C#
Формулировка задачи:
Помогите переделать задачу под мою или исправить ошибки.
Реализовать внешнюю функцию с именем make_тип( ), где тип - тип
реализуемой структуры. Функция должна получать в качестве аргументов
значения для полей структуры и возвращать структуру требуемого типа. При
передаче ошибочных параметров следует выводить сообщение и заканчивать
работу.
Поле first - целое положительное число, числитель; поле second - целое
положительное число, знаменатель. Реализовать метод ipart () - выделение
целой части дроби first/second. Метод должен проверять неравенство
знаменателя нулю.
public struct Drob
{
public Drob(int first, int second)
{
this.first = first;
this.second = second;
}
public double iPart(int first, int second)
{
double chelaya_chast = 0;
if (second != 0)
{
chelaya_chast = first / second;
chelaya_chast = Math.Truncate(chelaya_chast);
}
else chelaya_chast = -1;
return chelaya_chast;
}
int first, second;
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public bool Init(int first, int second)
{
bool flag = true;
if (first - (int)first != 0) flag = false;
if (second - (int)second != 0) flag = false;
return flag;
}
public void Read(out int first,out int seocnd)
{
first = int.Parse(textBox1.Text);
seocnd = int.Parse(textBox2.Text);
}
public void Display(double chelaya_chast)
{
if (chelaya_chast!==-1)label3.Text = "Chelaya chast: " + chelaya_chast.ToString();
else label3.text="divisionbyzero";
}
public Drob make_Drob(int first, int second)
{
Drob x = new Drob(first, second);
return x;
}
private void button1_Click(object sender, EventArgs e)
{
int first = 0, second = 0;
Drob c;
double chelaya_chast;
bool flag = true;
Read(out first, out second);
flag = Init(first, second);
if (flag)
{
c = make_Drob(first, second);
chelaya_chast = c.iPart(first, second);
Display(chelaya_chast);
}
else label3.Text = "Неверный формат ввода!!!!";
}
}
}Решение задачи: «Реализовать внешнюю функцию с именем make_тип»
textual
Листинг программы
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
struct Gipotenuza
{
double first; // катет А
double second; // катет В
void read()
{
cout << "Введите катет А: ";
cin >> first;
cout << "Введите катет В: " ;
cin >> second;
}
void display()
{
cout << "Гипотенуза равна: "<< sqrt(first*first+second*second);
cout << endl;
}
void Init(double a,double b)
{
first=a;
second=b;
}
};
int main()
{
Gipotenuza a;
a.read();
a.display();
return 0;
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Structura_Anna
{
public struct Stepen
{
public Stepen(double first, double second)
{
first_a = first;
second_a = second;
}
public double Power(double first, double second)
{
double vozved_step = 0;
{
vozved_step = Math.Pow(first_a,second_a);
};
return vozved_step;
}
double first_a; double second_a;
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public bool Init(double first_a, double second_a)
{
bool flag = true;
if (first_a - (double)first_a != 0) flag = false;
if (second_a - (double)second_a != 0) flag = false;
return flag;
}
public void Read(out double first, out double seocnd)
{
first = double.Parse(textBox1.Text);
seocnd = double.Parse(textBox2.Text);
}
public void Display(double vozved_step)
{
if (vozved_step != -1)
label3.Text = " " + vozved_step.ToString();
else label3.Text=" ";
}
public Stepen make_Stepen(double first_a, double second_a)
{
Stepen x = new Stepen(first_a, second_a);
return x;
}
private void button1_Click(object sender, EventArgs e)
{
double first_a = 0; double second_a = 0;
Stepen c;
double vozved_step;
bool flag = true;
Read(out first_a, out second_a);
flag = Init(first_a, second_a);
if (flag)
{
c = make_Stepen(first_a, second_a);
vozved_step = Math.Sqrt(first_a,first_a);
Display(vozved_step);
}
else label3.Text = "Неверный формат ввода!!!!";
}
}
}