15.03.2014, 18:39. Просмотров 1019. Ответов 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 выводит бред взятый непонятно откуда.
Почему код работает таким странным способом? Как исправить ошибку?