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

Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структура проверка на ошибку http://www.cyberforum.ru/cpp-beginners/thread573123.html
Вот не знаю как реализовать не емко проверку на выход за диапазон, чтобы если вводишь букву или миллиард программа завершалась #include <iostream> using namespace std; const short A=5; const short B=10; struct twice { private:
C++ помогите с решением задания по С++ найти сумму элементов матрицы размещенных за периметром 1 2 3 А= 4 5 6 <--- матрица ок?) 6 7 8 если можно с комментариями что к чему, заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread573122.html
Написать программы C++
1)Написать программу для вывода дней недели 2)Написать сумму всех целых чисел больших -50 и меньших 200 которые кратны 5 и 8 и заканчиваются на 5 и 0
C++ помогите с решением задания по С++
узнать у как функцию х за формулой У=16.7х + 9.2х^2 – 1.01x^3 для х ызменимого от 1.0 к 9.9 с шагом 0.1. входящие данные: диапазон изменения х (1.0 .. 9.9) шаг h= 0.1 выходящие данные: значение функции у.
C++ Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 http://www.cyberforum.ru/cpp-beginners/thread573108.html
задание:"найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7" помогите пожалуйста, не знаю как сделать
C++ Взаимозависимость кнопок на форме Delphi Допустим у меня на форме имеется 3 кнопки... как сделать так чтобы: 1.при запуске формы первая кнопка была доступна, а другие две нет.. 2.затем если нажать первую кнопку становится доступной вторая, а первая и третья не доступна.. 3.Когда нажата вторая кнопка открывается доступ к третьей кнопке.. 4.когда нажата третья кнопка то переход к состоянию 1 __________________________ если... подробнее

Показать сообщение отдельно
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
13.05.2012, 16:11     Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C
Подскажите почему программа выдает ошибку при первом запуске, а дальше работает нормально?
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
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int istrue(string); 
struct library 
{
  int month;
    int day;
    int year;//дата
};
void createstruct();
int main() {int filecase;
          
        setlocale (LC_CTYPE,"rus");
        cout<<"Введите 1, если нужно ввести данные";
                    cin>>filecase;
                    switch(filecase)
                     case 1:{createstruct(); break;}
                     return 0;
}
 
//--------------------------------
 
void createstruct()   // получение длины от пользователя
{         library l1;
    string instr;             // для входной строки
  
  cout<<"\nВведите дату:";
   while(true)               // цикл, пока футы 
                            // не будут правильными
    {
    cout << "\n\nВведите день месяца: ";
    cin.unsetf(ios::skipws);// не пропускать
                            // разделители
    getline(cin, instr); 
    
    if( istrue(instr) )     // правильное значение?
      {        //да
      cin.ignore(10, '\n'); // съесть символы,
                            // включая разделитель строк
      l1.day = atoi( instr.c_str() ); // перевести
                                    // значение в целочисленное
      break;                // выход из цикла 'while'
      }                     // нет, не целое
    cin.ignore(10, '\n');   // съесть символы, включая
                            // разделитель строк
    cout << "Дата должна быть целым числом, месяц не имеет более чем 31 день!\n";
   }}  //конец цикла while для дня
  
 
//конец цикла while для футов
//---------------------------------------------------------
int istrue(string str)      // true если введена строка
  {  library l1;                       // с правильным значением 
  int slen = str.size();    // получить длину
  if(slen==0 || slen > 2)   // не было или слишком много
                            // данных
    return 0;               // не целое
  for(int j=0; j<slen; j++) // проверить каждый символ
                            // если не цифра или минус
  if(str[j] < '0' || str[j] > '9')
      return 0;             // строка неправильных 
  int  n = atoi( str.c_str() ); // перевод в double
  if( n<0 || n>31   )         // вне допустимых значений?
    return 0;  
  // если да, неправильно
  
  return 1;                  // правильно
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru