Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
#1

сравнение времени - C++

09.12.2012, 19:56. Просмотров 833. Ответов 4
Метки нет (Все метки)

Вообщем само задание вот: Пригородные поезда: время отправления, конечная станция, время в пути. Дополнить
вывод вычисляемой информацией о времени прибытия на конечную станцию. Включить
вычисляемое поле «время прибытия» в сортируемые поля.

как сделать так, чтобы записывать время и сравнивать его время, т.е. надо чтобы время было записано в 60-ой системе. немного непонятно изъяснился, но кто поймет, напишите пожалуйста

Добавлено через 53 минуты
up

Добавлено через 2 часа 4 минуты
ауу

Добавлено через 4 минуты
ну или скажите пожалуйста, как сравнивать к примеру вот что:

к примеру:
C++
1
2
3
4
5
6
7
8
9
struct poezda{
    int hour;
    int minute;
    char city;
    int timeWayHour;
    int timeWayMinute;
    int timeArrivalHour;
    int timeArrivalMinute;
};
...
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
#include "module.h"
 
bool compare(poezda* b1, poezda* b2, char field)
{
    switch(field)
    {
        case '1':      
            return b1->hour + b1->minute > b2->hour + b2->minute;
        case '2':     
            return strcmp(b1->city, b2->city) > 0;
        case '3':     
            return b1->timeArrivalHour + b1->timeArrivalMinute > b2->timeArrivalHour + b2->timeArrivalMinute;
        case '4':     
            return b1->timeWayHour + b1->timeWayMinute > b2->timeWayHour + b2->timeWayMinute;
    }
    return false;
}
 
void sort(poezda* mas, int size, char field)
{
    bool flag;
    do{
        flag = false;
        for(int i = 0; i < size - 1; ++i)
            if(compare(&mas[i], &mas[i+1], field)){
                poezda tmp;
                tmp = mas[i];
                mas[i] = mas[i+1];
                mas[i+1] = tmp;
                flag = true;
            }
    }while(flag);
}
Добавлено через 2 минуты
я могу конечно всю прогу скинуть, но не вижу в этом смысла, я хотел спросить всё правильно ли я делаю в функции bool compare
и в строке 11 выдает у меня ошибку такую: error C2664: strcmp: невозможно преобразовать параметр 1 из 'char' в 'const char *'
1> Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции

Добавлено через 1 час 39 минут
Ну же, добрые люди, помогите пожалуйста.

Добавлено через 46 минут
up up up^^ может не так задал вопрос? Если что-то не понятно, напишите.

Добавлено через 32 минуты
[ссылка удалена]

это вся лаба

Добавлено через 1 час 25 минут
можно закрывать тему, всёровно тут никто не поможет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 19:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сравнение времени (C++):

Сравнение времени - C++
Добрый вечер! У меня есть время в формате; string taym = &quot;06.07.2016&quot;; Как сравнить с текущим, и узнать это прошедшее, будущее или...

сравнение времени - C++
господа прогамисты как можно сравнить реальное време, с временем введённым с клавиатуры? Заранее всем огромное спасибо!!!

Сравнение времени компьютера с введённым с клавиатуры - C++
Нужно ввести время с клавиатуры и сравнить с временем компьютера.

Как в одномерном массиве проводится сравнение и сколько времени потребовалось на выполнение программы - C++
Подскажите, как доделать программу: Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++ - C++
Доброго времени суток! Имеется код программы: ifstream test(&quot;primer.txt&quot;); char awm = &quot;kod&quot;; char buff; test &gt;&gt; buff; if (buff...

Проверка на правильность времени, и показ времени - C++
Подскажите, что нужно возвращать в функцию bool is_correct(TIME t); и как эту функцию коректности времени всунуть в функцию void...

4
Croessmah
Пришел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,998
Записей в блоге: 3
Завершенные тесты: 1
09.12.2012, 21:03 #2
Цитата Сообщение от dmmax Посмотреть сообщение
можно закрывать тему, всёровно тут никто не поможет.
Ну почему же Вы так в этом уверены?
У Вас куча ошибок в коде. Некоторые исправил - запускается, работает, правильно или нет - судить Вам.
module.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
struct poezda{
    int hour;
    int minute;
    char city[128];
    int timeWayHour;
    int timeWayMinute;
    int timeArrivalHour;
    int timeArrivalMinute;
};
char printMenu(int n);
void setStaff(poezda*& mas, int& size);
void printText(poezda* mas, int& size);
void textFile(poezda*& mas, int& size);
void textFileAll(poezda*& mas, int& size);
void textByHund(poezda*& mas, int& size);
void sort(poezda* mas, int size, char field);
printText.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "module.h"
 
 
void printText(poezda* mas, int& size){
    if(mas != NULL){
        system("cls");
       // cout <<"№:--Страниц:-------Автор------------Проиизведение----Цена---Рекомендация\n";
 
        for(int i = 0;i < size; ++i){
           printf("%d /: %d %s %d /: %d %d /: %d ", mas[i].hour, mas[i].minute, mas[i].city, mas[i].timeArrivalHour,
                mas[i].timeArrivalMinute, mas[i].timeWayHour, mas[i].timeWayMinute);
        cout << "-----------------------------------------------------------------------\n";
        }
    }
}
textFileAll.h
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
#include "module.h"
 
void textFileAll(poezda *& mas, int& size){ 
    system("cls");
    FILE* in;
    if((in = fopen("file01.txt", "r")) != NULL){
        size = 0;
          
        while(!feof(in)){
               poezda np={0};
            fscanf(in, "%d %d %s %d", &np.hour, &np.minute, np.city, &np.timeArrivalHour);
            poezda* tmp = new poezda[size + 1];
            for(int j = 0;j < size; ++j)
                        tmp[j]=mas[j];            
                    tmp[size] = np;
                    
            if (mas != NULL)
                delete [] mas;
            mas = tmp;
          //  mas[size] = b;
            ++size;
        }
 
        fclose(in);
    }
    else
        cout << "Файла с базой в папке нету!" << endl;
}
Добавлено через 5 минут
Цитата Сообщение от dmmax Посмотреть сообщение
но не вижу в этом смысла
действительно. Лучше переписать весь код и проверять работоспособность каждой его части отдельно, чтобы знать, где ошибки.
0
dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
09.12.2012, 21:08  [ТС] #3
Croessmah, спасибо вам, хоть вы ответили Ошибок нашел сам много, но некоторые функции до сех не работают
0
Croessmah
Пришел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,998
Записей в блоге: 3
Завершенные тесты: 1
09.12.2012, 21:22 #4
Цитата Сообщение от dmmax Посмотреть сообщение
Ошибок нашел сам много, но некоторые функции до сех не работают
В программе много чего не хватает, скорее всего, поэтому и не работают.
0
dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
09.12.2012, 21:31  [ТС] #5
Цитата Сообщение от Croessmah Посмотреть сообщение
В программе много чего не хватает, скорее всего, поэтому и не работают.
на данный момент работает уже вывод построчно, т.е. определено кол-во строк читает, но завершается аварийно, когда я загружаю файл полностью.
0
09.12.2012, 21:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 21:31
Привет! Вот еще темы с ответами:

Сравнение C++ с С# - C++
Какие существенные достоинства и недостатки C++ есть по сравнению с C# ?

Сравнение чисел - C++
Есть у меня 2 числа: 3.1000000000000017 и 3.1000000000000000 Они как бы равны, но не получается их в блоке if сравнить. Как их...

сравнение файлов - C++
Нужно доделать программу вот по такому заданию Даны символьные файлы f и s . Записать в файл h все начальные совпадающие компоненты...

Побитовое сравнение - C++
Дан массив с десятичными числами, как сравнить (2ой,3ий,4ый и т.д.) бит 7 элемента с 1 элементом.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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