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

Ошибка в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатель на функцию и параметры по умолчанию http://www.cyberforum.ru/cpp-beginners/thread795676.html
Приветствую! Есть такая задача - мне нужно передавать в специальную функцию массив и указатель на функцию. Функции эти для сортировки, и имеют вид примерно такой: void s_sortname(char*, uint) char* - массив uint - число элементов массива. В нужной функции я объявил такой указатель в качестве параметра
C++ Прокомментировать код Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю розовым цветом. Буду очень благодарна!!! #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <io.h> #include <fcntl.h> #include <sys\stat.h> http://www.cyberforum.ru/cpp-beginners/thread795665.html
C++ Написать комментарии к коду
Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю красным цветом. Буду очень благодарна!!! #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <io.h> #include <fcntl.h> #include <sys\stat.h>
TTimer время работы программы C++ Builder
Нужно сделать так, чтобы таймер показывал время работы программы(после нажатия BitBtn1) //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include <iostream.h> #include <math.h> //---------------------------------------------------------------------------
C++ Конструкторы и деструкторы http://www.cyberforum.ru/cpp-beginners/thread795633.html
Напишите простейшие примеры объявления и определения конструкторов и деструкторов. Желательно, чтобы были примеры с различными типами данных
C++ Угадать задуманное пользователем число Описание словами: (я загадала 3) Прога пишет "Введите число с которого начать отсчет" 2 "Введите число которым закончить отсчет" 5 "Это число 4. Количество шагов = 1 1 - больше 2 - меньше 3- угаданное" Пользователь нажимает 2 подробнее

Показать сообщение отдельно
milya
2 / 2 / 0
Регистрация: 15.04.2012
Сообщений: 61
27.02.2013, 00:01  [ТС]     Ошибка в коде
тоже исправила,работает вроде...но грамотно ли?))
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
static int win = 0;
static int loss = 0;
class NumSystem
{
public:
 
    void BinToHex(const int *in, char *HexMas, int BinCount, char *answer)
    {
        int DecSum = 0;
        for (int i = 0; i < BinCount; i++)
        {
            if (in[i] != 0) 
            {
                DecSum += in[i] * pow(2.0, BinCount - 1 - i);
 
            }
        }
        itoa(DecSum, HexMas, 16);
        if (strcmp(HexMas,answer) == 0)
        {
            win++; 
        }
        else
        {
            loss++;
        }
 
    }
 
 
    void BinToOct(const int *in, char *OctMas, int BinCount, char *answer)
    {
        int DecSum = 0;
        for (int i = 0; i < BinCount; i++)
        {
            if (in[i] != 0) 
            {
                DecSum += in[i] * pow(2.0, BinCount - i - 1);
            }
        }
        itoa(DecSum, OctMas ,8);
        if ( strcmp(OctMas,answer) == 0 ) 
        {
            win++;
        }
        else {
            loss++;
        }
    }
 
    int CharToIntBin(const char &c)
    {
        return c == '1'? 1 : 0;
    }
};
 
    void main()
    {
        NumSystem two;
        setlocale(0,"");
 
        while (true)
        {
            cout << "Пожалуйста, выберите основание или введите q для выхода:\n";
            cout << "o - oct (8)\n";
            cout << "h - hex (16)\n";
            cout << "q - quit \n";
            cout << "Ваш ответ  ";
 
 
            char radix; 
            cin >> radix;
            if (radix != 'o' && radix != 'h' && radix != 'q') 
            {
                continue;
            }
            if (radix == 'q') 
            {
                cout << "Правильных ответов: " << win << endl;
                cout << "Неправильных:  " << loss << endl;
                system("pause");
                exit(1);
            }
 
 
 
            char randomChars[8];
            int IntBin[7] = {0};
            for (int i = 0; i < 8; i++)
            {
                IntBin[i] = rand()%100;
            }
 
            itoa(IntBin[7], randomChars, 2);
 
            int count = 0;
            cout << "Сгенерированное двоичное число  :" << randomChars << endl;
 
            for (int i = 0; randomChars[i] != '\0'; i++)
            {
                IntBin[i] = two.CharToIntBin(randomChars[i]);
                count++;
            }
 
            char OctMas[4];
            char HexMas[3];
 
            cout << endl;
 
            char answer[4];
            cout << "Ваш ответ в " << radix << " системе счисления = ";
            cin >> answer;
 
 
            bool isOct = true;
            switch (radix)
            {
            case 'o': two.BinToOct(IntBin, OctMas, count,answer);
                break;
            case 'h': two.BinToHex(IntBin, HexMas, count,answer);
                isOct = false; 
            }
 
 
            if (isOct) 
            {
                cout << "Правильный ответ " << OctMas << " в восьмеричной системе счисления\n";
            }
            else 
            {
                cout << "Правильный ответ " << HexMas << " в шестнадцатеричной системе счисления\n";
            }
 
        }
    }
 
Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru