С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Не компилируестя прога соединения чисел - C++

23.10.2009, 18:15. Просмотров 1080. Ответов 23
Метки нет (Все метки)

Ет прога соединяет числа в переменную ищу ошибки не могу найти(1 час проискал)не нашел помогите плз. От код.
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
#include <iostream>
using namespace std;
 
class chislo {
  int schet;
public:
  int dlina(double d);
  int kv(int i);
};
 
int chislo::dlina(double d) {
  schet = 0;
  int z;
  do {
    d /= 10;
    schet++;
    z = d;
  } while(z != 0);
  return schet;
}
    
 
int chislo::kv(int i) {
  schet = 10;
  for(int z = 1; z < i; z++, schet *= 10);
  return schet;
}
    
int main() {
  chislo s;
  double chi[1000];
  cout << "                             Proga sho soedinzet tselie chisla\n";
  cout << "Vvedite chisla(dlz saversheniz vvoda vvedite '0.5'): ";
  int sch = 0;
  for(  ;  ; sch++) {
    cin >> chi[sch];
    if(chi[sch] == 0.5) break;
  }
  sch -= 1;
  for(int i = 0, int x = 1; x <= sch; i++, x++) 
    chi[i] = chi[i] * s.kv(dlina(chi[x])) + chi[x];
  double password;
  password = chi[sch];
  cout << "Vashe soedinenoe chislo: " << password << '\n';
 
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2009, 18:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не компилируестя прога соединения чисел (C++):

надо что то добавить!!прога просто выводит список групп,учеников и первых 3 оценок.надо чтобы прога в конце показывала по убыванию средего балла - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; main() {int t,o1,o2,o3; char...

Прога открывает на SQL Server два соединения ??? - Visual Basic .NET
При запуске программы (VB.NET 2003) на SQL Server (2000) открывается два соединения. Кто знает, подскажите - это так должно быть или...

Прога на последовательность чисел Фибоначчи - Delphi
Решите пожалуйста: Дано целое число N (&gt; 1). Последовательность чисел Фибоначчи FK определяется следующим образом: F1 = 1, F2 = 1, FK =...

Простейшая прога. Сумма и произведение чисел. - Delphi
Помогите студенту не чего не понимающему в Delphi c простейшей задачей Разработать программу которая вычисляет сумму и произведение...

Имя соединения 'LocalSqlServer' не было найдено в конфигурации приложений или строка соединения пуста - C# ASP.NET
Добрый день, форумчане. У меня такая проблема: решили поставить в конторе портал teamlab, скачали опенсурс версию 6.5, поставили Mysql 5.6,...

Из двух чисел получить новое число путем их соединения (331, 23 -> 33123) - C (СИ)
Из двух чисел получить новое число путем их соединения (331, 23 -&gt; 33123).на языке си

23
o-user
244 / 201 / 7
Регистрация: 03.02.2009
Сообщений: 786
23.10.2009, 18:45 #2
А ошибка какая и где?
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 19:15 #3
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
#include <iostream>
using namespace std;
 
class chislo {
  int schet;
public:
  int dlina(double d);
  int kv(int i);
};
 
int chislo::dlina(double d) {
  schet = 0;
  int z;
  do {
    d /= 10;
        schet++;
        z = (int)d;
  } while(z != 0);
  return schet;
}
    
 
int chislo::kv(int i) {
  schet = 10;
  for(int z = 1; z < i; z++, schet *= 10);
  return schet;
}
    
int main() {
  chislo s;
  double chi[1000];
  cout << "                             Proga sho soedinzet tselie chisla\n";
  cout << "Vvedite chisla(dlz saversheniz vvoda vvedite '0.5'): ";
  int sch = 0;
  for(  ;  ; sch++) {
    cin >> chi[sch];
    if(chi[sch] == 0.5) break;
  }
  sch -= 1;
  for(int i = 0, x = 1; x <= sch; i++, x++) 
        chi[i] = chi[i] * s.kv(chislo().dlina(chi[x])) + chi[x]; // вставь в конструктор аргумент
  double password;
  password = chi[sch];
  cout << "Vashe soedinenoe chislo: " << password << '\n';
 
  return 0;
}
Я не совсем понял что код выполняет. Но ошибку компиляции исправил. Смотри коментарий.
0
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
23.10.2009, 22:08  [ТС] #4
Ето не конструктор. Имя конструктора ето имя класса. После оператара :: пишится имя конструктора(ето имя наданный момент chislo).Но наданный момент его сдесь нет а есть функции - члены.
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 22:13 #5
Цитата Сообщение от ElvenDragon Посмотреть сообщение
Имя конструктора ето имя класса. После оператара :: пишится имя конструктора(ето имя наданный момент chislo).
Спасибо, просветил

В той строке, где комментарий, ты пытаешься использовать функцию-член класса, не статическую, без использования объекта к которому она принадлежит. Вот я вставил создание временного объекта.

Покажи задание целиком.
0
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
23.10.2009, 22:21  [ТС] #6
А что делает конкретно прога расскажу. Пользователь вводит числа через пробел в командную строку(только целые) может вводить до 1000 чисел но он стоко не введет.)Они записываются в массив. А затем что прога делает она одно число к другому числу подсоединяет, а затем общее число соединеное записывается в переменную.Ну конешно мона было вывести все числа записанные в массив рядом и вышло общее число. А так не интересно. А вы попробуйте соединить все числа и записать в переменную а не вывести. Слабо Над сначало определить длину числа с помощью функции - члена а затем вернуть длину. Зачем ет вы спросите а чтоб домножить если 1 возращается на 10 на 2 100. Чтобы определить скок нулей добавить к числу а затем соединить второе числу надеюсь вы поняли и так далее в зависимости от введенных чисел.
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 22:27 #7
Я конечно понимаю, что существует сленг, жаргон. Но, признаюсь тебе, без стёба, я половину смысла, из написанного тобой текста, не понял Отредактируй плиз.
0
MotherBoard
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,843
23.10.2009, 22:27 #8
Что-то я не поняла...
C++
1
[quote=ElvenDragon;318016]#include <iostream> using namespace std; class chislo {[/quote]
А где перед классами главная функция : int main()?
Сколько бы вы функций не пихали,а управление передаётся в первую очередь функции Мэйн... без неё может компилятор дать ошибку....
Попроьуйте после Узинг нэйм спэйс стд следующей строчкой поставить функцию Мэйн()
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 22:29 #9
Цитата Сообщение от MotherBoard Посмотреть сообщение
Что-то я не поняла...
C++
1
 
А где перед классами главная функция : int main()?
Сколько бы вы функций не пихали,а управление передаётся в первую очередь функции Мэйн... без неё может компилятор дать ошибку....
Попроьуйте после Узинг нэйм спэйс стд следующей строчкой поставить функцию Мэйн()
Положение функции int main() не играет роли. Компилятор найдет ее(если она хоть где-то в проекте есть)
0
MotherBoard
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,843
23.10.2009, 22:36 #10
Цитата Сообщение от niXman Посмотреть сообщение
Положение функции int main() не играет роли. Компилятор найдет ее(если она хоть где-то в проекте есть)
Но тут я её не вижу!!!
А так я знаю,что её надо поставить один раз,желательно в начале....
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 22:38 #11
Цитата Сообщение от ElvenDragon Посмотреть сообщение
int main() {
Вот она

Добавлено через 16 секунд
В самом первом посте
0
MotherBoard
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,843
23.10.2009, 22:40 #12
Нашла! так а какой код ошибки,что выдаёт...Синтаксис или что??? Компилятор должен сказать,что за ошибка
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.10.2009, 22:41 #13
Цитата Сообщение от MotherBoard Посмотреть сообщение
Нашла! так а какой код ошибки,что выдаёт...Синтаксис или что??? Компилятор должен сказать,что за ошибка
Читай выше
0
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
23.10.2009, 22:42  [ТС] #14
Хотите знать почему класс в глобальной области должен находится впереди мєин?
Моя версия: все открытые члены доступны в глобальной области видимости.
А если поместить в мэин класс то открытые члены будут доступны только в ней.
А впереди почему ет чтоб всем функциям были доступны члены.
0
MotherBoard
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,843
23.10.2009, 22:46 #15
C++
1
class chislo { int schet; public: int dlina(double d); int kv(int i); };
У последней }; точку с запятой убери... А то вроде обычно не ставится по окончанию скобок,а тут стоит...
0
23.10.2009, 22:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2009, 22:46
Привет! Вот еще темы с ответами:

Скажите почему прога зависает. Не пойму. Прога имитирует входной потол: пользователь вводит предложение которое сохраняется в буфер. - Assembler
STAK SEGMENT STACK db 256 dup(?) STAK ENDS DATA SEGMENT buf db 256d dup(?) ; nash bufer len equ $-buf ; dlina nashego...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.