Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 02.04.2015
Сообщений: 16
1

Перевод из C Sharp в С++

28.04.2015, 12:03. Просмотров 824. Ответов 5
Метки нет (Все метки)


Помогите пожалуйста перевести программу
Из C Sharp в С++

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b;
            int n;
            int funcNumber;
            double result;
 
            Console.Write("Введите количество отрезков: ");
            try
            {
                n = Int32.Parse(Console.ReadLine());
                if (n < 0)
                    throw new Exception();
 
                Console.Write("Функции:\n1.sin x\n2.cos x\n3.tg x\n4.ctg x\nВыберите функцию: ");
                funcNumber = Int32.Parse(Console.ReadLine());
                if (funcNumber < 0 || funcNumber > 4)
                    throw new Exception();
 
                Console.Write("Введите начало отрезка: ");
                a = Int32.Parse(Console.ReadLine());
                
                Console.Write("Введите конец отрезка: ");
                b = Int32.Parse(Console.ReadLine());
            }
            catch(Exception)
            {
                Console.WriteLine("Введённое Вами число неверное!\n");
                return;
            }
 
            result = 0;
            double step = (b - a) / n;
            switch(funcNumber)
            {
                case 1:
                    for (int i = 0; i < n; i++)
                    {
                        result += Math.Cos(step * i);
                    }
                    result *= step;
                    break;
 
                case 2:
                    for (int i = 0; i < n; i++)
                    {
                        result += Math.Sin(step * i);
                    }
                    result *= step;
                    break;
 
                case 3:
                    for (int i = 0; i < n; i++)
                    {
                        result += Math.Tan(step * i);
                    }
                    result *= step;
                    break;
 
                case 4:
                    for (int i = 0; i < n; i++)
                    {
                        result += 1f / Math.Tan(step * i);
                    }
                    result *= step;
                    break;
            }
 
            Console.WriteLine("\nЗначение предела = {0}", result);
            Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2015, 12:03
Ответы с готовыми решениями:

Перевод из C Sharp в С++
Помогите пожалуйста перевести программу Из C Sharp в С++/Си using System; class Angle { ...

Перевод из с++ в с sharp
Помагите пожалуйста нужно перевести из c++ в с Sharp #include &lt;iostream.h&gt; #include...

C Sharp -> Delphi ( Перевод )
Здравствуйте. Такая ситуация: Имеется код в C#... Но реализовать надо на Delphi. К сожалению я не...

C SHARP
как сделать так чтобы при выборе пункта в combobox картинка в picturebox изменялась?

5
587 / 176 / 57
Регистрация: 04.05.2012
Сообщений: 817
Записей в блоге: 1
28.04.2015, 14:29 2
Вот)
Большую часть перевела)
Единственное, что стоит посмотреть внимательнее так это try-catsh, сделала как знаю)Но может более опытные программисты поправят, как лучше.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
 
int main(){
            int a, b;
            int n;
            int funcNumber;
            double result;
 
            cout<<"1 - Введите количество отрезков: ";
            try
            {
 
                cin>>n;
                if (n < 0)
                   throw  1.5;
 
                cout<<"2 - Функции:\n1.sin x\n2.cos x\n3.tg x\n4.ctg x\nВыберите функцию: ";
                cin>>funcNumber;
                if (funcNumber < 0 || funcNumber > 4)
                  throw  1.5;
 
                cout<<"3 - Введите начало отрезка: ";
                cin>>a;
 
                cout<<"4 - Введите конец отрезка: ";
                cin>>b;
            }
            catch(double)
            {
                cout<<"5 - Введённое Вами число неверное!\n";
                return 0;
            }
 
            result = 0;
            double step = (b - a) / n;
            switch(funcNumber)
            {
                case 1:
                    for (int i = 0; i < n; i++)
                    {
                        result += cos(step * i);
                    }
                    result *= step;
                    break;
 
                case 2:
                    for (int i = 0; i < n; i++)
                    {
                        result += sin(step * i);
                    }
                    result *= step;
                    break;
 
                case 3:
                    for (int i = 0; i < n; i++)
                    {
                        result += tan(step * i);
                    }
                    result *= step;
                    break;
 
                case 4:
                    for (int i = 0; i < n; i++)
                    {
                        result += 1f / tan(step * i);//вот тут 1f - я никогда с таким не сталкивалась, 
                                                                    //поэтому не могу сказать как перевести
                    }  
                    result *= step;
                    break;
            }
 
            cout<<"\n6 - Значение предела = {0}"<< result;
          getch();
            return 1;
        }
У меня все работает
1
lss
935 / 863 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
28.04.2015, 14:54 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <exception>
#include <cmath>
#include <conio.h>
using namespace std;
 
 
int main()
{
    setlocale(0, "");
    
    int a, b;
    int n;
    int funcNumber;
    double result;
 
    cout << "Введите количество отрезков: ";
    try
    {
        cin >> n;
        if (n <= 0)
            throw exception();
 
        cout << "Функции:\n1.sin x\n2.cos x\n3.tg x\n4.ctg x\nВыберите функцию: ";
        cin >> funcNumber;
        if (funcNumber <= 0 || funcNumber > 4)
           throw exception();
 
        cout << "Введите начало отрезка: ";
        cin >> a;
                
        cout << "Введите конец отрезка: ";
        cin >> b;
    }
    catch(const exception& e)
    {
        cout << "Введённое Вами число неверное!\n";
        getch();
        return 1;
    }
 
    result = 0;
    double step = (b - a) / n;
    switch(funcNumber)
    {
        case 1:
            for (int i = 0; i < n; i++)
            {
                result += cos(step * i);
            }
            result *= step;
            break;
 
        case 2:
            for (int i = 0; i < n; i++)
            {
                result += sin(step * i);
            }
            result *= step;
            break;
 
        case 3:
            for (int i = 0; i < n; i++)
            {
                result += tan(step * i);
            }
            result *= step;
            break;
 
        case 4:
            for (int i = 0; i < n; i++)
            {
                result += 1.0 / tan(step * i);
            }
            result *= step;
            break;
    }
 
    cout << "\nЗначение предела = " << result;
    
    getch();
    return 0;
}
1
2 / 2 / 0
Регистрация: 02.04.2015
Сообщений: 16
28.04.2015, 15:09  [ТС] 4
Большое спасибо.
0
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
28.04.2015, 15:19 5
Строить логику на эксепшнах - это мовитон. Лучше как-то так
C++
1
2
3
4
if (n < 0) {
    cout << "Wrong input" << endl;
    return 1;
}
1
lss
935 / 863 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
28.04.2015, 15:34 6
Hudoj2006, в коде деление на 0 присутствует.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2015, 15:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

С SHARP
Нужно, чтобы при выборе в одной форме и нажатии button открывалась новая форма и старая закрывалась...

Sharp develop
Скажите пожалуйста. Может ли Sharp develop заменить С#? Я в этом совсем не разбираюсь, но мне нужно...

Последовательность в c sharp
Всем привет! Помогите, пожалуйста, найти ошибку в программе! Задание: Даны числовой ряд и число E...

C sharp express
Подскажите, что такое &quot;C Sharp Express&quot;? И для чего он нужен?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.