Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
1

банковский счет

26.02.2011, 15:45. Просмотров 1046. Ответов 5
Метки нет (Все метки)

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

файл.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
class Account
{
private:
    
    double sum;         // сумма
    float persent;      // годовой процент
    char* name;     
    char* fame; 
    int num;
    double persent; 
    double sum; 
public:
    Account(char*fname, char*lname, double summ, double the_persent);
    ~Account(void);
    void change(char*name, char*fame);
    void take(double summ);
    void put(double summ);
    void persent_put(double procent, int day);
    void balans();
    void print();
    void ReplaceName(char*fname,char *theFamily);
};
файл.срр
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
48
49
50
51
52
53
54
55
56
// Account.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "Account.h"
 
 
#include <iostream>
#include <conio.h>
#include <math.h>
 
using namespace std;
Account::Account(char*fname, char*lname, double summ, double the_persent)
{name=fname;
fame=lname;
sum=summ;
}
 
 void  Account :: ReplaceName(char*fname,char *lname)
        {
                strcpy(name, fname);
                strcpy(fame, lname);
        }// смена фамилии и имени 
 
Account::~Account(void)
{}
 
void Account::take(double summ){
    sum-=summ;
}
 
void Account::put(double summ){
    sum+=summ;
}
void Account::persent_put(double procent, int day){
 
    persent=(sum*procent*day)/(365*100);
}
 
void Account::print(){
    cout<<"Фамилия:"<<num<<endl;
cout<<"Фамилия:"<<fame<<endl;
cout<<"Имя:"<<name<<endl;
cout<<"Сумма:"<<sum<<endl;
cout<<"Процент:"<<persent<<endl;
 
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
Account a("dg","dfg",2345,10);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2011, 15:45
Ответы с готовыми решениями:

Класс «Банковский счет»
задание: Разработать класс «Банковский счет», обеспечить возможность...

Разработать класс, инкапсулирующий банковский счет
Разработать класс, инкапсулирующий банковский счет (номер счета, баланс, ФИО...

Реализовать класс Account, представляющий собой банковский счет
Б15.12 Реализовать класс Account , представляющий собой банковский счет. В...

Реализовать класс Account, представляющий собой банковский счет. В классе должны быть четыре поля
Реализовать класс Account, представляющий собой банковский счет. В классе...

Класс "Банковский счет"
Написать класс &quot;Банковский счет&quot;, который содержит: номер счета Размер...

5
GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
26.02.2011, 16:30 2
насколько мне известно, нельзя делать поля с одинаковыми именами но разными типами.

Добавлено через 58 секунд
C++
1
2
3
4
double sum;
float persent; 
double persent; 
double sum;
0
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
26.02.2011, 23:40  [ТС] 3
это то да... не заметил... но это не помогает

Добавлено через 6 часов 44 минуты
кто нибудь мне может помочь?????
0
GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
27.02.2011, 00:41 4
straus, сначала объясните в чем проблема ..

Добавлено через 2 минуты
C++
1
2
3
4
5
6
Account::Account(char*fname, char*lname, double summ, double the_persent,int num)
{name=fname;
fame=lname;
sum=summ;
this.num=num;
}
я бы сделал так ( вы наверное забыли ещё про процент )

C++
1
2
3
4
5
6
7
8
9
Account::Account(char*fname, char*lname, double summ, double the_persent)
{
name=new char[strlen(fname)];
strcpy(name,fname);
fame=new char[strlen(lname)];
strcpy(fame,lname);
sum=summ;
percent=the_percent;
}
Добавлено через 40 секунд
C++
1
2
3
4
5
Account::~Account(void)
{
delete[] name;
delete[] fame;
}
C++
1
2
3
4
5
6
7
8
void Account::print(){
        cout<<"Номер:"<<num<<endl;
cout<<"Фамилия:"<<fame<<endl;
cout<<"Имя:"<<name<<endl;
cout<<"Сумма:"<<sum<<endl;
cout<<"Процент:"<<persent<<endl;
 
}
Добавлено через 5 минут
хмм....

вот это вообще что ?)))

C++
1
2
3
4
5
6
int _tmain(int argc, _TCHAR* argv[])
{
        return 0;
}
 
Account a("dg","dfg",2345,10);
попробуйте

C++
1
2
3
4
5
6
7
int _tmain(int argc, _TCHAR* argv[])
{
Account a("dg","dfg",2345,10);
a.print();
getchar();
        return 0;
}
0
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
27.02.2011, 21:34  [ТС] 5
GAME, как создать нумерацию по очереди и создавать нового владельца счета?

Добавлено через 4 минуты
GAME, а то у меня нумерация какая-то не понятная

Добавлено через 50 минут
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Account.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <conio.h>
#include <math.h>
 #include "Account.h"
using namespace std;
Account::Account(long numm,char*fname, char*lname, double summ, double the_persent)
{num=numm;
name=new char[strlen(fname)];
strcpy(name,fname);
fame=new char[strlen(lname)];
strcpy(fame,lname);
sum=summ;
persent=the_persent;
}
 void  Account :: ReplaceName(char*fname,char *lname)
        {
                strcpy(name, fname);
                strcpy(fame, lname);
        }// смена фамилии и имени 
 
Account::~Account(void)
{delete[] name;
delete[] fame;}
 
 
void Account::take(double summ){
    sum-=summ;
}
 
void Account::put(double summ){
    sum+=summ;
}
 
void Account::persent_put(double procent, int day){
 
    persent=(sum*procent*day)/(365*100);
    sum=+persent;
}
 
void Account::print(){
cout<<"Номер счета:"<<num<<endl;    
cout<<"Фамилия:"<<fame<<endl;
cout<<"Имя:"<<name<<endl;
cout<<"Сумма:"<<sum<<endl;
cout<<"Процент:"<<persent<<endl;
 
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
         SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
 
    Account a(11100009,"dg","dfg",2345,10);
    a.print();
    cout<<endl;
 
    a.persent_put(15,30);
    a.print();
    cout<<endl;
    a.ReplaceName("вася","петров");
    a.print();
    cout<<endl;
    a.put(500);
    a.print();
    cout<<endl;
    return 0;
}
0
GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
27.02.2011, 23:01 6
straus, Вообще, в вашем случае я бы советовал сделать список. Выглядеть будет так:
.h файл
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
#pragma once
class Account
{
private:
        static int gNum;
        int num;
        float sum;                     // сумма
        float persent;          // годовой процент
        char* name;             
        char* fame;  
        Account *next;
public:
        Account(char*fname, char*lname, float sum, float persent);
        ~Account(void);
        Account* AddToList(Account *elem);
        Account* DeleteFromList(Account *elem);
        Account* FindInList(char *name,char *fame);
        void ShowList();
        void change(char*name, char*fame);
        void take(double summ);
        void put(double summ);
        void persent_put(double procent, int day);
        void balans();
        void print();
        void ReplaceName(char*fname,char *theFamily);
};
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
 
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include "Account.h"
using namespace std;
int Account::gNum=0;
Account::Account(char*fname, char*lname, float sum, float persent)
{
gNum++;
num=gNum;
name=new char[strlen(fname)];
strcpy(name,fname);
fame=new char[strlen(lname)];
strcpy(fame,lname);
this.sum=sum;
this.persent=persent;
next=NULL;
}
 
Account *Account::AddToList(Account *elem)
{
Account *tmp = this;
if(!tmp)
return elem;
while(tmp->next)
       tmp=tmp->next;
tmp->next=elem;
return this;
}
 
Account *Account::DeleteFromList(Account *elem)
{
Account *tmp = this;
 
while(tmp->next!=elem)
      tmp=tmp->next;
tmp->next=elem->next;
return this;
}
 
Account *Account::FindInList(char *name,char *fame)
{
Account *tmp = this;
while(tmp)
{
if(!strcmp(this.name,name) && !strcmp(this.fame,fame))
   return tmp;
tmp=tmp->next;
}
return NULL;
 
}
 
void Account::ShowList()
{
Account *tmp = this;
while(tmp)
{
 
   tmp->print();
   cout << "\n";
   tmp=tmp->next;
}
}
 
 void  Account :: ReplaceName(char*fname,char *lname)
   {
delete[] name;
delete[] fame;
name=new char[strlen(fname)];
fame=new char[strlen(lname)];
                            strcpy(name, fname);
                strcpy(fame, lname);
        }// смена фамилии и имени 
 
Account::~Account(void)
{delete[] name;
delete[] fame;}
 
 
void Account::take(double summ){
        sum-=summ;
}
 
void Account::put(double summ){
        sum+=summ;
}
 
void Account::persent_put(double procent, int day){
 
        persent=(sum*procent*day)/(365*100);
        sum=+persent;
}
 
void Account::print(){
cout<<"Номер счета:"<<num<<endl;        
cout<<"Фамилия:"<<fame<<endl;
cout<<"Имя:"<<name<<endl;
cout<<"Сумма:"<<sum<<endl;
cout<<"Процент:"<<persent<<endl;
 
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
        Account *BankClients=new Account("NIK","GAME",1000000.0f,100.0f)
    //Добавление нового клиента
        Account *newClient=new Account("Somebody","Some..",10.0f,1.0f);
      BankClients =  BankClients.AddToList(newClient);
  //Распечтка всего списка
   BankClients.ShowList();
        return 0;
}
Вообщем-то код корявый и написан за 5 минут ... так что ищите баги )
например голову списка удалять нельзя ... упс )))
0
27.02.2011, 23:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2011, 23:01

Банковский калькулятор
Процентная ставка по вкладу составляет P процентов годовых, которые...

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией")
Описать структуру с именем &quot;ORDER&quot;, содержащий следующие поля: &quot;Счет...

Структура "Банковский кредит"
Структура «Банковский кредит» с полями &quot;ФИО клиента&quot;, &quot;сумма&quot;, &quot;срок&quot;,...


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

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

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