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

Перевод чисел из двоичной в десятичную систему счисления - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ реализация стека через односвязный список http://www.cyberforum.ru/cpp-beginners/thread15881.html
вот что я накалякал... должно по идее выводить первый элемент стека (ну лн в принципе пока тут и единственный), но вылетает либо 0 либо адрес памяти ли ещё что то)) не могу понять в чем дело..помогите, пожалуйста! п.с. компилятор BC31 :) #include <stdio.h> #include <iostream.h> #include <math.h> #include <conio.h> #include <time.h> #include <stdlib.h>
C++ Помогите с функцией пользователя !!!! Вопрос для программистов, помогите бедным студентам пожалуйста:) Вот дана программка и надо сделать так, чтобы имя выводилась в начале функции f62, А возраст в начале функции f63. И это без ввода дополнительных переменных и не в фуккции int main:( Уже неделю паримся и никак:( #include<iostream> using namespace std; void f61() { cout << "Privet!" << endl; cout << "Kak tebja zovut? \t"; http://www.cyberforum.ru/cpp-beginners/thread15870.html
C++ Программа учета больных в поликлинике
Здраствуите,всем!! Я тут написал программу, уже мозги ломаю не могу понять почему слетает программа при функций удаления.помогите пожалуисто срочно нужно!!!!!! #include <iostream> #include <windows.h> #include <conio.h> using namespace std; void rus (char*src) { char dst; CharToOem(src,dst);
C++ Аддитивные операции
Кто может наглядно привести пример Аддитивных операций?:scratch:
C++ HELLO WORLD http://www.cyberforum.ru/cpp-beginners/thread15826.html
Vsem Privet:) Ranshe ya izuchil yizik PASKAL;:umnik: A tiper C++ :umnik: Na PASKALE bil nekotoriy funksiy rabota so storokami; Naprimer malenkaya programka::rtfm: s:string; d:string; m:string;
C++ Многомерный массив в динамической памяти Vsem Privet; Unas problema s mnogamernim massivami. Naprimer ya obyivlaye massiv ( int myArray; ) Etot isxodnik komliliruyetsa bez oshibok. No sama proga nerabotayet. Dayot kakoyta oshibki tipa (writeadress: 0x000001)... Naverna eto problema svyazn s pamitami. Naverna nexvatayet stekovoy pamit. komentariya { подробнее

Показать сообщение отдельно
anele
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 10
17.06.2011, 19:29     Перевод чисел из двоичной в десятичную систему счисления
программа - перевод из двоичной в десятичную и обратно. Числа считываются из файла.
Компилятор выдает ошибку в проверке числа на двоичность-десятичность (ищу вхождения 2 или 3 и так далее). Помогите исправить)

и еще правильна ли подпрограмма toDec (писала не сама)? Вроде ошибок компиляции нет, но когда открывается окно с программой ничего не появляется и при нажатии на клавишу окно закрывается.

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include <conio.h>
#include <fstream>
#include <cmath>
#include <sstream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
 
string toBin(int x1)
{    string str;
    assert(x1 >= 0);
    static const char digits[] = "0123456789";
 
    while(x1)
    {
        str = string(1, digits[x1 % 2]) + str;
        x1 /= 2;
    }
    return str;
}
 
 
 
 
float toDec2(string x)
{
int w,k,v,j,q,len,y,y1;
float a,b,c;
string s,z;
string str1,str2;
a=0;
q=-1;
 
w=x.find(".");
len=x.length();
str1=x.substr(1,w-1);//вырезали все до точки
v=str1.length()-1;
 
for (k=1;k<str1.length();k++)
{
    s=str1[k];
    y=atoi(s.c_str());//преобразуем в число
    v--;
    a=a+y*(pow(2.0,v));//посчитали сумму до точки
}
 
str2=x.substr(w,len-w);
for(j=1;j<str2.length();j++)
{
    z=str1[j];
    y1=atoi(z.c_str());//преобразуем все после точки
    q--;
    b=b+y1*(pow(2.0,q));//сумма после точки
}
c=a+b;
return c;
}
 
 
 
 
/*float toDec(int x1)
{
int k;
float result;
string x;
 
 result = 0;
 for (k=1; k<x.length(); k++)
{
 result += 1 << (x.length() - k);
}
return result;}*/  
 
 
 
int main ()
{
    ifstream fail;
             string x;
 
             int i=-1,j,x1;
 
    fail.open("lol.txt");
    stringstream conv;
 
 
    while (!fail.eof())
    {
        //std::getline(fail, x);
            fail >>x;
            conv<<x;
            conv>>x1;
            conv.clear();
    }
   fail.close();
 
 
//написать проверку на десятичность или двоичность
 
 
if ((x.find("2")!=-1) or (x.find("3")!=-1) or (x.find("4")!=-1) or (x.find("5")!=-1) (x.find("6")!=-1) (x.find("7")!=-1) (x.find("8")!=-1) (x.find("9")!=-1))
{cout << toBin(x1) << endl;}
else
 {//cout<<toDec(x1)<<endl;
 cout<<toDec2(x1)<<endl;}
 
    getch();
    return 0;
}
 
Текущее время: 02:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru