Форум программистов, компьютерный форум CyberForum.ru

Нужно объяснить программу, т.е. какие процессы проходят - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструктор C++ и new http://www.cyberforum.ru/cpp-beginners/thread703099.html
Здравствуйте Форумчане. Вопрос следующий: Какая разница между new ClassName; и new ClassName(); Если можно ссылку на источник или страницу книги.. Спасибо.
C++ Перевести синтаксис программы с Delphi в C++, очень нужно Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 30 слов, которые разделены запятыми. Эти слова образуют пары: каждое второе является синонимом первого. Заменить в файле f1 те слова, которые можно, их синонимами. Результат поместить в новый файл Листинг: Unit ZADACH303; Interface http://www.cyberforum.ru/cpp-beginners/thread703073.html
Произведение элементов с чётными номерами C++
В одномерном массиве, состоящем из н целых элементов, вычислить: 1) произведение элементов с чётными номерами, 2) сумму элементов массива, расположенных между первым и последним нулевыми элементами. Преобразовать массив таким образом, чтобы сначала располагались положительные элементы , а потом все отрицательные.
C++ Программа на языке С++ в среде Visual Studio 2010
Здравствуйте Вот было задание-написать программу которая подсчитывает число ненулевых битов целого числа и использует операцию сдвига. Вот текст программы: #include "stdafx.h" #include <conio.h> #include <stdio.h> int bitcount (unsigned int n)
C++ Сумма N целых положительных чисел http://www.cyberforum.ru/cpp-beginners/thread703054.html
Доброго времени суток. Срочно нужна помощь в написании программы на С++, а именно-Написать программу которая вычисляет сумму N целых положительных чисел. количество вводится во время работы программы. Заранее спасибо.
C++ Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму. подробнее

Показать сообщение отдельно
Evgeniy_Fox
5 / 5 / 0
Регистрация: 22.09.2012
Сообщений: 150
20.11.2012, 13:17     Нужно объяснить программу, т.е. какие процессы проходят
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
// Laboratornaya_3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <string>
#include <conio.h>
#include <stdio.h>
using namespace std;
int enterMenu();    //объявление функции
 
int menu(char *str, bool p) //главное меню
{
    int k = 0;  //номер пункта меню
    for(;;){
        cout << "1.Ввести строку." << endl;
        cout << "2.Подсчитать количество знаков." << endl;
        cout << "3.Вывести результат." << endl;
        cout << "4.Удалить строку." << endl;
        cout << "5.Выход." << endl;
        cout << "_______________________________________________________________________________" << endl;
        k = enterMenu();
        if (k>0 && k<6)
            break;
        else
            cout << "ОШИБКА! Неверный номер пункта, повторите ввод." << endl;
            cout << "_______________________________________________________________________________" << endl;
    }
    switch (k){
        case 1:
            return k;
        case 2:
            if (strlen(str)>1)
            {
                return k;
            }
            else
            {
                cout << "ОШИБКА! Строка не введена." << endl;
                cout << "_______________________________________________________________________________" << endl;
                break;
            }
        case 3:
            if (p)
                return k;
            else
                {
                    cout << "ОШИБКА! Знаки не подсчитаны." << endl;
                    cout << "_______________________________________________________________________________" << endl;
                    break;
                }
        case 4:
            if (strlen(str)>1)
            {
                return k;
            }
            else
            {
                cout << "ОШИБКА! Строка не введена." << endl;
                cout << "_______________________________________________________________________________" << endl;
                break;
            }
        case 5:
            return k;
    }
    return 0;
}
 
int enterMenu() //Выбор номера пункта меню
{
    int s = 0;
    do {
            cout << "Введите номер пункта: ";
            cin.clear();    //сброс битов ошибок входного стандартного потока
            cin.sync(); //очищение буфера стандартного ввода
            cin >> s;
        } while( cin.fail() );  //проверка на ошибку предыдущего ввода со стандартного потока
    return s;
}
 
 
char *enterStr(char *str)
{
    char ch = 0;
    while (true)
    {
        ch = _getch();
        cout << ch;
        if (ch == 13)
            break;
        int len = strlen(str);
        char *tmp = new char[len+2];
        strcpy(tmp, str);
        tmp[len] = ch;
        tmp[len+1] = '\0';
        delete [] str;
        str = tmp;
    }
    cout << endl;
    return str;
}
 
int signCh(char *str, bool &p)
{
    int count = 0;
    char c[] = {',','.','<','>','{','}','[',']','(',')','?','\"',';',':','!','@','#','$','%','^','&','*','|','/','\n'};
    for (int i = 0; i < strlen(str); i++)
    {
        int m = 0;
        while (c[m] != '\n')
        {
            if (str[i] == c[m++])
                count++;
        }
    }
    p = true;
    return count;
}
 
void showResult(char *str, int count)
{
    cout << "В строке: \"" << str << '\"' << ' ' << "Знаков пунктуации: " << count << endl;
    cout << "_______________________________________________________________________________" << endl;
}
 
char *delStr(char *str, bool &p)
{
    p = false;
    delete [] str;
    str = new char[1];
    str[0] = '\0';
    return str;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char *str = new char[1];
    str[0] = '\0';
    int count = 0;
    bool p = false;
    while (true)
    {
        int num = menu(str, p);
        if (num == 1)
        {
            str = delStr(str, p);
            str = enterStr(str);
        }
        else if (num == 2)
        {
            count = signCh(str, p);
        }
        else if (num == 3)
        {
            showResult(str, count);
        }
        else if (num == 4)
        {
            str = delStr(str, p);
        }
        else if (num == 5)
            return 0;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru