Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
1

Нужно рассчитать доход, но вылезает ошибка

21.02.2018, 20:32. Показов 751. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пробую уже в который раз написать программу, но постоянно вылезает ошибка "Expected "+" but received LABEL at line 11(11:13);
и еще одна "Expected integer but received ";" at line 11(11:18);
В целом я все уже доработала, написала действия, но мучаюсь с вводом переменных. Объясните, пожалуйста.
Delphi
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
unit Unit2;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
 
type
  TForm2 = class(TForm)
    Label1: Label;
    Label2: Label;
    Label3: Label;
    Button1: Button;
    Edit1;
    Edit2;
    procedure TLabel1Click(Sender: TObject);
    procedure TButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.TButton1Click(Sender: TObject);
begin
 sum,pr: real;
 srok: integer;
 dohod,sum2: real;
 begin
   if (Length(TEdit1.Text)=0) or (Length(TEdit2.Text)=0) then  begin
   Tlabel3.Font.Color:=clMaroon;
   end
   else begin
     sum:=strtofloat(TEdit1.Text);
     srok:=strtofloat(TEdit2.Text);
     case srok of
     1..3: pr:=9.5;
     4..6: pr:=11;
     7..12: pr:=12.5;
     13..24: pr:=14;
     else pr:=18;
     end;
     dohod:= sum * (pr/100/12)*srok;
     sum2:= sum + dohod;
    TLabel3.Font.Color:=clNavy;
    TLabel3.Caption:='Сумма: '+ FloattostrF(sum,ffcurrency,6,2)+#10+
    'Процент годовых'+ Floattostrf(pr,ffNumber,2,2)+#10+
    'Доход:'+ Floattostrf(dohod,ffCurrency,6,2)+#10+
    'Сумма в конце срока: '+ Floattostrf(sum2,ffCurrency,6,2);
 
   end;
 end;
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2018, 20:32
Ответы с готовыми решениями:

Рассчитать доход с вклада
задача такая, написать программу рассчитывающая сумму денег, которые получите при вложении...

Рассчитать ежедневный предполагаемый доход от деятельности кинотеатров
Текст Задачи следующий: Нужно рассчитать ежедневный предполагаемый доход от деятельности...

Создать программу, позволяющую рассчитать доход по вкладу
Создать программу, позволяющую рассчитать доход по вкладу 1. Программа должна выдавать сообщение...

Напишите программу, при помощи которой можно рассчитать доход по вкладу
2. Напишите программу, при помощи которой можно рассчитать доход по вкладу. Исходные данные для...

24
691 / 5405 / 265
Регистрация: 11.08.2016
Сообщений: 3,355
21.02.2018, 22:02 2
Переменная srok - целая, а присваивается ей вещественное число. Либо делать StrToInt, либо округлить.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
21.02.2018, 22:04 3
Цитата Сообщение от Lightenson Посмотреть сообщение
TEdit1.Text
ты не понимаешь что такое TEdit и Edit?
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
22.02.2018, 02:06 4
Цитата Сообщение от Lightenson Посмотреть сообщение
В целом я все уже доработала, написала действия, но мучаюсь с вводом переменных.
Ну если мучения только со вводом переменных, то 33 строка вышеприведенного кода должна выглядеть как
Delphi
1
var
, а не
Delphi
1
begin
.
Но и замечания предыдущих ответивших учти.
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
22.02.2018, 05:40 5
Вот это вообще что за красота в объявлении класса формы?
Label1: Label;
Label2: Label;
Label3: Label;
Button1: Button;
Edit1;
Edit2;


Добавлено через 2 минуты
Lightenson, Вы вообще откуда это взяли? И дальше в коде полный бред...
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 09:17  [ТС] 6
D1973, я изучаю все по книге Delhi XE и там написано вот так , как сделано у меня (я немного перековеркала, потому что я пробовала вводить программу с книжки , она с ошибками (я не знаю , что не так , потому что я новичок в этом ..)
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 09:17 7
Цитата Сообщение от Lightenson Посмотреть сообщение
и там написано вот так
не правда, ТАК там точно не может быть написано
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 09:21  [ТС] 8
qwertehok, но так он выдаёт ошибку
Миниатюры
Нужно рассчитать доход, но вылезает ошибка  
0
59 / 60 / 37
Регистрация: 24.07.2015
Сообщений: 224
22.02.2018, 09:34 9
Какую ошибку?
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 09:38  [ТС] 10
Arik100, типо : не объявлена переменная Label1 или типо того; я конркретно это попозже скажу ;
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,803
Записей в блоге: 3
22.02.2018, 09:39 11
Lightenson, вот в книжке Вашей все правильно написано... Но то, что там написано - не надо тупо переписывать руками: надо на форме размещать компоненты, а их объявления сами пропишутся...
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 09:46 12
Lightenson,
и еще там объявлена переменная Edit, а в коде?
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 10:21  [ТС] 13
qwertehok, да , я не понимаю TEdit и Edit; я новичок
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 10:46 14

Не по теме:

ну раз новичок, так и читай что в книжке написано



исправил код? работает?
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 13:32  [ТС] 15
northener, спасибо, это чуть уменьшило количество ошибок .

Добавлено через 8 минут
qwertehok, да , доканала программу , спасибо огромное за все замечания и предложения !)

Добавлено через 4 минуты
qwertehok, единственное , после того, как программа рассчитала мне данные , после не получается рассчитать новые данные. Что я могу в этом случае сделать ?
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 13:46 16
Lightenson, без кода я не могу сказать что не так
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 13:57  [ТС] 17
qwertehok,
Delphi
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
unit Unit2;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit ;
    procedure TButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.TButton1Click(Sender: TObject);
     var
sum, pr,dohod,sum2: real;
 srok: integer ;
 begin
   if (Length(Edit1.Text)=0) or (Length(Edit2.Text)=0) then  begin
   label3.Font.Color:=clMaroon;
   end
   else begin
     sum:=strtofloat(Edit1.Text);
     srok:=strtoint(Edit2.Text);
     case srok of
     1..3: pr:=9.5;
     4..6: pr:=11;
     7..12: pr:=12.5;
     13..24: pr:=14;
     else pr:=18;
     end;
     dohod:= sum * (pr/100/12)*srok;
     sum2:= sum + dohod;
    Label3.Font.Color:=clNavy;
    Label3.Caption:='Сумма: '+ FloattostrF(sum,ffcurrency,6,2)+#10+
    'Процент годовых'+ Floattostrf(pr,ffNumber,2,2)+#10+
    'Доход:'+ Floattostrf(dohod,ffCurrency,6,2)+#10+
    'Сумма в конце срока: '+ Floattostrf(sum2,ffCurrency,6,2);
 
   end;
 end;
 end.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 14:22 18
Цитата Сообщение от Lightenson Посмотреть сообщение
if (Length(Edit1.Text)=0) or (Length(Edit2.Text)=0) then *begin
у тебя повторно кнопка сработает если размер текста в эдитах будет 0
0
0 / 0 / 1
Регистрация: 21.02.2018
Сообщений: 28
22.02.2018, 14:36  [ТС] 19
qwertehok, она все равно не работает :/
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
22.02.2018, 14:37 20
что значит "не работает"????
0
22.02.2018, 14:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2018, 14:37
Помогаю со студенческими работами здесь

Найти общий доход каждого предприятия за год. Узнать какое предприятие приносило больший доход
Прошу помощи с решением :scratch: Два массива имеют доходы двух предприятий за каждый месяц...

Вылезает ошибка
AnsiString date1 , date2; date1 = DateEdit1->Date; date2 = DateEdit2->Date; ADOQuery1->Close();...

Вылезает ошибка с БД
Бд вроде подключил в VS, но там ошибка вылезает хз почему

Вылезает ошибка!
// Test.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <conio.h>...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru