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

Нелогичная работа кода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод двумерного массива на экран http://www.cyberforum.ru/cpp-beginners/thread1119967.html
#include "stdafx.h" #include <iostream> #include <iomanip> #include <conio.h> #include <cstdlib> using namespace std; const int kof1mass = 2; const int step1mass = 2;
C++ Найти минимальный элемент массива Привет всем,ребят может кто помочь,очень сильно нужна помощь:cry: есть одномерный массив,состоящий из N элементов,необходимо найти минимальный по модулю элемент. Программа на языке С++ но с использованием вставки кода на ассемблере:( http://www.cyberforum.ru/cpp-beginners/thread1119966.html
C++ Быстрая сортировка двумерного массива
Помогите разобраться с быстрой сортировкой! Для одномерного массива всё понятно, но как сортировать двумерный массив не понимаю. Если б мне нужно было сортировать все элементы в массиве то я б сделал с двумерного, одномерный массив, сортировал и обратно в двумерный. Но мне надо сортировать элементы которые расположены под главной диагональю матрицы, отдельно в каждой строке. Подскажите хотя бы...
Visual Leak Detector выводит что-то непонятное C++
Здравствуйте! Я впервые использую VLD. Мне он нужен для поиска утечки памяти в большом проекте (был бы маленький, можно было бы так найти). Так вот, после запуска он выдаёт мне лог на ~18 000 строк. Вот фрагмент (там всё примерно такое): ---------- Block 246991 at 0x03DEB900: 4 bytes ---------- Call Stack: f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c (582):...
C++ Работа с двоичными файлами http://www.cyberforum.ru/cpp-beginners/thread1119951.html
В двоичном файле поменять местами две записи с заданными номерами. Обязательно проверить, что записи с такими номерами существуют в файле. Следует читать не весь файл, а только нужные записи – в двоичном файле возможен прямой доступ (никаких циклов!). При выполнении этого задания необходимо преобразовать текстовый файл в двоичный, а также вывести на экран содержимое двоичного файла до обработки и...
C++ Неоднородные списки Как реализовать однородный список я знаю ... struct spisok { int i; spisok *next ; }; spisok *begin = NULL; spisok *end = NULL; ... подробнее

Показать сообщение отдельно
MrDreher
1 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 71
15.03.2014, 18:39     Нелогичная работа кода
Есть код. Но делает он совсем не то, что по идее должен.
Вот код:
1) файл main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
#include "LongNumber.hpp"
#include <iostream>
//---------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------
int main()
{
        LongNumber a;
        a.setdata();
        a.view();
 
        system("pause");
        return 0;
}
//---------------------------------------------------------------------------
2) Файл LongNumber.hpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef LONGNUMBER_H
#define LONGNUMBER_H
class LongNumber
{
   private:
        char num[];
        int count;
        int base;
   public:
        LongNumber();
        void setdata();
        void view();
};
#endif
3) Файл LongNumber.hpp
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
#include "LongNumber.hpp"
#include <iostream>
//---------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------
LongNumber::LongNumber()
{ }
//---------------------------------------------------------------------------
void LongNumber::setdata()
{
        printf("Enter the count: ");
        scanf("%d", &count);
        printf("Enter the number: ");
        scanf("%s",num);
        printf("Enter the base: ");
        scanf("%d",&base);
}
//---------------------------------------------------------------------------
void LongNumber::view()
{
        printf ("Number = %s \n", num);
        printf ("Count = %d \n", count);
        printf ("Base = %i \n", base);
}
//---------------------------------------------------------------------------
Есть задача: ввести с клавиатуры "число"(по сути строку, т.к. число не обязательно в 10чной системе счисления), и ввести основание системы счисления введенного числа. Это метод getdata(). Метод view() должен вывести данные в консоль.
Написал код, вроде должен работать. Но, в итоге получаются какие-то дивные вещи:
1) Вводишь count - все ок. Когда вводишь num то в count уже другие значения.
2) View выводит бред взятый непонятно откуда.

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