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

Прекращена работа программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача с использованием файловых потоков http://www.cyberforum.ru/cpp-beginners/thread960082.html
Создайте текстовый файл, содержащий сведения о пациентах глазной клиники: фамилия пациента, пол, возраст место проживания (город) диагноз. Напишите программу которая формирует двоичный файл каждый элемент которого является структурой, составленной на основе данных текстового файла. Отсортируйте данные бинарого файла в алфавитном порядке мест проживания. Вывидете на экран информацию о пациентах,...
C++ Класс прямоугольник исправить код я написал код, не могу сделать один шаг в нем :( писал в Code Blocks нужно еще сравнить площади двух прямоугольников, и если равны - вывести соответствующее сообщение, и если не равны тоже #include <iostream> using namespace std; class Rectangle { public: Rectangle(); http://www.cyberforum.ru/cpp-beginners/thread960078.html
C++ Перенос цифр из одного текста в другой
Суть задачи: с клавиатуры вводится текст(я вставил только малую часть ибо он огромен) class Object0 { type = "UralWreck"; position = {4865.14, 2394.81, 0}; direction = 69; onFire = 0.138681; }; class Object1 { type = "Rubbish2";
Проверить сколько открывающихся скобок, и сколько закрывающихся C++
Добрый вечер, в с++ рублю слабо, нужна помощь, как проверить количество скобок в выражении. т.е. вводится пример, и в нем скобки, проверить совпадает ли число "открывающихся" скобок с "закрывающимися" вот что я написал, но не считает количество "i"..спасибо) #include "stdafx.h" #include <string> #include <stdio.h> #include <iostream> #include<cstdlib> using namespace std; int main...
C++ Ступор в программе http://www.cyberforum.ru/cpp-beginners/thread960050.html
Сложение сделал, а вот как умножение и деление сделать не знаю... Можете так же подсказать, как выделить целую часть из полученного результата #include <iostream> using namespace std; class CPosition { public: int chisl; int znam; CPosition(){}
C++ Осуществить зеркальное отображение байта (unsigned char b) Проблема в следующем (12 строка), если использовать cin то в двоичной системе выводит не правильно, с начала записывает в конец, допустим если ввести 25, будет 00110010 вместо 00011001, а если использовать scanf_s то все правильно выводит, но после завершения вылазит ошибка: Run-Time Check Failure #2 - Stack around the variable 'z' was corrupted. Как исправить? #include "stdafx.h" #include... подробнее

Показать сообщение отдельно
dac
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 6
22.09.2013, 23:20     Прекращена работа программы
Здравствуйте))
У меня возникла такая вот проблема: мне задали написать программу,которая определяет количество дней от текущей даты до нового года и до дня рождения. В программе нужно использовать класс,описывающий дату. Даты вводить с клавиатуры.
Собственно,я написала программу.
Но вот в чем загвоздка,для класса разработан метод,вычисляющий разницу в днях. И все бы нормально...
Вызываю я этот метод два раза,первый раз все отлично,а второй-появляется окошко "Прекращена работа программы"
Никаких ошибок при генерации программного кода нет.

Привожу код программы. Помогите разобраться,в чем же дело. Заранее спасибо))

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
#include "stdafx.h"
#include <iostream>
#include <locale>
using namespace std;
 
static char daytab [2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
 
class DATE{
    int d,m,y;
public:
    void INPUT()
    {cout<<"\n День - ";
     cin>>d;
     cout<<" Месяц - ";
     cin>>m;
     cout<<" Год - ";
     cin>>y;
     cout<<"\n";
    }
    int YEAR()
    {return (y%4==0 && y%100!=0 || y%400==0);
    }
    int REST(DATE &P,DATE &L)
    {int p,l,rest;
     char *pp;
     char *ll;
     p=P.YEAR();
     l=L.YEAR();
     pp=daytab[p];
     ll=daytab[l];
     while (--P.m)
        P.d+=*++pp;
     while (--L.m)
        L.d+=*++ll;
     if (P.y==L.y)
         rest=L.d-P.d;
     else
        {if (ll==0)
            rest=L.d-P.d+365;
        else 
            rest=L.d-P.d+366;
        }
     return rest;
    }
};
 
void _tmain()
{setlocale(LC_ALL,"Russian");
  DATE day,ny,br;
  cout<<"\n Введите текущую дату:";
  day.INPUT();
  cout<<"\n Введите дату ближайшего Дня Рождения:";
  br.INPUT();
  cout<<" До Дня Рождения осталось - "<<day.REST(day,br)<<" дней!";
  cout<<"\n Введите дату ближайшего Нового Года:";
  ny.INPUT();
  cout<<" До Нового Года осталось - "<<day.REST(day,ny)<<" дней!";
  
  cout<<endl<<endl;
}
P.S. Это далеко уже не первый вариант программы
Создавала и два разных метода,где дату нового года вводить не надо,но результат,к сожалению, аналогичен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru