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

Запись в фаил - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Програма для вывода узора в виде звездочек http://www.cyberforum.ru/cpp-beginners/thread115282.html
Помогите написать программу на "C", использующую оператор goto, которая выводит на экран последовательность звездочек. Например, для числа 5 последовательность будет иметь вид: Программа должна выполнять только следующие операторы (для языка C): printf(“*”); printf(“ ”); printf(“\n”);
C++ Статические массивы, члены класса необходимо создать статический массив. компилятор gcc #include<iostream> class c{ public: static const char x = "qwe"; }; int main(){ std::cout<<c::x; http://www.cyberforum.ru/cpp-beginners/thread115281.html
цикл в обратную польскую запись C++
Смысл такой - на входе есть файл,где записан цикл.Программа должна преобразовать запись в обратную польску и записать в файл. Помогите с литературой или исходниками,которые могут помочь. Добавлено через 17 часов 25 минут опаньки)
Заполнение массива по диагонали! C++
всем привет!помогите пожалуйста!не получается выстроить порядок! задача такая! заполнить массив 6*6 цыфрами от 1 до 21 по следущей схеме: 6 0 0 0 0 0 5 11 0 0 0 0 4 10 0 0 0 0 3 9 14 18 0 0 2 8 13 17 20 0 1 7 12 16 19 21 (нули по диагонали!)помогите,плиз)
C++ Как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса http://www.cyberforum.ru/cpp-beginners/thread115252.html
Здравствуйте. А как описывать функции, заданные в шаблоне класса, тип возвращаемого значения которых совпадает с именем класса? Более конкретно, где ошибка? template <class T> class А{ //..... public: //..... А operator+(А &a); }; template <class T> А А<T>::operator +(А &a){//вот здесь компилятор выдает ошибку
 

Показать сообщение отдельно
GAME
 Аватар для GAME
22 / 22 / 3
Регистрация: 31.10.2009
Сообщений: 199
20.04.2010, 15:45  [ТС]     Запись в фаил
я вернулся )))

Вообщем, я понял как записать\считать биты.
вот что сделал
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
class N5Byte
{
    unsigned char byte;
public:
    N5Byte(){   byte=00000000;  };
    void SetBite(int index,bool value);
    void SetByte(unsigned char value);
    bool GetBite(int index);
    unsigned char GetByte();
};
 
 
void N5Byte::SetBite(int index, bool value)
{
    unsigned char tmp;
    tmp=1;
    tmp << index;
    if(value)
    {
        byte = byte | tmp;
    }
    else
    {
        tmp=~tmp;
        byte= byte & tmp;
    }
}
 
bool N5Byte::GetBite(int index)
{
    int tmp;
    tmp=1;
    tmp << index;
    tmp = byte & tmp;
    tmp >> index;
    return tmp;
}
 
unsigned char N5Byte::GetByte()
{
    return byte;
}
void N5Byte::SetByte(unsigned char value)
{
    int tmp,i;
    for(i=0;i!=8;i++)
    {
        tmp=1;
        tmp << 7-i;
        tmp = tmp & value ;
        tmp >> 7-i;
        SetBite(7-i,tmp);
        
    }
 
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    unsigned char op;
    N5Byte test,tm2;
    test.SetBite(7,1);
    cout << "\n" << test.GetBite(7);
    test.SetBite(6,0);
    cout << "\n" << test.GetBite(6);
    test.SetBite(5,0);
    cout << "\n" << test.GetBite(5);
    test.SetBite(4,1);
    cout << "\n" << test.GetBite(4);
    test.SetBite(3,0);
    cout << "\n" << test.GetBite(3);
    test.SetBite(2,1);
    cout << "\n" << test.GetBite(2);
    test.SetBite(1,0);
    cout << "\n" << test.GetBite(1);
    test.SetBite(0,1);
    cout << "\n" << test.GetBite(0);
    //op=test.GetByte();
    cout << "\n" << op << " ||  " << (op=test.GetByte());
    tm2.SetByte(op);
    cout << "\n\n\n" << test.GetBite(7);
    cout << "\n" << test.GetBite(6);
    cout << "\n" << test.GetBite(5);
    cout << "\n" << test.GetBite(4);
    cout << "\n" << test.GetBite(3);
    cout << "\n" << test.GetBite(2);
    cout << "\n" << test.GetBite(1);
    cout << "\n" << test.GetBite(0);
    getch();
 
    return 0;
}

Вобщем вот в чём проблема.
функции отвечающие за Запись битов,Получение значения бита работают нормально , также работает нормально функция возвращающая весь байт.
НО вот функция устанавливающая ВСЕЬ БАЙТ почему-то суёт 1 всезде =((((

Добавлено через 1 минуту
Попробовал также более простой вариант функции установления байта
C++
1
2
3
4
5
6
void N5Byte::SetByte(unsigned char value)
{   
    byte=00000000;
    byte = byte | value;
 
}
везде единички

Добавлено через 12 минут
Либо функция возвращающая байт неправильно работает =(

Добавлено через 11 минут
блиииин =(((( там функция сетбит тоже не работает...да что за...

Добавлено через 6 минут
так всё ясно.Это кривые первоисточники !!!! нууу!!! и отсутствие моей логики.
а именно , чтобы сдвинуть на несколько разрядов число надо было писать не
C++
1
tmp >> index
а
C++
1
tmp= tmp >> index
а так вроде всё работает пока-что))
 
Текущее время: 00:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru