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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод геометрических фигур http://www.cyberforum.ru/cpp-beginners/thread349396.html
Привет всем! Такая проблема: С треугольниками разобрался- могу выводить с помощю цыклов разные и в разных ракурсах. Вот код: #include <iostream> #include <conio.h> #include <windows.h> using namespace std; void main() { setlocale(LC_ALL, "RUS"); int a;
C++ Подправить структуру Суть проблемы такова: надо ввести данные с клавиатуры в структуру (имя, фамилия, возраст (лет), результат: мин. сек.) в файл F1.txt, затем прочитать этот файл, обработать по заданию и сохранить результат в бинарный файл + проверить, что записалось в бинарный файл. Вот как примерно требуется сделать: #include <iostream.h> #include <fstream.h> #include <string.h> #include <stdlib.h>... http://www.cyberforum.ru/cpp-beginners/thread349391.html
Смена кодировки текста! C++
опять хелп!! std::string query = "netsh interface ip set addres name=\"" + interface_name + "\" static 192.168.2.2 255.255.255.0"; std::cout << query; system(query.c_str()); где печалька закралась? все файлы, откуда считывается информация изначально в системной кодировки. где я ее мог конвертнуть в иероглифы>_<
Как изменить порядок компоновки в Visual C++? C++
Подскажите, пожалуйста:)
C++ Вопрос про "Наследование" и "Объединение" http://www.cyberforum.ru/cpp-beginners/thread349361.html
Доброго времени суток. Изучаю ООП, пока что не удачно. Появилось пару вопросиков. первый вид Animals // Млекопитающие class Mammals { public: // Тут создать функцию isDog()
C++ Что дописать в код, чтобы программа не округляла результат? Что дописать в код, чтобы программа не округляла результат? #include <iostream> #include <iomanip> using namespace std; int main() { double vklad,procent,n,rez=0; //nach summa, % stavka int gg; //kolich. let подробнее

Показать сообщение отдельно
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
10.09.2011, 21:20  [ТС]     Перевод из Qbasic в 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
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <ostream>
#include <string>
#include <algorithm>
#include <locale>
 
using namespace std;
 
template <typename T>
T input(string const & message, T const & def)
{
    T var(def);
    cout << message << ": ";
    cin >> var;
    return var;
}
 
void main()
{
    locale defloc;
    string u("0123456789ABCDEF"); 
    string a = input("vvedite chislo", string());
    string c;
    int q = input("vvedite q", 0);
    int p = input("vvedite p", 0);  
    unsigned long long int f=1,z=0; 
   
    for (int len=a.size()-1; len>=0;len-=1)
    {
        z += f*u.find(toupper(a[len], defloc));
    f*=q;   
    }
      
        for (; z > 0; z /= p) c += u[z % p];
 
    reverse(c.begin(), c.end()); 
    cout << string(80, '\xc4') <<  c << endl;
    system("pause");
}
Добавлено через 9 часов 10 минут
доделал прогу, теперь переводит и дробные числа..
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>
#include <ostream>
#include <string>
#include <algorithm>
#include <locale>
#include <math.h>
#include <sstream>
 
using namespace std;
 
template <typename T>
T input(string const & message, T const & def)
{
    T var(def);
    cout << message << ": ";
    cin >> var;
    return var;
}
 
void main()
{
    locale defloc;
    string u("0123456789ABCDEF"); 
    string a = input("vvedite chislo", string());
    string c,w;
    int q = input("vvedite q", 0);
    int p = input("vvedite p", 0);      
    unsigned long long int z=0; 
    if (a.find(',')!=-1) a[a.find(',')]='.';
    int k=a.find('.'), r = (a.size() - k-1),l=0;
    if (k==-1) 
        r=0;
    else
        {r*=-1;
        a=a.erase(k, 1);
        }
    long double d=0, f=pow((double)q,r);
    
        for (int len=a.size()-1; len>=0;len-=1)
        {
        if (r>=0)
        z += f*u.find(toupper(a[len], defloc));
        else
            d += f*u.find(toupper(a[len], defloc));
        f*=q;
            r+=1; 
        }   
        
    for (; z > 0; z /= p) c += u[z % p];
        
    do
    {
    l+=1;
    if ( l>20 ) break;
    d*=p;
    w+=u[(int)d];
    ostringstream ost;
        ost << d;
        string s_d = ost.str();
        s_d='0'+s_d.erase(0, s_d.find('.'));
    d=stod(s_d);
    }
    while((d>0)); 
           
    reverse(c.begin(), c.end()); 
    cout << string(80, '\xc4') <<  c << '.'<<w<< endl;
    system("pause");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru