Re: Объединения
Добавлено: 05 апр 2016, 18:05
typedef в этом и был глюк (случайно удалил)... да так теперь все работает
Код: Выделить всё
void main (void)
{
DATA_RECORD data[10] = {0};
DATE release = {12, 6, 1999};
InitRecord(data[0], 1, "Шкворень", 36.00, 253691, 85.00, release);
Table(data);
}
void Table( DATA_RECORD data){
for (i = 0; i < CountRow; i++){
if (data[i].count.number == NULL){
break;
}
/*
тут выводиться таблица
*/
}
}
Код: Выделить всё
void main (void)
{
DATA_RECORD data[10] = {0};
DATE release = {12, 6, 1999};
InitRecord(data[0], 1, "Шкворень", 36.00, 253691, 85.00, release);
Table(data);
}
void Table( DATA_RECORD data){
for (i = 0; i < CountRow; i++){
if (data[i].count.number == NULL){
break;
}
/*
тут строка из структуры
*/
}
}
Код: Выделить всё
void Table(const DATA_RECORD* data, int CountRow)
{
for (int i = 0; i < CountRow; i++)
{
if (data[i].count.number == 0)
{
break;
}
/*
тут выводиться таблица
*/
}
}
Код: Выделить всё
Table(data, 10);
Код: Выделить всё
Сравнить года:
Если не равны, то порядок установлен.
Иначе сравнить месяцы:
Если не равны, то порядок установлен.
Иначе сравнить дни:
Если не равны, то порядок установлен.
Иначе даты равны.
Код: Выделить всё
if (record.release.date.Year > year || (record.release.date.Year == year&&record.release.date.Month > mounth) || (record.release.date.Year == year&&record.release.date.Month == mounth&&record.release.date.Day > day)){
/*
выводим строку из структуры
*/
}
Код: Выделить всё
void addRecord(DATA_RECORD *data){
system("cls");
int i;
int CountRow_ = 0;
char *name_;
float weight_;
long index_;
float price_;
int day_;
int mount_;
int year_;
int dayMount[12] = { 31, 28, 31, 30, 31, 20, 31, 31, 30, 31, 30, 31 };
bool err = false;
for (i = 0; i < CountRow; i++){
if (data[i].count.number != NULL){
CountRow_++;
}
}
if (CountRow_ < CountRow){
printf("Добавить новую запись\n");
printf("Наименование:");
scanf("%s", &name_);
printf("Масса:");
scanf("%f", &weight_);
printf("Номер по каталогу:");
scanf("%d:", &index_);
printf("Цена:");
scanf("%f", &price_);
do{
if (err == true){
printf("ошибка при введении даты.");
err = false;
}
printf("Дата выпуска\n");
printf("день:");
scanf("%d", &day_);
printf("месяц:");
scanf("%d", &mount_);
printf("год:");
scanf("%d", &year_);
if (year_ % 4 == 0){
dayMount[1] = 29;
}
if (mount_ <= 0 || mount_ > 12){
err = true;
}
else{
if (day_ <= 0 || day > dayMount[mount_ - 1]){
err = true;
}
}
} while (err == true);
InitRecord(data[CountRow_], (long)CountRow_+1 , name_, weight_, index_, price_, DATE_s{ day, mount_, year_ });
}
}
Это оно и есть.Kazanove писал(а):а если так
А поточнее можно, что за ошибка? Дебагер не помогает?Kazanove писал(а):где ошибка при добавление данных