Структуры

vladis222

Active Member
06.12.2011
31
0
#1
Здравствуйте! Подскажите, пожалуйста, тут у меня задание в лабораторной со структурами. Нужно представить структурой таблицу

Вид
продукции Единицы
измерения 1928 1940 1945 1958
Генераторы и турбины тыс. кВт 75 468 265 5186
Электродвигатели
Мощностью свыше 100 кВт тыс. шт. 0.4 3.1 3.2 16.3
Электродвигатели
Мощностью до 100 кВт тыс. шт. 32.8 259.3 110.7 2215
производство продукции электротехнической промышленности.
и нужно ответить на вопросы 1)абсолютный прирост производства какой продукции за период 1928-1940 гг был минимальным(вид продукции, объем производства в эти годы,единица измерения, прирост)
2)Производство каких видов продукции электротехнической промышленности в 1945 году было больше К тыс шт?(вид продукции, объем производства в 1945 году, единицы измерения)
Дело в том, что методичка у меня допотопная(1999 год) и там не очень понятно с чего начинать выполнение лабы. то ли с объявления структуры, то ли с предложения пользователю ввести данные, то ли с введения так называемой шапки структуры. В связи с этим я хотел спросить по поводу порядка выполнения лабы, с чего начинать лабу и как нужно по порядку все выполнять, и еще, для ответов на вопросы лабу нужно самому составлять функцию ил можно использовать готовые?
Если таблица непонятна, можно посмотреть в файле таблица данных.
 

Вложения

R

rrrFer

Гость
#2
прикрепленные файлы просмотреть не удается: "Некоторые требуемые файлы отсутствуют. Если вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова."

Начинать выполнение лабы надо, скорее всего, с описания структур
 

vladis222

Active Member
06.12.2011
31
0
#3
прикрепленные файлы просмотреть не удается: "Некоторые требуемые файлы отсутствуют. Если вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова."

Начинать выполнение лабы надо, скорее всего, с описания структур
C++:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#include <windows.h>
#include <locale>
#define N 4
#define LN 40
#define EI 20
#define LG_I 66
#define LG_V 51
int main()
{
setlocale(LC_ALL, "rus");
struct production /*структурный тип для начальной таблицы*/
{ char name [LN+1];
char ed_izm [EI+1];
float year_1928;
float year_1940;
float year_1945;
float year_1958;
};
/*_____________________________________Начальные данные_____________________*/
int n;
struct production c[N];
/*_____________________________________Результаты________________________________
_*/
struct
{
char name [LN+1];
float v_1928;
float v_1940;
char ed_izm;
float min_prirost;
};
/*____________________________________Промежуточные данные__________________________*/
int i;
float prirost; /*Прирост для i производства*/
int pr;		/*Признак правильности введенных данных*/
float r;		/*Переменная для введения данных*/
char sg_icx[LG_I+1]={"--------------------------------------------------------"}; /*Отчеркивание для введения начальной таблицы*/
char sg_VIX[LG_V+1]={"---------------------------------------------------"}; /*Отчеркивание для введения таблицы-результата*/

/*_____________________________________________Проверка ограничений_________________________________*/
/*---------------------------------------------Для количества видов продукции в таблице-----------------------*/
do
{printf ("Введите количество видов продукции не больше чем %d):",N);
scanf ("%d", &n);
if(n<0||n>N)
{pr=1; printf("Вы ошиблись!\n");
}
else pr=0;
}
while(pr);

/*---------------------------------------------Для элементов таблицы данных-------------------------------------------*/
printf(" Введите данные о видах продукции\n");
printf("%s\n",sg_icx);
printf("!NN! Вид продукции ! Единицы измерения !");
printf("!1928 year ! 1940 year ! 1945 year ! 1958 year !\n");
printf ("%s\n", sg_icx);
do
{for(i=0;i<N;i++)
{printf ("! %d", i+1);
scanf ("%s", c[i].name);
scanf ("%s", c[i].ed_izm);
scanf ("%f", &r); c[i].year_1928=r;
scanf ("%f", &r); c[i].year_1940=r;
scanf ("%f", &r); c[i].year_1945=r;
scanf ("%f", &r); c[i].year_1958=r;
if(c[i].year_1928<0||c[i].year_1940<0||c[i].year_1945<0||c[i].year_1958<0)
{pr=1;
printf ("Вы ошиблись! Повторите ввод\n");
i--;
}
else pr=0;
}
}
while(pr);
printf(" %s\n", sg_icx);
Тут есть какие то ошибки структура вводится неправильно. Подскажите, ПОЖАЛУЙСТА, ГДЕ Я МОГ ОШИБИТЬСЯ?
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#4
Что значит "какие-то ошибки" ? Не правильно вводится - это как, и как должно быть правильно? Это же ты писал программу!?
 

vladis222

Active Member
06.12.2011
31
0
#5
Что значит "какие-то ошибки" ? Не правильно вводится - это как, и как должно быть правильно? Это же ты писал программу!?
Просто вначале оно пишет"Введите количество видов продукции не больше 4. Я ввожу 4. Затем Начинаю вводить именно названия самих видов продукции . И после введенного вида оно пишет "Вы ошиблись повторите ввод"

Добавлено:
Что значит "какие-то ошибки" ? Не правильно вводится - это как, и как должно быть правильно? Это же ты писал программу!?
Просто вначале оно пишет"Введите количество видов продукции не больше 4. Я ввожу 4. Затем Начинаю вводить именно названия самих видов продукции . И после введенного вида оно пишет "Вы ошиблись повторите ввод"