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

Определение значения переменной в цикле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Народ! Какая то у меня не понятка с проектом 100 раз писал а сейчас лажа http://www.cyberforum.ru/cpp-beginners/thread630945.html
:(Народ вот у меня с проектом не понятка, :(100 раз писал а сейчас вылетает аксес виолайшен ошибка. :(заманался все перепроверил и 3 раза переначинал и все тоже самое что случилось???? может что то со средой, 3 часа мучиюсь уже по 100 раз проверил код не пойму :( Добавлено через 52 секунды #include <Windows.h> TCHAR czClassName = L"MyClassName"; TCHAR czCaption = L"Это мое окно!"; ...
C++ return и дестуктор как передают значение объекта ,созданного в функции через return ?При return вызывается его деструктор и передать значение из функции уже не могу .Что нужно написать / перегрузить ,какие модификаторы для переменных функции и самой функции поставить ? http://www.cyberforum.ru/cpp-beginners/thread630944.html
Описать структуру с именем STUDENT C++
// sub22.cpp: определяет точку входа для консольного приложения. //Вариант 1 //1. Описать структуру с именем STUDENT, содержащую следующие поля: //• фамилия и инициалы; //• номер группы; //• успеваемость (массив из пяти элементов). //2. Написать программу, выполняющую следующие действия: //• ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть...
Считывание из файла C++
Ребят, помогите, пожалуйста, новичку разобраться=) Есть файл, в котором расположена информация примерно такого содержания 1946 12 30 0 -519 0 -490 0 9999 9 0 2 0 1946 12 31 0 -528 0 -499 0 9999 9 0 2 0 1947 1 1 0 -477 0 -383 0 -366 0 1 0 0 1947 1 2 0 -406 0 -356 0 -335 0 5 0 0 1947 1 3 0 -481 0 -408 0 -373 0 0 2 0 Нужно считать информацию из файла 4...
C++ Принадлежность множеству http://www.cyberforum.ru/cpp-beginners/thread630915.html
На дельфи есть прекрасный оператор IN, который проверяет принадлежность множуству (я это так называю) То есть if Key IN then ... А как такое реализовать на С++?
C++ Задача на рекурсию Задание : Напишите функцию возведения в степень, которая работала бы как для положительных, так и для отрицательных значений n: a^(-n)=1/a^n. Что-то написал, только для отрицательных значений степени выводит 0 , помогите найти ошибку . подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2012, 00:28     Определение значения переменной в цикле
Такая запись допустима: 255.000.255.255. , 255.00.255.255. , 001.255.255.255. , 01.255.255.255. ? Имеются ввиду нули перед числами. Или только так должно пропускать: 1.0.255.255. ? Точка в конце обязательна? 255.255.255.255 , так нельзя, да?

Добавлено через 13 минут
Цитата Сообщение от alexey31415 Посмотреть сообщение
функция в которой вызввается correct
Я пока посмотрю, а вы испытывайте код:
Код
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
#include <cctype>
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
bool correct(string id); 
 
int main()
{
    setlocale(0, "");
    
    string ID = "255.255.255.255.";
    cout << ID << endl;
    
    if (correct(ID)) cout << "Правильный ввод.";
    else cout << "Неправильный ввод." << endl;
    
    system("pause");
    return 0;
}
 
bool correct(string id)
{
    
    if (id.size() < 8 || id.size() > 16 || id.empty() || *(id.end() -1) != '.') return false;
    
    int n = 0;
    
    do
    {
        stringstream s;
        int number;
        int j = 0;
        
        while (j < id.size() && id[j] != '.' )
        {
            if(!isdigit(id[j])) return false; 
            j++;
        }
        
        if (j == 0 || j > 3) return false;
        j++;
        
        s << id;
        s >> number;
        
        if (number > 255 || number < 0) return false;
        
        id.erase(id.begin(), id.begin() + j);
        
        n++;
    
    } while (!id.empty());
    
    if (n == 4) return true;
    return false;
}


Добавлено через 21 минуту
Цитата Сообщение от alexey31415 Посмотреть сообщение
correct на данный момент
Ваш код работает или попрежнему?

Добавлено через 12 минут
NewWords
Только метод класса. Самого класса я не вижу, поэтому мне это не проверить. Но, если надумаете мою реализацию correct() включать, то, в 13 строке:
C++
1
string id_of_word;
, в 38 :
C++
1
if(correct(id_of_word))
и про #include <string> не забудьте. И зачем вы используете char[]? Есть же класс string. Автоматическое управление памятью и пр.. Всё-таки С++.
Пробелы до первой цифры? "___255.255.255.255." Если считать такой ввод правильным, то, в начале функци correct(), нужно поместить конструкцию:
C++
1
2
while (*(id.begin()) == ' ')
     id.erase(id.begin());
, которая, перед анализом строки, уберёт из неё пробелы до первой цифры.
 
Текущее время: 11:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru