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

Переделать программу из Pascal в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции и структуры http://www.cyberforum.ru/cpp-beginners/thread91475.html
1.Написать функцию, входным параметром которой является указатель на строку, содержащую запись вещественного числа в десятеричной системе счисления. Функция должна вернуть вещественное значение этого числа. 2.Создать массив, в котором записать информацию о результатах сессии студенческой группы: фамилия, оценки по предметам. Вывести количество неуспевающих студентов (у которых есть хотя бы одна...
C++ Найти максимальный и минимальный элемент,и вывести их в файл и Прочитать массив из файла. Первая задача Найти максимальный и минимальный элемент,и вывести их в файл Вторая задача Прочитать массив из файла. 1)Количество элементов; 2)Все элементы; 3)Посчитать сумму до первого положительного элемента. http://www.cyberforum.ru/cpp-beginners/thread91468.html
C++ Исправить слово "интернет" на слово "ИНТЕРПОЛ"
1.Подготовыть текстовый файл с входными данными в редакторе. 2.Составить алгоритм программы. 3.Разбить программу на функции ввода, обработки вывода. 4.Входные данные почитать из файла. 5.Выложить обработку в соответствии с заданием. 6.Вывести на экран и дозаписать в файл. Задание: Исправить слово "интернет" на слово "ИНТЕРПОЛ",использовать функции обработки строковых и символьных...
решите очень срочно надо C++
1.Подготовить текстовый файл с входными данными в редакторе. 2.Составить алгоритм программы. 3.Разбить программу на функции ввода, обработки и вывода. 4.Входные данные прочитать из файла. 5.Выполнить обработку в соответствии с заданием. 6.Вывести резульаты на экран и дозаписать в файл. *Для массвивов в входном файле указываются : в первой строке кол-во элементов; во второй строке сами...
C++ консольное окно http://www.cyberforum.ru/cpp-beginners/thread91436.html
Заранее извеняюсь за то что задаю тупой вопрос, как надо изменить размеры (т.е. высоту и ширину) консольного окна?? Если можно приведите примеры для Dev-C++ и Microsoft Visual С++ 2008/2010??
C++ Массивы. 1. С текстового файла прочитать массив. 1ая строка - количество элементов. 2ая строка - сам массив. Посчитать сумму элементов до минимального элемента. 2. Тоже самое, только: Посчитать сумму элементов >после< минимального элемента. 3. Требования: 1) Подготовить текстовый файл с выходными данными в редакторе. подробнее

Показать сообщение отдельно
GoodSpirit
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 6
31.01.2010, 23:28     Переделать программу из Pascal в C++
Добрый день! Прошу помочь, подсказать.
Есть программа на Pascal, ее необходимо перевести в C++.
Сам C++ знаю слабо, побробывал сам, но вкрались ошибки.
Pascal
Pascal
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
program Perevod; {Nazvanie programmi}
var A,  i, n, z: integer; B,C,D,E,F: string; res,res1,res2: real; {obyavlenie peremennih}
function RtoDec (s: string; R: word): string; {ob`yavlenie funkcii}
begin
    n:=0;
    A:=0;
    A:=pos('.',S);
    B:=copy(S,0,length(S)-A);
    C:=copy(S,A,8);
    A:=POS('.',C);
    delete(C,1,A);
    res1:=0;
    res2:=0;
    z:=0;
    for i:=length (B) downto 1 do
    begin
        B[i]:=UpCase (B[i]);
        if B[i] in ['0'..'9'] then
            n:=ord (B[i]) - ord ('0');
        if B[i] in ['A'..'Z'] then
            n:=10+ord(B[i])-ord('A');
        res1:=res1+(n*(exp(z*ln(r))));
        z:=z+1;
    end;
    n:=0;
    z:=0;
    for i:=length (C) downto 1 do
    begin
        C[i]:=UpCase (C[i]);
        if C[i] in ['0'..'9'] then
            n:=ord (C[i]) - ord ('0');
        if C[i] in ['A'..'Z'] then
            n:=10+ord(C[i])-ord('A');
        z:=z-1;
        res2:=res2+(n*(exp(z*ln(r))));
 
    end;
    res2:=abs(res2);
    str(res1:0:0,D);
    str(res2:0:8,E);
A:=pos('.',E);
    delete(E,1,A);
    F:=D+'.'+E;
    RtoDec := f;
end; {konec funkcii}
var B,C,S,F:string; {obyavlenie peremennih}
r: word;
a: integer;
begin
    writeln('Vvedite chislo i nagmite Enter'); {zapros chisla}
    readln(s); {prisvoenie peremennoy "S" chisla}
    writeln('Viberite sistemu chillenia'); {zapros vvoda osnovaniya}
    readln(r); {prisvoenie peremennoy "R" znacheniya osnovaniya}
    F:=RtoDec(s,r); {vipolnenie funkcii perevoda}
    write('Chislo ',s,' v sisteme schisleniya s osnovaniem ',r, ' ravno ', F); {vivod resultata}
    read(s); {ogidania nagatiya luboy klavishi}
end. {konec programmi}
а вот С++
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
#include <iostream.h>
#include <math.h>
#include <string.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <stdio.h>
 
int main(int s, int r) RtoDec;                             //ob`yavlenie funkcii/
{
    int a, i, n, z, B, C, D, E, f, res, res1, res2; //obyavlenie peremennih/
    n=0;
    a=0;
    a=pos(".",s);
    B=copy(s,0,length(s)-a);
    C=copy(s,a,8);
    a=pos(".",C);
    delete(C,1,a);
    res1=0;
    res2=0;
    z=0;
    for (i=length(B); i>=1; i++)
    {
        B[i]=UpCase (B[i]);
        if B[i] in [<"0","9">] then
            n=ord (B[i])-ord ("0");
        if B[i] in [<"a","Z">] then
            n=10+ord(B[i])-ord("a");
        res1=res1+(n*(exp(z*log(r))));
        z=z+1;
    };
    n=0;
    z=0;
    for (i=length(C); i>=1; i++)
    {
        C[i]=UpCase (C[i]);
        if C[i] in [<"0","9">] then
            n=ord (C[i])-ord("0");
        if C[i] in [<"a","z">] then
            n=10+ord(C[i])-ord("a");
        z=z-1;
        res2=res2+(n*(exp(z*log(r))));
    };
    res2=abs(res2);
    str(res1:0:0,D);
    str(res2:0:8,E);
a=pos(".",E);
    delete(E,1,a);
    f=D+"."+E;
    RtoDec=f;
};                                                 //konec funkcii/
 
 
 
int (s);
int (f);
int (r);
int (a);
{
    clrscr();
    cout <<"Vvedite chislo i nagmite Enter";             //zapros chisla/
        cin >> s;                                 //prisvoenie peremennoy "S" chisla/
    cout <<"Viberite sistemu chillenia";         //zapros vvoda osnovaniya/
        cin >> r;                                 //prisvoenie peremennoy "R" znacheniya osnovaniya/
    f=RtoDec(s,r);                             //vipolnenie funkcii perevoda/
    cout <<"Chislo ",s," v sisteme schisleniya s osnovaniem ",r, " ravno ", f; //vivod resultata/
    cin;
}
Программа запрашивает число, затем запрашивает систему счисления этого числа, а затем переводит в десятчную систему счисления.
При этом после запятой допускается до 6ти знаков.
После удачного выполнения закрывается

Ну или хотябы принцип опишите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru