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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gdasar
186 / 47 / 10
Регистрация: 18.02.2013
Сообщений: 471
Записей в блоге: 9
Завершенные тесты: 1
#1

Помогите найти ошибку. Какая дата введена не верно и занести ее в стек(с использованием структуры) - C++

28.11.2013, 15:28. Просмотров 201. Ответов 0
Метки нет (Все метки)

Задача:
определить,какая дата введена не верно и занести ее в стек(с использованием структуры). По окончании работы программы вывести количество неверных дат.
Код:
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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <fstream.h>
 
struct date
{
   int day;
   int mou;
   int year;
};
 
int putstack(date *s,int max,int *top,date v)//помещение в стек
{
    if(*top<max)
    {
        (*top)++;
        s[*top]=v;
        return 0;//good
    }
    else
        return 1;//bad
}
 
 
int stackfull(int top,int max)//проверка на переполнение
{
    if(top==max)
    {
        return 1;//bad
    }
    else
        return 0;//good
}
 
void main()
{   int max=100; int top=-1;
    int shk=0;
    struct date v; struct date *s;
    ifstream in("input.txt");
    //ofstream out("output.txt");
    struct date tmp;
    while(!in.eof())
    {
     //in.get();
     in>>tmp.day;
     in.get();
     in>>tmp.mou;
     in.get();
     in>>tmp.year;
     if((tmp.day<=30&&tmp.day>0)&&(tmp.mou<=12&&tmp.mou>0)&&(tmp.year<=2014&&tmp.year>1980))
     {
     //good
     continue;
     }
     else
     {  //bad
     int full=stackfull(top,max);
     if(full==1)
      {
         printf("stek perepolnen"); exit(1);
      }
      else    //good
      {
         int put=putstack(s,max,&top,tmp);
         if(put==1)
         {
          printf("oshibka pomeshenia v steck");
          exit(1);
         }
         else  //good
           shk++;
     }
     }
    }
 /*out << tmp.day << " ";
 out << tmp.mou << " ";
 out << tmp.year << " ";*/
    in.close();
    //out.close();
    printf("%d",shk);
    getchar();
}
Ну в общем программа намертво виснет
Прошу помощи в нахождении ошибки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 15:28     Помогите найти ошибку. Какая дата введена не верно и занести ее в стек(с использованием структуры)
Посмотрите здесь:

Динамические структуры. Стек (помогите найти ошибку) - C++
помогите найти ошибку. Есть задание: построить стек, элементами которого являются слова текста,которые считываются из текстового файла....

Структуры. Помогите найти ошибку в программе - C++
3. Сведения об экзамене содержат следующие данные: дисциплину (программирование, социология, иностранный язык, физика), дату сдачи экзамена...

Помогите найти ошибку в задаче на структуры - C++
Помогите , 1 ошибка в коде , код писал с книги . Буду очень благодарен за помощь. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Вывод информации о платежах, дата которых введена с клавиатуры - C++
Добрый день. Я работаю со структурой, представляющей платёж. Сама структура выглядит таким образом: struct PLATEJ { char name;...

Помогите решить задачу с использованием структуры - C++
Помогите решить задачу:Нужно ввести фамилию и узнать информацию о студенте #include&lt;stdio.h&gt; #include&lt;conio.h&gt; struct student_spisok ...

Стек (найти ошибку в коде) - C++
Такая проблема: создаю стек, вычисляю количество елементов между минимальным и максималым, удаляю стек, пытаюсь создать стек по-новой...

Описать структуру TIMETABLE с рассписанием поездов. Вывести на экран информацию о поездах, дата отправления которых введена с клавиатуры. - C++
Описать структуру с имя ям TIMETABLE, которая содержит следующие поля:* • NAZV - название пункта назначения;* • NUMR - номер поезда; ...

Найти ошибку. В файл занести 100 записей: ФИО, адрес, возраст, рост, вес - C++
Написать программу для решения следующей задачи. В файл занести 100 записей, содержащих следующую информацию: ФИО, адрес, возраст, рост,...

Найти ошибку в объявлении структуры - C++
Здравствуйте!Задание найти ошибку в к следующем коде в строке 1,2,3 или 4. Мне кажется все верно, разве нет? #include &lt;stdio.h&gt; ...

С++ структуры (не могу найти ошибку) - C++
Нужно ввести кол-во спортсменов и их средний балл, затем установить пропускной балл в финал соревнований и вывести на экран спортсменов...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru