Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
1

Перевести программу с С# на Си

18.10.2016, 22:28. Просмотров 527. Ответов 10
Метки нет (Все метки)

Добрый вечер!

Написал программу на С#, которую нужно перевести на язык Си.

1) Использование printf/scanf
2) Сохранение всех пробелов(желательно, на самом деле)
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
class tablica {
    static void Main() {
 
     string vidtranport1, vidtranport2, vidtranport3;
     int marsh1, marsh2, marsh3;
     double dlmarsh1, dlmarsh2, dlmarsh3;
     int Time1, Time2, Time3;
 
       
        Console.WriteLine("Введите через Enter: Вид транспорта, маршрута, протяженность маршрута(км), Время в дороге(мин)");
        vidtranport1 = Console.ReadLine();
        marsh1 = int.Parse(Console.ReadLine());
        dlmarsh1 = double.Parse(Console.ReadLine());
        Time1 = int.Parse(Console.ReadLine());
 
        Console.WriteLine("Введите через Enter: Вид транспорта 2, маршрута 2, протяженность маршрута(км) 2, Время в дороге(мин) 2");
        vidtranport2 = Console.ReadLine();
        marsh2 = int.Parse(Console.ReadLine());
        dlmarsh2 = double.Parse(Console.ReadLine());
        Time2 = int.Parse(Console.ReadLine());
 
        Console.WriteLine("Введите через Enter: Вид транспорта 3, маршрута 3, протяженность маршрута(км) 3, Время в дороге(мин) 3");
        vidtranport3 = Console.ReadLine();
        marsh3 = int.Parse(Console.ReadLine());
        dlmarsh3 = double.Parse(Console.ReadLine());
        Time3 = int.Parse(Console.ReadLine());
 
        Console.WriteLine();
        Console.WriteLine("  |__________________________________________________________________|");
        Console.WriteLine(" Ведомость общественного транспорта ");
        Console.WriteLine("  |  Вид транспорта | Маршрута | Протяженность маршрута (км) | Время в дороге (мин) | ");
        Console.WriteLine("  | " + vidtranport1 + "               | " + marsh1 + "        | " + dlmarsh1 + "                           |     " + Time1 + " |");
        Console.WriteLine("  | " + vidtranport2 + "               | " + marsh2 + "        | " + dlmarsh2 + "                           |     " + Time2 + " |");
        Console.WriteLine("  | " + vidtranport3 + "               | " + marsh3 + "        | " + dlmarsh3 + "                           |     " + Time3 + " |");
        Console.WriteLine("  |__________________________________________________________________|");
        Console.WriteLine("  | Примечание: Т.р - травмай, Т.с - троллейбус, А - автобус         |");
        Console.WriteLine("  |                                                                  |");
        Console.WriteLine("  |__________________________________________________________________|");
 
 Console.ReadKey();
  }
    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2016, 22:28
Ответы с готовыми решениями:

Перевести программу из С в С++
Что следует изменить помимо операторов ввода-вывода? Пожалуйста, помогите!#include <stdio.h>...

Перевести программу из C++ в Си
#include <cstdlib> #include <ctime> #include <iostream> #include <cstddef> #include...

Перевести программу с C++ на C#
Здравствуйте, имеется код на cpp. Помогите преобразовать его в c#. #include <iostream> #include...

Перевести программу в СИ
Здравствуйте, переведите пожалуйста код с C# на СИ using System; using...

10
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
20.10.2016, 00:25  [ТС] 2
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
#include "stdafx.h"
#include "stdio.h"
#include "locale.h"
 
 
int main() {
    setlocale(LC_ALL, "Rus");
 
    char vidtranport1[50], vidtranport2[50], vidtranport3[50];
    int marsh1, marsh2, marsh3;
    double dlmarsh1, dlmarsh2, dlmarsh3;
    int Time1, Time2, Time3;
 
    
        printf("Введите через Enter: Вид транспорта, маршрута, протяженность маршрута(км), Время в дороге(мин)");
        char *gets_s(char *vidtranport1);
        scanf_s("%d", &marsh1);
        scanf_s("%d", &dlmarsh1);
        scanf_s("%d", &Time1);
 
        printf("Введите через Enter: Вид транспорта, маршрута, протяженность маршрута(км), Время в дороге(мин)");
        char *gets_s(char *vidtranport2);
        scanf_s("%d", &marsh2);
        scanf_s("%d", &dlmarsh2);
        scanf_s("%d", &Time2);
 
        printf("Введите через Enter: Вид транспорта, маршрута, протяженность маршрута(км), Время в дороге(мин)");
        char *gets_s(char *vidtranport3);
        scanf_s("%d", &marsh3);
        scanf_s("%d", &dlmarsh3);
        scanf_s("%d", &Time3);
    
    printf(" ");
 
    printf("  |__________________________________________________________________|");
    printf(" Ведомость общественного транспорта ");
    printf("  |  Вид транспорта | Маршрута | Протяженность маршрута (км) | Время в дороге (мин) | ");
    printf("  | ", puts(vidtranport1), "               | %lf", marsh1, "        | %d", dlmarsh1, "                           |     %d", Time1, " |");
    printf("  | ", puts(vidtranport2), "               | %lf", marsh2, "        | %d", dlmarsh2, "                           |     %d", Time2, " |");
    printf("  | ", puts(vidtranport3), "               | %lf", marsh3, "        | %d", dlmarsh3, "                           |     %d", Time3, " |");
    printf("  |__________________________________________________________________|");
    printf("  | Примечание: Т.р - травмайб Т.с - троллейбусб А - автобус         |");
    printf("  |                                                                  |");
    printf("  |__________________________________________________________________|");
 
    return 0;
 
}

Попробовал так, но программу дико лихорадит после:
1) ввода 3 цифр 3 раза
2) после ввода любой буквы

Но ошибки что-то не вижу
0
Миниатюры
Перевести программу с С# на Си  
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
20.10.2016, 01:01 3
А вы читаните - скопируйте ассемблерный код, сгенерированный CLR-машиной и пустите его через какой-нить диассмблер С++. Будут Вам исходники )))
0
130 / 156 / 87
Регистрация: 06.04.2016
Сообщений: 992
20.10.2016, 06:16 4
C++Builder 6.
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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include "stdio.h"
#include "locale.h"
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#define STR "Vvedite cherez Enter: Vid transporta, marshrut, protyajennost marshruta(km), Vremya v doroge(min):\n"
 
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "Rus");
 
char vidtransport1[20], vidtransport2[20], vidtransport3[20];
int marsh1, marsh2, marsh3;
double dlmarsh1, dlmarsh2, dlmarsh3;
int Time1, Time2, Time3;
 
printf(STR);
scanf("%s", vidtransport1);
scanf("%d", &marsh1);
scanf("%f", &dlmarsh1);
scanf("%d", &Time1);
 
printf(STR);
scanf("%s", vidtransport2);
scanf("%d", &marsh2);
scanf("%f", &dlmarsh2);
scanf("%d", &Time2);
 
printf(STR);
scanf("%s", vidtransport3);
scanf("%d", &marsh3);
scanf("%f", &dlmarsh3);
scanf("%d", &Time3);
 
printf("\n");
printf("|__________________________________________________________________|\n");
printf("Vedomost obshestvennogo transporta:\n");
printf("|VidTransporta|Marshrut |Protyajennost marshruta(km)|Vremya v doroge(min)|\n");
printf("|%s           |%d\t|%f\t|%d\t|\n", vidtransport1, marsh1, dlmarsh1, Time1);
printf("|%s           |%d\t|%f\t|%d\t|\n", vidtransport2, marsh2, dlmarsh2, Time2);
printf("|%s           |%d\t|%f\t|%d\t|\n", vidtransport3, marsh3, dlmarsh3, Time3);
printf("|__________________________________________________________________|\n");
printf("|Primechanie: Tr - tramvai, Ts - trolleibus, Av - avtobus           |\n");
printf("|                                                                  |\n");
printf("|__________________________________________________________________|\n");
 
getch();
return 0;
}
//---------------------------------------------------------------------------
0
2572 / 2188 / 233
Регистрация: 03.07.2012
Сообщений: 7,896
Записей в блоге: 1
20.10.2016, 13:19 5
Цитата Сообщение от Boogie Woogie Посмотреть сообщение
Написал программу на С#, которую нужно перевести на язык C#.
Не вижу проблем. Никаких
0
Комп_Оратор)
Эксперт по математике/физике
8417 / 4178 / 569
Регистрация: 04.12.2011
Сообщений: 12,422
Записей в блоге: 14
20.10.2016, 16:01 6
Буквально Фрейм, не побоюсь этого слова, - Ворк:
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
#include <iostream>
#include <string>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main() {
SetConsoleCP (1251); SetConsoleOutputCP (1251); 
     string vidtranport1, vidtranport2, vidtranport3;
     int marsh1, marsh2, marsh3;
     double dlmarsh1, dlmarsh2, dlmarsh3;
     int Time1, Time2, Time3;
 
       
        cout<<"Введите через Enter: Вид транспорта, маршрута, протяженность маршрута(км), Время в дороге(мин)"<<endl;
        cin >> vidtranport1 >> marsh1 >> dlmarsh1 >> Time1;
 
        cout<<"\nВведите через Enter: Вид транспорта 2, маршрута 2, протяженность маршрута(км) 2, Время в дороге(мин) 2"<<endl;
        cin >> vidtranport2 >> marsh2 >> dlmarsh2 >> Time2;
        
        cout<<"\nВведите через Enter: Вид транспорта 3, маршрута 3, протяженность маршрута(км) 3, Время в дороге(мин) 3"<<endl;
        cin >> vidtranport3 >> marsh3 >> dlmarsh3 >> Time3;
         
        cout<<"\n|________________________________________________________________________________________________|\
        \n"<<setw(77) << " Ведомость общественного транспорта \
        \n| "<< setw(16) << "Вид транспорта"<<" | "<<setw(12)<<"Маршрута"<< " | "<<setw(32) <<"Протяженность маршрута (км)"<< " | "<<setw(25) <<"Время в дороге (мин)"<<" |\
        \n| "<< setw(16) << vidtranport1 << " | "<< setw(12) << marsh1 << " | "<< setw(32) << dlmarsh1 <<" | "<< setw(25) << Time1 << " |\
        \n| "<< setw(16) << vidtranport2 << " | "<< setw(12) << marsh2 << " | "<< setw(32) << dlmarsh2 <<" | "<< setw(25) << Time2 << " |\
        \n| "<< setw(16) << vidtranport3 << " | "<< setw(12) << marsh3 << " | "<< setw(32) << dlmarsh3 <<" | "<< setw(25) << Time3 << " |\
        \n|________________________________________________________________________________________________|\
        \n|                  Примечание: Т.р - травмай, Т.с - троллейбус, А - автобус                      |\
        \n|                                                                                                |\
        \n|________________________________________________________________________________________________|";
 
 cout<<endl;
system("pause");
return 0;
}

0
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
20.10.2016, 17:33  [ТС] 7
IGPIGP, К сожалению моему преподу не объяснить, что это все очень не круто выглядит

условие конечно вообще топ



IGPIGP,

Спасибо!
но, можно ли сделать с использованием printf/scnaf?
0
Миниатюры
Перевести программу с С# на Си  
Любитель чаепитий
3466 / 1587 / 493
Регистрация: 24.08.2014
Сообщений: 5,491
Записей в блоге: 1
20.10.2016, 17:40 8
IGPIGP, Чисто моё мнение :
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
#include <iostream>
#include <string>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main() {
SetConsoleCP (1251); SetConsoleOutputCP (1251); 
    string vidtranport[3];
    int marsh[3];
    double dlmarsh[3];
    int Time[3];
 
    for( int it{}; it < 3; ++it )
    {
        cout<<"Введите через Enter: Вид транспорта" << it + 1 << ", маршрута, протяженность маршрута(км), Время в дороге(мин)"<<endl;
        cin >> vidtranport[it] >> marsh[it] >> dlmarsh[it] >> Time[it];
    }
         
    cout<<"\n|________________________________________________________________________________________________|\
    \n"<<setw(77) << " Ведомость общественного транспорта \
    \n| "<< setw(16) << "Вид транспорта"<<" | "<<setw(12)<<"Маршрута"<< " | "<<setw(32) <<"Протяженность маршрута (км)"<< " | "<<setw(25) <<"Время в дороге (мин)"<<" |";
    for( int it{}; it < 3; ++it )
        std::cout << "\
    \n| "<< setw(16) << vidtranport[it] << " | "<< setw(12) << marsh[it] << " | "<< setw(32) << dlmarsh[it] <<" | "<< setw(25) << Time[it] << " |";
    std::cout << "\
    \n|________________________________________________________________________________________________|\
    \n|                  Примечание: Т.р - травмай, Т.с - троллейбус, А - автобус                      |\
    \n|                                                                                                |\
    \n|________________________________________________________________________________________________|";
 
 cout<<endl;
system("pause");
return 0;
}
1
Комп_Оратор)
Эксперт по математике/физике
8417 / 4178 / 569
Регистрация: 04.12.2011
Сообщений: 12,422
Записей в блоге: 14
20.10.2016, 17:57 9
GbaLog-, если аргументы манипуляторов потока связать с размерами заголовков, то такой фреймворк можно продавать. Задорого imho
1
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
23.10.2016, 14:12  [ТС] 10
Приветы!

Из всех вышеперечисленных вариантов более мене понятен IGPIGP, и то, почему-то после выполнения какая-то белеберда выводится(Visual Studio 2013).

И все-таки хотелось бы с использованием print/scanf.
0
0 / 0 / 1
Регистрация: 20.07.2016
Сообщений: 108
25.10.2016, 20:32  [ТС] 11
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
#include "stdafx.h"
#include "stdio.h"
 
int main() {
 
    char vidtranport1[5], vidtranport2[5], vidtranport3[5], marsh3[5];
    int marsh1, marsh2;
    double dlmarsh1, dlmarsh2, dlmarsh3;
    int Time1, Time2, Time3;
 
    printf("Enter date: \n");
    scanf_s("%s", &vidtranport1,5);
    scanf_s("%d", &marsh1);
    scanf_s("%lf", &dlmarsh1);
    scanf_s("%d", &Time1);
 
    printf("Enter date2: \n");
    scanf_s("%s", &vidtranport2,5);
    scanf_s("%d", &marsh2);
    scanf_s("%lf", &dlmarsh2);
    scanf_s("%d", &Time2);
 
    printf("Enter date3: \n");
    scanf_s("%s", &vidtranport3,5);
    scanf_s("%s", &marsh3, 5);
    scanf_s("%lf", &dlmarsh3);
    scanf_s("%d", &Time3);
 
    printf("\n");
    printf("|______________________________________________________|\n");
    printf("|Vedomost obwestvennogo transoprta                     |\n");
    printf("|______________________________________________________|\n");
    printf("|Vid transporta|marshrut|dlina marhruta|vremya v doroge|\n");
    printf("|                                                      |\n");
    printf("|%s            |%d      |%lf        |%d          |\n", vidtranport1, marsh1, dlmarsh1, Time1);
    printf("|%s           |%d      |%lf        |%d          |\n", vidtranport2, marsh2, dlmarsh2, Time2);
    printf("|%s             |%s     |%lf        |%d         |\n", vidtranport3, marsh3, dlmarsh3, Time3);
    printf("|______________________________________________________|\n");
    printf("|Primechanie: tr- tramvai, Tc - trolleibus, A-avtobus  |\n");
    printf("|______________________________________________________|\n");
    printf("\n");
    return 0;
 
}

В общем, выдохнув, я сделал то, что хотел.

Спасибо всем, кто пытался помочь, но вот мой вариант это вот прям то, что я хотел

Скриншот вывода программы прикрепил
0
Миниатюры
Перевести программу с С# на Си  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2016, 20:32

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

Перевести программу с С++ на С
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; float...

Перевести программу из С++ в Си
#include &lt;iostream&gt; using namespace std; const int n = 5; int main(int argc, char...

Перевести программу с C++
Пожалуйста переведите на язык Pascal, буду благодарен int compare(const void *arg1, const void...

перевести программу
нужно перевести из с++ в асм. #include &lt;Windows.h&gt; //прототипы void show_array(int arrlen,...


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

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

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