Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 38
1

Переделать пргограмму в MFC

10.01.2013, 19:56. Показов 682. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
int const N = 5;
 
using namespace std;
 
class book{
    public:
        book();
 
        string getAuthor() const;
        void setAuthor(string);
 
        string getName() const;
        void setName(string);
 
        int getPages() const;
        void setPages(int);
 
        bool getIsFree() const;
 
        void setNewBook();
        void printBook();
    private:
        bool isFree;
        string author;
        string name;
        int pages;
};
 
 
void sortBooks(class book* arr){
    string str1;
    string str2;
    for(int i = 0 ; i < N ; i++)
        for(int j = i ; j < N ; j++)
            if (arr[i].getName() >= arr[j].getName())
                std::swap(arr[i],arr[j]);
 
}
 
book::book(){
    isFree = true;
}
 
void book::setNewBook(){
    cout<<endl<<"Enter author: ";
    cin>>author;
    cout<<endl<<"Enter name: ";
    cin>>name;
    cout<<endl<<"Enter number of pages: ";
    cin>>pages;
    isFree = false;
}
 
void book::setAuthor(string newAuthor){
    author = newAuthor;
}
 
void book::setName(string newName){
    name = newName;
}
 
void book::setPages(int newPages){
    pages = newPages;
}
 
bool book::getIsFree() const{
    return isFree;
}
 
string book::getAuthor() const{
    return author;
}
 
string book::getName() const{
    return name;
}
 
int book::getPages() const{
    return pages;
}
 
void book::printBook(){
    cout<<"\n Author: "<<author
        <<"\n Name: "<<name
        <<"\n Pages: "<<pages;
}
int main() 
{
   bool isInMenu = true;
    char key;
    class book arr[N];
 
    int i = 0;
 
    while(isInMenu){
 
        cout<<"1 to create new book \n"
            <<"2 to sort books \n"
            <<"3 to print all books \n"
            <<"4 to exit \n"
            <<"Choise: ";
        cin>>key;
        switch(key){
            case '1':
                if (i==N) {
                    cout<<"\n There is no empty slots left! \n";
                    break;
                }
                arr[i].setNewBook();
                i++;
 
            break;
 
            case '2':
                sortBooks(arr);
            break;
 
            case '3':
                for(int i = 0; i<N; i++)
                    if(!arr[i].getIsFree())
                        arr[i].printBook();
                break;
 
            case '4':
                isInMenu = false;
                break;
 
        }
        //key=0;
        cout<<"\n\n\n\n";
    }
    getchar();
 
}
На вход подается некоторое количество описаний книг (автор, название, количество страниц). Отсортировать и вывести в алфавитном порядке по названиям.
Нужно сделать в графическом режиме. Без всяких излишеств, очень просто. Помогите пожалуйста, за оден вечер не осилю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2013, 19:56
Ответы с готовыми решениями:

Переделать код с C# в C++ (MFC)
всем привет! SOS!!!!! переделывал под себя програмку на С++(MFC) для ОС Windows Mobile 5.0,...

Из консоли переделать в MFC
Из консоли переделать в MFC #include &quot;iostream&quot; using namespace std; #include &lt;cmath&gt; // или...

Переделать все нарисованные прямоугольники на эллипсы MFC (SDI)
Доброго времени! Подскажите, как сделать в SDI, чтобы по нажатию на кнопку (при удержании ее)...

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

2
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 38
12.01.2013, 16:13  [ТС] 2
help
0
Заблокирован
Автор FAQ
16.01.2013, 13:43 3
Цитата Сообщение от ZOMBO Посмотреть сообщение
Нужно сделать в графическом режиме. Без всяких излишеств, очень просто. Помогите пожалуйста, за оден вечер не осилю
- Лови (проект в аттаче)
Единственное поправил у тебя в классе вот этот момент
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        //ОНА ДОЛЖНА БЫТЬ другжественной функцией!
        friend void sortBooks(book* arr, int M);
    private:
        bool isFree;
        string author;
        string name;
        int pages;
};
 
 
void sortBooks(book* arr, int M)
{
    int i, j;
    for(i = 0     ; i < M ; i++)
    for(j = i + 1 ; j < M ; j++)
    if (arr[i].getName() > arr[j].getName())
        swap(arr[i],arr[j]);
}
Во первых всё что рабоатет с классом из вне лучше делать дружиственной функцией, но это не концептуально, а вот во вторых подумай, почему я изменил прототип
C++
1
void sortBooks(book* arr, int M)
(Уверен при сортировке полупустой БД часть твоих записей выводилась пустыми, подумай почему так происходило и почему там не N а фактическое кол-во записей в БД...)
Миниатюры
Переделать пргограмму в MFC  
Вложения
Тип файла: rar ZOMBO2.exe.rar (6.3 Кб, 8 просмотров)
Тип файла: rar ZOMBO2_project.rar (29.6 Кб, 9 просмотров)
0
16.01.2013, 13:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2013, 13:43
Помогаю со студенческими работами здесь

подключение классов MFC к не MFC
Как подключить MFC Class From ActiveX Control к не MFC проекту? т.е. пишу обычными винапи...

Из MFC 2012 в MFC 2005
Есть прокт для студии 12, всё хорошо, писал на 8ке в VS 2012 и он отлично работает. Позже...

Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll
Здравствуйте. Подключил afx.h, появилась ошибка. Из-за чего? Что делать?

надо переделать задачу она уже решена ну ее нужно переделать
вот задача const n=4; var a:array of integer; i,s:integer; begin for i:=1 to n do begin...

возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi?
Подскажите возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? У меня...

MFC
Здравствуйте. Здесь на сайте размещен раздел &quot;Уроки программирования на Visual C++ с помощью MFC&quot;....


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

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