дана массив структур, в каждой из которых есть элемент bday[3] - массив из 3-х элементов целого типа: 1-й элемент - это день 2-й - месяц 3-й - год
struct note { char name[30]; unsigned long int tele; unsigned int bday[3]; }; note blocknote[7];
Вопрос: есть ли какая-нибудь функция сравнения времени (кроме как тупо условиями по каждому элементу), или функция, которая преобразовает дату в одно число (помнится в делфи была такая)
volvo
5.11.2007 0:54
Есть dostounix(), которая преобразует дату/время в число секунд, прошедших с полуночи 1 Января 1970 но для этого надо пользоваться типами struct date и struct time, а не самодельными велосипедами...
Mishan33
5.11.2007 0:56
ок,спасибо большое, сейчас попробую!
Mishan33
5.11.2007 5:35
вообщем забил я на эту функцию и сделал тупо условиями, но вот только почему то результат оставляет желать лучшего, никак не поддается, помогите найти ошибку... ах да, собсна сама задача:
Описать структуру с именем Note, содержащую следующие поля: name-фамилия и имя, tele- номер телефона, bday-день рождения (массив из 3 чисел). Написать программу, выполняющую ввод с клавиатуры данных в массив Blocknote, состоящий из 8 элементов типа Note. Записи должны быть упорядочены по датам дней рождения. Вывести на экран полученный результат.
а вот мое решение (Dev C++):
#include <cstdlib> #include <iostream>
using namespace std;
struct note { char name[30]; unsigned long int tele; int b_day[3]; }; const int msize=2; note blocknote[msize]; char *tmp; int minc,minn,mmounth,mday,myear,mtele; char mname[30]; int main(int argc, char *argv[]) { for(int i=0;i<msize+1;i++) { cout<<"\nEnter name "<<" ["<<i+1<<"]\n"; cin>>blocknote[i].name; strcat(blocknote[i].name,"\0"); cout<<"Enter tel\n"; cin>>blocknote[i].tele; cout<<"Enter day of bd\n"; cin>>blocknote[i].b_day[0]; cout<<"Enter mounth of bd\n"; cin>>blocknote[i].b_day[1]; cout<<"Enter year of bd\n"; cin>>blocknote[i].b_day[2]; }
Вот расскажи мне, ты на каком языке вообще пишешь программу? На С++, или на С, но с использованием плюсовых (почему-то) потоков? Если на С, то делай на С все, а не часть. Если на С++, то опиши класс TMyTime, для которого определи операции сравнения и вывода в поток, и будешь работать с этим классом как с любым другим встроенным типом.
А "спагетти"... Не хочется разбираться в нем, ибо для тебя это все равно, сдать и забыть...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.