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

не работает проверка бесконечного цикла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить.... http://www.cyberforum.ru/cpp-beginners/thread454334.html
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на 3, строку из нулей. есть задача но в ней чето не правильно подскажите пож что? #include "stdafx.h" #include "stdlib.h" #include "stdafx.h" #include "conio.h"
C++ Треугольник Даны два множества точек на плоскости.из первого множества выбрать три различные точки так,чтобы треугольник с этими вершинами содержал(строго внутри себя) равное количество точек первого и второго множеств. Видел на паскале,но надо на си. http://www.cyberforum.ru/cpp-beginners/thread454302.html
C++ error C2447: missing function header
пишет ошибку error C2447: missing function header (old-style formal list?) #include <iostream> #include <math.h> using namespace std; int main (void); { int n=15 double s=0.0,x=4.1,k=1; for (int i=1;i<=n;i++)s=s+(sin(k*x))/(k*k);
окрытие файла в конструкторе C++
Добрый день. Я хочу создать объект для работы с файлом. На сколько корректно открывать его в конструкторе? Если файл не откроется, объект все равно создастся? Например file_class file("file_name") ; file.getMethod(); Мне нужно сделать так, что если файл не открывается, программа например завершалась. Или способ как проверить полноценный ли объект перед тем как вызывать getMethod()
C++ Вывести все делители заданного натурального числа с++ http://www.cyberforum.ru/cpp-beginners/thread454271.html
Вывести все делители заданного натурального числа
C++ Вычислить значение c++ Вычислить значение заданной функции y=f(x) на данном интервале с заданным шагом h. Вывод значений аргумента и результаты вычисления значений функции сделать в виде таблицы. Функция y={log}_{2}x+{2}^{x} Диапазон изменения аргумента x\epsilon Шаг изменения аргумента \Delta x=1/4 подробнее

Показать сообщение отдельно
shadowstar
1 / 1 / 0
Регистрация: 28.02.2012
Сообщений: 20

не работает проверка бесконечного цикла - C++

28.02.2012, 12:06. Просмотров 683. Ответов 12
Метки (Все метки)

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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
// разработать класс Student, который содержит соответствующие поля для хранения: 
// * фамилии,+
// * имени,+
// * отчества,+
// * возраста,+ 
// * пола,+
// * домашнего адреса,+
// * телефонного номера,+
// * номера группы,+
// * названия специализации.+ 
 
// напишите методы, которые смогут изменять эти поля данных по отдельности.+
// напишите метод Print(), который выводит все данные о студенте в красивом формате.+
// сделать конструктор по умолчанию, конструктор с параметрами, деструктор.
 
// создать группу студентов (динамический массив), отобразить данные на экран.
 
#include <iostream>
#include <string>
 
using namespace std;
 
class student 
{
    string last_name;
    string name;
    string middle_name;
    int age;
    int sex;
    string home_address;
    double phone_number;
    int group_number;
    string names_of_specialization;
public:
    void record_last_name () // метод_записи_фамилии
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        last_name = temporary;
    }
 
    void record_name () // метод_записи_имени
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        name = temporary;
    }
 
    void record_middle_name () // метод_записи_отчества
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        middle_name = temporary;
    }
 
    void record_home_address () // метод_записи_домашнего_адреса
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        home_address = temporary;
    }
 
    void record_names_of_specialization () // метод_записи_специализации
    {
        string temporary;
        for (;;)
        {
            getline (cin , temporary);
            if (temporary.empty()){cout << "Empty string\n" <<endl;continue;}
            else{cout << "Record\n" << endl;break;}
        }
        names_of_specialization = temporary;
    }
 
    void record_age () // метод_записи_возраста
    {
        int temporary = 0;
        do
        {
            cin >> temporary;
        }while (temporary >= 16 && temporary <= 100);
        age = temporary;
    }
 
    void record_phone_number () // метод_записи_телефонного_номера
    {
        double temporary = 0;
        do
        {
            cin >> temporary ;
        }while (temporary > 0);
        phone_number = temporary;
    }
 
    void record_group_number () // метод_записи_номера_группы
    {
        int temporary = 0;
        do
        {
            cin >> temporary ;
        }while (temporary > 0);
        group_number = temporary;
    }
 
    void record_sex () // метод_записи_пола_студента
    {
        int temporary;
        cout << "1 = man, 2 = women\n";
        do
        {
            cin >> temporary;
            if (temporary != 1 && temporary != 2){cout << "Error: an incorrect value\n";}
        }while (temporary == 1 || temporary == 2);
        sex = temporary;
    };
 
    void Print () // вывод_на_экран_информации_о_студенте
    {
        cout << "Name of the student " << last_name << endl;
        cout << "The student's name " << name << endl;
        cout << "Student's first name " << middle_name << endl;
        cout << "Home address " << home_address << endl;
        cout << "Names_of_specialization " << names_of_specialization << endl;
        cout << "Age of the student " << age << endl;
        cout << "Phone number of the student " << phone_number << endl;
        cout << "Group_number " << group_number << endl;
        if (sex == 1) {cout << "Man\n";}
        else {cout << "Women\n";}
    }
 
    student () // конструктор_класса
    {
        string last_name = "NULL";
        string name = "NULL";
        string middle_name = "NULL";
        int age = 0;
        bool sex = 1;
        string home_address = "NULL";
        int phone_number = 0;
        int group_number = 0;
        string names_of_specialization = "NULL";
    }
 
    /*student (string last_name_2, string name_2, string middle_name_2, int age_2, bool sex_2, string home_address_2, int phone_number_2,
        int group_number_2, string names_of_specialization_2)  // конструктор с параметрами
    {
        string last_name = last_name_2;
        string name = name_2;
        string middle_name = middle_name_2;
        int age = age_2;
        bool sex = sex_2;
        string home_address = home_address_2;
        int phone_number = phone_number_2;
        int group_number = group_number_2;
        string names_of_specialization = names_of_specialization_2;
    }*/
};
 
 
void main ()
{
    student temporary_student;
 
    cout << "Last name\n";
    temporary_student.record_last_name ();
    
    cout << "Name\n";
    temporary_student.record_name ();
    
    cout << "Middle name\n";
    temporary_student.record_middle_name ();
    
    cout << "Home address\n";
    temporary_student.record_home_address ();
    
    cout << "Names of specialization\n";
    temporary_student.record_names_of_specialization ();
    
    cout << "Age\n";
    temporary_student.record_age ();
    
    cout << "Phone number\n";
    temporary_student.record_phone_number ();
    
    cout << "Group number\n";
    temporary_student.record_group_number ();
 
    cout << "Sex\n";
    temporary_student.record_sex ();
    
    cout << "Show\n";
    temporary_student.Print ();
 
    /*student Tolik("Pustinskiy", "Tolik", "Aleksandrovich", 26, 1, "Dobrovolskogo 18", 80630514051, 1111, "Programmist");
 
    cout << "Show\n";
    Tolik.Print ();*/
 
}
Добавлено через 2 минуты
проблема вот в чем в методе age() и ниже.......не работает проверка бесконечного цикла(то есть выходит при любо значении) а при вводе букв прыгает сразу на метод Print() всю голову сломал подскажите в чем трабл(((

Добавлено через 3 минуты
пользуюсь VS 2010 ultimate
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru