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

Обработчики ошибок try catch - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отслеживание USB флешек http://www.cyberforum.ru/cpp-beginners/thread967831.html
Доброго времени суток. Хотелось бы услышать, как корректно определить USB флэшку? Необходимость появилась в этом, потому что надо сделать запрет на открытие флэшки на компе. И при запрете не запретить клаву с мышкой USB. Можете подкинуть примеры по определению флэшек?
C++ Сортировка "Пузырьковым методом" Доброе утро всем, у меня есть одна задача, была рабочей, но сказали переделать метод пузырька чтобы было с do и while, как лучше это сделать, а то у меня не получилось. Есть еще вложение здесь, там блок-схема по которой надо метод пузырька сделать) #pragma argsused #include<iostream.h> #define n 8 void bubbleSort(int* arr, int size); int main(int argc, char* argv) { int i, a, b, x, g,... http://www.cyberforum.ru/cpp-beginners/thread967820.html
C++ Метод Зейделя
ошибка найдена. тема закрыта
Теория по С++ C++
Здравствуйте. Необходимо ответить на вопрос, что такое идентификаторы, пунктуаторы, ключевые слова и операторы. Я искал в гугле по отдельности каждое из этих слов, но ничего разумного не нашел. Может кто из вас знает правильные определения этих слов ну или есть книжка по программированию с определениями. Заранее спасибо.
C++ Средний возраст программиста http://www.cyberforum.ru/cpp-beginners/thread967785.html
Мне 23 и я часто вижу людей, которые еще в школе учатся, а уже могут такое на том-же С++, что я и представить себе не могу и взрослых программеров, которые не такие уж и крутые. Интересно узнать, в среднем, какой возраст у более-менее крутых программистов?
C++ Облачные технологии на С++ В последнее время побывал на нескольких конференциях, на которых говорилось, что будущее программирования за облачными технологиями. Посоветуйте книги на данную тему, применительно к С++ подробнее

Показать сообщение отдельно
Alexandr1966
25 / 25 / 1
Регистрация: 17.12.2012
Сообщений: 425
03.10.2013, 09:05     Обработчики ошибок try catch
Друзья, вот есть задача у меня решенная, вот условие:
Справка о междугороднем телефонном разговоре содержит: номер телефона абонента (6 цифр), дату (год, месяц, день), время (час, минута), код города (3 цифры), номер телефона в другом городе (7 цифр), продолжительность разговора (в минутах), категорию (срочный, обычный) и тариф (плата в рублях за минуту). Определить дату такого телефонного разговора, которой является максимальным по продолжительности среди срочных разговоров за указанный месяц.

Вот код программы, всё вроде бы работает нормально:
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
#include "stdafx.h"
#include "conio.h"
#include "locale.h"
#include "string.h"
 
struct date
{
    int day;
    int month;
    int year;
};
 
struct time
{
    int hour;
    int minute;
};
 
struct spravka //определение структурных типов данных
{
    char number[12];
    struct date D;
    struct time T;
    char num_other[12];
    int kod;
    int time;
    char category[20];
    double tarif;
};
 
int main()
{
    struct spravka a[2];
    int i,m,k; FILE *fp, *pc;
    setlocale(LC_ALL, "rus");
    int max;
    fp=fopen("input.txt","w");//открываем файл для записи с клавиатуры
 
    for(i=0;i<3;i++)// вводим данные
    {
        printf("Разговор!!! \n");
        printf("Номер: ");
        scanf("%s", a[i].number);
        printf("День: ");
        scanf("%d", &a[i].D.day);
        printf("Месяц: ");
        scanf("%d", &a[i].D.month);
        printf("Год: ");
        scanf("%d", &a[i].D.year);
        printf("Час: ");
        scanf("%d", &a[i].T.hour);
        printf("Минута: ");
        scanf("%d", &a[i].T.minute);
        printf("Другой номер: ");
        scanf("%s", a[i].num_other);
        printf("Код: ");
        scanf("%d", &a[i].kod);
        printf("Продолжительность: ");
        scanf("%d", &a[i].time);
        printf("Категория: ");
        scanf("%s", a[i].category);
        printf("Тариф: ");
        scanf("%lf", &a[i].tarif);
        printf("\n");
}
 
    for(int i=0; i<3; i++)// обработка
    {
        fwrite((char*)&a[i],sizeof(a[i]),1,fp);//данные записываются в файл
    }
 
    fclose(fp);
 
    printf("Введите месяц: ");
    scanf("%d", &m);
    max=0;
    k=0;
    fp=fopen("input.txt","r");//открываем файл для чтения с клавиатуры
    pc=fopen("output.txt","w");//записать данные обработки в файл
    for(int i=0; i<2; i++)// обработка
    {
        fread((char*)&a[i],sizeof(a[i]),1,fp);
    }
 
    for(i=0;i<3;i++)    
    { 
        if ((a[i].D.month==m) && (a[i].time > max) && strcmp(a[i].category,"sr")==0) 
        {
            k=i;
            max=a[i].time;
        }
    }
    printf("---------------------------------------- \n");
    printf("Номер: %s \n", a[k].number);
    printf("ДЕНЬ.МЕСЯЦ.ГОД: %d.%d.%d \n", a[k].D.day, a[k].D.month, a[k].D.year);
    printf("ВРЕМЯ: %d:%d \n", a[k].T.hour, a[k].T.minute);
    printf("Код города: %d \n", a[k].kod);
    printf("Номер в другом городе: %s \n", a[k].num_other);
    printf("Продолжительность: %d \n", a[k].time);  
    printf("Категория разговора: %s \n", a[k].category);
    printf("Тариф: %f \n", a[k].tarif);
    fwrite((char*)&a[k],sizeof(a[i]),1,pc);//данные записываются в файл
    fclose(fp);
    fclose(pc);
    _getch();
    return 0;
}

Нужно сделать так, чтобы допустим при неправильном вводе ВХОДНЫХ ДАННЫХ выдавалась ошибка с помощью обработчиков TRY и CATCH, например НОМЕР ТЕЛЕФОНА у меня типа int, а если введу СИМВОЛ какой нибудь, то мне должно выдаваться сообщение об ошибке, как это реализовать я не знаю, может кто в курсе =)) В общем. на всех участках, где возможно сделать обработчик ошибок, прошу мне помочь)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru