Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
amerbek
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 5
#1

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

14.09.2013, 15:34. Просмотров 638. Ответов 14
Метки нет (Все метки)

Здравствуйте, я делал проект в C, но вдруг требования поменялись, и теперь я должен перевести его в C++. Есть ли какой-нибудь простенький способ, если нет, то прошу приложить какую-нибудь литературу по данной теме...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 15:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из C в С++ (C++):

Заменить в строке все пробелы на перевод строки, а перевод строки изменить на два перевода - C#
Меня интересует следующий вопрос: как заменить в моем стринге все пробелы на переходы на новую строку, а переходы на новую строку изменить...

Разбиение строки на части, перевод строки в число и перевод числа - Java SE
Есть задание: 1. Необходимо реализовать консольное приложение, позволяющее манипулировать строкой, разбив ее на элементы путем...

перевод на си) - Lisp
перевод на си) defun secant-method (f x0 x1 eps) (if (< (abs (- x1 x0)) eps) (cons x1 nil) (cons x0 ...

Перевод из CC 10 в 2 - Pascal
Человечки!!! пожалуйста помогите решить задачку!!! Пользователь Задает число в 10 системе счисления. Компьютер переводит в двоичную...

Перевод из C в C# - C#
Перевести программу с C в С# Задание: Дана строка символов. Определить, сколько слов стоит до слова максимальной длины. нужно...

Перевод из 10-ой в 16-ую СС - C#
Подскажите пожалуйста, каким образом компилятор c# переводит числа из 10-ой в 16-уз ситник. То ест в коде я использую 10-ую , а в IL-коде...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ВАСИЛЕВС
555 / 478 / 60
Регистрация: 14.02.2012
Сообщений: 1,561
14.09.2013, 15:43 #2
amerbek, в принципе практически перевод не понадобится. Разве что изменить название инклудов и ещё по мелочи. Всё зависит от функций, которые использовались. Или же можно этот код закинуть в библиотеку, а обертку на С++ написать.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
14.09.2013, 15:46 #3
самое простое - ничего не изменять, а переименовать файлы с расширением *.c на *.cpp
amerbek
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 5
14.09.2013, 16:04  [ТС] #4
А можно поконкретней про эти мелочи...
Вот код интеграла в C
взятый мной с википедии, какие изменения я должен внести, чтобы он работал в C++ компиляторе?

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
#include <stdio.h>
#include <math.h>
 
double f(double x){ //Подынтегральная функция
   return sin(x); //Например, sin(x)
}
 
double rectangle_integrate(double a, double b, int n, double (*f)(double) ){
   double result, h;
   int i;
 
   h = (b-a)/n; //Шаг сетки
   result = 0.0;
 
   for(i=1; i <= n; i++){
      result += f( a + h * (i - 0.5) ); //Вычисляем в средней точке и добавляем в сумму
   }
   result *= h;
 
   return result;
}
 
int main(void){
   double integral;
   integral=rectangle_integrate(0,2,100,f);
   printf("The value of the integral is: %lf \n", integral);
   return 0;
}
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
14.09.2013, 16:05 #5
код для си почти всегда работает на c++, это не исключение.
amerbek
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 5
14.09.2013, 16:09  [ТС] #6
rublag, дело в том, что мой проект часть большего проекта, поэтому всё должно быть написано одним языком, в этом то и проблема...
Kuzia domovenok
14.09.2013, 16:17
  #7

Не по теме:

Да заканчивай спорить! Если ты знаешь С++, сам поймёшь, надо изменять что-то или не надо!
А если не знаешь, тогда зачем споришь, ё-моё?!

amerbek
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 5
14.09.2013, 17:21  [ТС] #8
С плюсами не знаком, затем и спрашиваю...
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.09.2013, 17:59 #9
Цитата Сообщение от amerbek Посмотреть сообщение
поэтому всё должно быть написано одним языком
написать одним языком, или написать в одном стиле? Это разные вещи. Тот код, который у Вас приведен можно не трогать вообще. И всё должно работать, если конечно работает в C
Если нужно не просто чтобы программа работала, а чтобы и стиль был C++, то заменить <stdio.h> на <iostream>, <math.h> на <cmath>, printf на std::cout и т.д.
amerbek
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 5
14.09.2013, 20:01  [ТС] #10
Tulosba, спасибо, попробую...
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
15.09.2013, 00:09 #11
Цитата Сообщение от ВАСИЛЕВС Посмотреть сообщение
Разве что изменить название инклудов и ещё по мелочи.
Зачем менять include'ы?

Цитата Сообщение от rublag Посмотреть сообщение
код для си почти всегда работает на c++
Почти тут не просто так

Цитата Сообщение от amerbek Посмотреть сообщение
поэтому всё должно быть написано одним языком, в этом то и проблема...
Хм..
ВАСИЛЕВС
555 / 478 / 60
Регистрация: 14.02.2012
Сообщений: 1,561
15.09.2013, 19:18 #12
Цитата Сообщение от Qwertiy Посмотреть сообщение
Зачем менять include'ы?
Например ctype.h в C++ имеет имя cctype.h, а stdlib.h - cstdlib.h . О таких переименованиях я и писал. Или я не прав?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
15.09.2013, 22:05 #13
Цитата Сообщение от ВАСИЛЕВС Посмотреть сообщение
Например ctype.h в C++ имеет имя cctype.h, а stdlib.h - cstdlib.h . О таких переименованиях я и писал. Или я не прав?
c++ версии заголовочных файлов идут без расширений. Префикс "c" указывает, что файл принадлежит библиотеке си, но идентификаторы при этом объявлены в пространстве имен std.
ВАСИЛЕВС
555 / 478 / 60
Регистрация: 14.02.2012
Сообщений: 1,561
15.09.2013, 22:15 #14
Цитата Сообщение от Tulosba Посмотреть сообщение
c++ версии заголовочных файлов идут без расширений.
Не обратил внимания, надо запомнить.
Цитата Сообщение от Tulosba Посмотреть сообщение
Префикс "c" указывает, что файл принадлежит библиотеке си, но идентификаторы при этом объявлены в пространстве имен std.
Это мне известно. Предполагаю, что в данном случае надо будет заменить имена гидеров, добавив "c", если используются функции с библиотеки Си.
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
15.09.2013, 23:10 #15
Цитата Сообщение от ВАСИЛЕВС Посмотреть сообщение
Например ctype.h в C++ имеет имя cctype.h, а stdlib.h - cstdlib.h . О таких переименованиях я и писал. Или я не прав?
Ну про то что без расширения, уже сказали.
Такая замена, например <math.h> на <cmath> может привести к тому, что код не скомпилируется (по крайней мере в VS). Поэтому я и сказал, что вполне можно не менять include'ы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 23:10
Привет! Вот еще темы с ответами:

Перевод с С++ на C# - C#
Переведите пожалуйста с PHP на C# Windows Forms using namespace std; int main(int argc, char **argv){ int N; ...

Перевод с С++ - Delphi
Всем привет. Нужно перевести это код с СИ++ в код дельфи. В си я вообще не секу. Это минимизирование функции методом случайного поиска. ...

Перевод СС - Delphi
Что не так?. Если я пишу F12 в шестнадцатеричной системе счисления, чтобы перевести в десятичную, выдает ошибку. Если я пишу без букв, всё...

Перевод из C в C# - C#
Доброго времени суток. Подскажите пожалуйста как этот код будет выглядеть на C#. Спасибо!!


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.09.2013, 23:10
Ответ Создать тему
Опции темы

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