Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739

Программисты для вас

05.11.2009, 18:51. Показов 5177. Ответов 38

Студворк — интернет-сервис помощи студентам
Данные о продукции, выпускаемой машиностроительным предприятием, оформлены в виде массива объединений. написать программу ,которая вводит данные в память машины в диалоге, выводит данные виде таблицы и выполняет указанное задание
Без использования указателей на объедение
Вот такие поля там
№ Наименование Масса Номер по каталогу Цена Дата выпуска
Задание
Отсортировать данные о единицах выпускаемой продукции дате выпуска в порядке не убыванияю.
Программисты пожалуйста помогите я не могу сделать
Дата выпуска имеет такой формат 12.06.1990
Лабораторная работа по обьеденением я ее уже 2 недели думаю как делать и не получается даже придумать ничего как по дате сортировать помогите пожалуйста заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2009, 18:51
Ответы с готовыми решениями:

Программисты, спрашиваю вас как знающих, можете детально объяснить один код?
То что мне известно- я уже закоментировал(В основном вопроссы к структурам). //|============| //| Header Fiels | //| ...

Написать запрос для вывода для Вас легко, а я пока учусь
Написать запрос для вывода: 1. названия департамента, в котором есть пользователь с UserID = 15 2. списка департаментов...

HTML СSS легкий для вас, а для меня 3тий день гемороя
Подскажите как такое сделать на <div class> помогите пожалуйста((( я лопну от злости скоро... Уроки посмотрел на не чего не получается...

38
 Аватар для denver
1612 / 282 / 5
Регистрация: 19.09.2009
Сообщений: 700
05.11.2009, 18:58
Цитата Сообщение от sergeu90 Посмотреть сообщение
я ее уже 2 недели думаю как делать
хоть наработки за две недели какие нибудь сделал?
1
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
05.11.2009, 19:02
sergeu90,
в объединении все данных размечаются с одного и того же адреса. это означает что если ты изменишь одно поле, то также поменяются все остальные.

по-моему тот, кто давал тебе задание, не совсем представляет себе, что такое объединение.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
05.11.2009, 19:06  [ТС]
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define STR_LEN 255
#define MAX_PRODUCTS 100
 
typedef struct {
        int day;
        int month;
        int year;
} Date_t;
 
typedef struct {
        int cat_id; /* номер по каталогу */
        char name[STR_LEN]; /* наименование */
        double weight; /* масса */
        double price; /* цена */
        Date_t date; /* дата выпуска */
} Product_t;
 
/* сравнение дат выпуска по возрастанию */
int cmpByDateAsc ( const void *first, const void *second ) {
        Date_t a = (*(Product_t *)first).date;
        Date_t b = (*(Product_t *)second).date;
        if ( a.year == b.year ) {
                if ( a.month == b.month ){
                        return (a.day - b.day);
                }
                else {
                        return (a.month - b.month);
                }
        }
        else {
                return (a.year - b.year);
        }
}
 
/* сравнение дат выпуска по убыванию */
int cmpByDateDesc ( const void *first, const void *second ) {
        return cmpByDateAsc(second, first);
}
 
/* вывод содержимого структуры Product_t */
void prnProduct(Product_t p){
        printf("Catalog id:\t\t%d\n", p.cat_id);
        printf("Name:\t\t\t%s\n", p.name);
        printf("Weight:\t\t\t%.3f\n", p.weight);
        printf("Price:\t\t\t%.2f\n", p.price);
        printf("Manufactured date:\t%02d.%02d.%4d\n", p.date.day, p.date.month, p.date.year);
}
 
/* ввод значений структуры Product_t с незатейливой проверкой данных */
Product_t getProduct(void){
        Product_t p;
        char *correct = "yes";
        char buf[STR_LEN];
        int good_date = 0;
        do {
                printf("Catalog id: ");
                fgets(buf, STR_LEN, stdin);
                p.cat_id = atoi(buf);
                printf("Name: ");
                fgets(buf, STR_LEN, stdin); /* на случай, если название из двух+ слов */
                buf[strlen(buf) - 1] = '\0'; /* удалить \n */
                strcpy(p.name, buf);
                printf("Weight: ");
                fgets(buf, STR_LEN, stdin);
                p.weight = atof(buf);
                printf("Price: ");
                fgets(buf, STR_LEN, stdin);
                p.price = atof(buf);
                do {
                        printf("Date (dd.mm.yyyy): ");
                        fgets(buf, STR_LEN, stdin);
                        if ( sscanf(buf, "%d.%d.%d", &p.date.day, &p.date.month, &p.date.year) == 3 )
                                good_date = ( p.date.day >= 1 && p.date.day <= 31 && p.date.month >= 1 &&
                                                        p.date.month <= 12 && p.date.year >= 1970 && p.date.year <= 2029 );
                        else
                                good_date = 0;
                } while ( !good_date );
                printf("\nConfirm values:\n");
                prnProduct(p);
                printf("It is correct? (yes/no): ");
                fgets(buf, STR_LEN, stdin);
                buf[strlen(buf) - 1] = 0;
        } while ( strcmp(buf, correct) );
        return p;
}
                
int main ( void ) {
        Product_t products[MAX_PRODUCTS];
        int i, count;
        char buf[STR_LEN];
        
        count = 0;
        while ( count < MAX_PRODUCTS ) {
                printf("\nProducts left: %d\nEnter a new one:\n", MAX_PRODUCTS - count);
                products[count] = getProduct();
                count++;
                printf("Continue? (yes/no): ");
                fgets(buf, STR_LEN, stdin);
                if ( strcmp(buf, "yes\n") != 0 )
                        break;
        }
        
        if ( !count ){
                printf("No products entered!\n");
                exit(1);
        }
        
        printf("Unsorted:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        qsort(products, count, sizeof(Product_t), cmpByDateAsc);
        printf("By date ascendant:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        qsort(products, count, sizeof(Product_t), cmpByDateDesc);
        printf("By date descendant:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        return 0;
}
Добавлено через 57 секунд
тут используются файлы а мы их не проходили еще помогите сделать хотябы через структуру только полегче код без всяких заворотов и проверок пожалуйста
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.11.2009, 19:07
Цитата Сообщение от sergeu90 Посмотреть сообщение
я ее уже 2 недели думаю как делать и не получается даже придумать ничего
Хм... "2 недели" неделю назад было. Три уже...
Да и програмка до боли знакомая...
1
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
05.11.2009, 19:08
sergeu90,

...
struct Date_t;
struct Product_t;

...

А. Ну так всё гораздо проще. Это ты не знаешь что есть структура, а что - объединение... За две недели можно были бы и подучиться ((:
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
05.11.2009, 19:26  [ТС]
мне не зачет не поставили сказал сделать а я не знаю дал время

Добавлено через 3 минуты
поможете написать простую програмку для техникума не использовать файлы,иначе завал и зачета не будет время дали маленькое

Добавлено через 12 минут
ну помогите пожалуйста мне не к кому обратится больше,заранее спасибо всем кто попытается помочь мне
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.11.2009, 19:31
Цитата Сообщение от sergeu90 Посмотреть сообщение
не использовать файлы
Где ты там файлы-то увидел?
fgets(buf, STR_LEN, stdin);
Тут разве что... Так stdin - стандартный файл ввода. Ну нравится мне так ввод читать, к тому же '\n' из потока удаляет. Если сама функция fgets так сильно смущает, можешь ввод каким-нибудь scanf читать, но опять же будет заморок с символами новой строки...
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
05.11.2009, 19:33  [ТС]
Мне не поверят что я писал мне надо что бы просто ввести записи в поля и просортировать их без всяких проверок простую програмку пожалуйста если такое можно,я бы просто ему показал и все что бы он ввел и программка просто сортировку сделала,плиззззззззззззз
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.11.2009, 19:45
Там проверок-то... Разве что дату совсем невменяемую делать не даёт (31 февраля вполне прокатит ), да переспрашивает перед тем, как в массив вставлять... Бо'льшая часть как-раз про сортировку. А как проще сделать сортировку структур по полю, которое само по себе - тоже структура, у меня никаких идей, если честно... qsort - самый простой способ. В противном случае ещё и алгоритм сортировки пришлось бы писать, а так только функцию сравнения... Мой тебе совет - перепиши вывод транслитом, поудаляй отступы, чтоб страшней смотрелось, и вперёд! Если на глазах у препода скомпилируешь, да ещё и заработает - процентов 60, что прокатит...
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
05.11.2009, 19:48  [ТС]
я там не могу понять саму функцию сортировки оставить ладно можно но fgets точно не прокатит и там слишком много другого если можешь перепиши ту задачу без лишних проверок и скинь плиззз только сортировку и ввод оставь,если сможешь а то я не понимаю плизззззз,если не ты,тут мне никто не хочет помогать
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.11.2009, 06:55
это начало, просто ввод
Вложения
Тип файла: zip t.zip (677 байт, 24 просмотров)
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.11.2009, 07:30
забыл там одну вещь
Вложения
Тип файла: zip t.zip (695 байт, 27 просмотров)
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
06.11.2009, 15:40  [ТС]
а сортировку.как делать тут не понять,мне напиши если сможешь?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2009, 07:41
дальше выводит введённые машины (добавил метки, которые можно использовать для определения машины)
Вложения
Тип файла: zip t.zip (901 байт, 23 просмотров)
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
07.11.2009, 09:48  [ТС]
так там сортировки нету самой самое главное,напиши сортировку
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2009, 09:56
сортирует по номеру, для трёх объединений
Вложения
Тип файла: zip t.zip (1.1 Кб, 21 просмотров)
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
07.11.2009, 10:06  [ТС]
у меня же сортировка по дате выпуска

Добавлено через 8 минут
напиши мне код что бы я мог через обьявление ее здать как лабу что бы ввел записи и они отсортировались,плизззззз
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2009, 10:24
по дате
Вложения
Тип файла: zip t.zip (1.3 Кб, 21 просмотров)
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
08.11.2009, 04:26
она там неправильно сортирует
Вложения
Тип файла: zip t.zip (1.2 Кб, 27 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2009, 04:26
Помогаю со студенческими работами здесь

Простенькая задачка для вас и гигантский шаг для меня) нужно решение с формулой
Здравствуйте. Необходимо создать заявку с выпадающим списком и необходимыми характеристиками в смежных ячейках. например выбираем...

Кто понимает теорию графов? Для вас может эта задача разминка для мозга
Не понимаю как понять это.. Удалил вложение

Легкотня для вас
Я только начал и не могу решить легкую задачу! Нужно создать переменные $a=20 и $b=17. Просуммировать их, а результат присвоить переменной...

Для вас легко
Не могу решить задачку вот собственно и сама задача: Услуги телефонной сети оплачиваются по следующему правилу: за разговор до А минут...

Оптимизаторы! Вопрос для ВАС.
Goolge По запросам &quot;скидки в Петербурге&quot; - по запросу №2- http://www.google.ru/search?complete...5&amp;start=0&amp;sa=N -...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru