Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 71

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

15.03.2014, 18:39. Показов 2487. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код. Но делает он совсем не то, что по идее должен.
Вот код:
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 выводит бред взятый непонятно откуда.

Почему код работает таким странным способом? Как исправить ошибку?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.03.2014, 18:39
Ответы с готовыми решениями:

Нелогичная работа mouse_event MOUSEEVENTF_MOVE
void Draw() { HDC hdc = GetDC(HWND_DESKTOP); int cx = GetSystemMetrics(SM_CXSCREEN); int cy = GetSystemMetrics(SM_CYSCREEN); ...

Неправильная работа кода
я уже обращалась с этим вопросом. у меня код написан без ошибок. работать он должен: я задаю ему номер задачи, а он должен выдавать...

Сортировка Шелла работа кода
Ребята, вопрос возможно простой, но лично я не совсем понимаю что происходит #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

35
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 06:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от taras atavin Посмотреть сообщение
Да ну! А на чём же её ещё узнавать?
боянишь, тётка. Вырвал фразу из контекста... Отлов екзепшнс изучается абстрактно от языков программирования. Но... в известной литературе используется как правило... ДА!, БЛДЖАД, СИ!.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 07:45
А при чём здесь городская юаня, когда речь о различии между типами? Соответственно надо писать на языке, знакомом с обоими, причём, поддержка только равной, но в другом синтаксисе не подходит.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 07:49
Цитата Сообщение от taras atavin Посмотреть сообщение
А при чём здесь городская юаня, когда речь о различии между типами?
при том что сам приплюснутый язык не дает (точнее снимает) обязанность контроля памяти.
Цитата Сообщение от taras atavin Посмотреть сообщение
Соответственно надо писать на языке, знакомом с обоими.
Надо забыть кресты как страшный сон.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 07:51
Цитата Сообщение от alkagolik Посмотреть сообщение
Отлов екзепшнс изучается абстрактно от языков программирования. Но... в известной литературе используется как правило... ДА!, БЛДЖАД, СИ!.
Не знающий ни классов (а один из обсуждаемых типов - класс), ни экзепшенов.

Добавлено через 1 минуту
Цитата Сообщение от alkagolik Посмотреть сообщение
Надо забыть кресты как страшный сон.
Согласен, кресты надо забыть. В отличие от плюсов.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 07:51
Цитата Сообщение от taras atavin Посмотреть сообщение
Не знающий ни классов, ни экзепшенов.
Привет!. Я так и понял. Квадратные уравнения давно научился решать?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 07:51
Цитата Сообщение от alkagolik Посмотреть сообщение
при том что сам приплюснутый язык не дает (точнее снимает) обязанность контроля памяти.
Это как? Плюсы - не решётка, на которой попытки контроля памяти бесполезны.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 07:55
Цитата Сообщение от taras atavin Посмотреть сообщение
(а один из обсуждаемых типов - класс
ты инопланетный? класс не есть тип. Это концепт, один из подходов к проектированию в информатике (если коротко). Ты вообще в теме? Сомневаюсь. ЛОЛ

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Плюсы - не решётка, на которой попытки контроля памяти бесполезны.
что еще за боян? наследование Си дает полный контроль (и доступ).
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 07:58
Цитата Сообщение от alkagolik Посмотреть сообщение
ты инопланетный? класс не есть тип. Это концепт, один из подходов к проектированию в информатике (если коротко). Ты вообще в теме?
Во-первых любой тип - концепт, способ интерпретации байтов, потому на асме их и нет, а есть только разрядности. А во-вторых класс в программировании - совсем не то, как его переносят в область моделирования реального мира, не любая категория чего угодно, а как раз тип, объединяющий в одной сущности данные и операции с ними. string объединяет в одной сущности формат строки и операции над строками в этом формате и является классом, а указатель - это только место для хранения адреса. И контроль памяти здесь - лишь один из нюансов, не более.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 07:59
перефразирую .. сформулирую:
наследование концепта "с" (абсолютный доступ) приводит к "тираниии".
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 08:02
Цитата Сообщение от alkagolik Посмотреть сообщение
Привет!. Я так и понял. Квадратные уравнения давно научился решать?
В прошлом веке.

Добавлено через 58 секунд
Цитата Сообщение от alkagolik Посмотреть сообщение
что еще за боян? наследование Си дает полный контроль (и доступ).
Какое наследование без классов?
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 08:05
Цитата Сообщение от taras atavin Посмотреть сообщение
Во-первых любой тип - концепт, способ интерпретации байтов,
боян. галимый некомпетентный боян. Тебе сюда

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Какое наследование без классов?
наследство от предшественника. Так понятно?. Свойства предшественника, приобретенные по наследству.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 08:05
Уж кто бы говорил о компетентности, здесь некоторые c++ за c принимают и их же ругают.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
16.03.2014, 08:14
Цитата Сообщение от taras atavin Посмотреть сообщение
Уж кто бы говорил о компетентности
ага. Привет, Андрей!
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
16.03.2014, 18:53
Цитата Сообщение от taras atavin Посмотреть сообщение
А во-вторых класс в программировании - ... как раз тип
Нет, класс — это реализация типа, интерфейс — тип.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.03.2014, 18:59
Интерфейс - часть класса, такая же, как и реализация.

Добавлено через 1 минуту
alkagolik, как поживают твои галлюцинации?
0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
16.03.2014, 19:09
Устроили тут в теме какую-то вакханалию. Смысл говорить о каких-то абстрактных общих понятиях, когда в стандарте языка черным по белому написано:
9/1
A class is a type. Its name becomes a class-name (9.1) within its scope.
Пора бы уже знать, что С++ не предоставляет идеологически чистого ООП, и не надо пытаться притягивать за уши к нему общие понятия. Хотите обсуждать общие понятия - вон есть целый раздел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2014, 19:09

Работа со стеками, объяснение кода программы
Есть код программы (вырванный из целой проги кусок). В нем используются стеки. Помогите, пожалуйста, построчно (максимально подробно)...

Работа с файлом в виде двоичного кода
Здравствуйте. Продолжаю работу над внедрением в картинку TIFF текстового файла. Собственно говоря, задача №1 - считать текст из файла в...

Работа с двумерным массивом - разобрать строку кода
Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал...

Не правильная работа кода с std::string::empty()
Здравствуйте подскажите в чем проблема? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string str...

Непонятна часть кода программы - работа с файлами
Программа, выводящая символы из файла в обратном порядке. Часть кода: ..... std::ostringstream stream; stream &lt;&lt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Закрытая тема Создать тему
Новые блоги и статьи
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru