Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 18:34   #1
bilochka
Пользователь
 
Регистрация: 10.02.2013
Сообщений: 12
По умолчанию язык С составления списка заказчиков, которые заказали наибольшее число товаров каждого типа

как задать условие функции "Составить список заказчиков, которые заказали наибольшее число товаров каждого типа"
заранее спасибо
вот всё что я сделала, какую нужно создать функцию чтобы выполнялось условие...заранее спасибо
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
struct MeasureDevice {
// Структура для прибора
int deviceNumber;
char deviceName[20];
float devicePrice;
int voltage;//напряжение
float amperage;//сила тока
int frequency;//частота
} devices[N];
struct Customer {
// Структура для заказчика
char customerName[30];
char address[30];
};
struct order {
// Структура для заказа
struct Customer client;
char productName[N][30];
int amount[N];
int kol;//количество разных видов приборов
} zakaz[N];
int zapis();//запись данных в файл
int zak();//форма заказа
int print();//Вывод данных
int vivod_zak(); //список заказчиков, которые заказали наибольшее количество товаров каждого типа
int pn;//Кол-во приборов, для ввода
int main()
{
int menu;//Меню
puts("\t\tProgramma rabotyi s faylami");
puts("\n\n \t\tVozmozhnyie deystviya :");
puts("\t1) Zapisat dannyie o pribore .");
puts("\t 2) Sozdat zakaz.");
puts("\t3) Vyivod dannyih .");
puts("\t4) spisok zakazchikov, kotorye zakazali naibol'shee kolichestvo tovarov kazhdogo tipa.");
puts("\t\t0) Zavershit rabotyi");
while (1)
{
printf("\n\n\t\tVvedite nomer zadachi : ");
scanf("%d",&menu);
switch(menu)
{
case 1 : zapis(); break;
case 2 : zak() ; break;
//case 3 : print(); break;
//case 4 : vivod_zak(); break;
case 0 : exit(1); break;
default:
if (menu!=0)
puts("\n\n \t\tVveden nepravilnyiy nomer zadachi!");
}
}
}
int zapis(){
FILE *outFile;
int i;
if ( ( outFile = fopen("devices.dat", "wb") ) == NULL ) {
printf("\nNevozmozhno otkryit fayl dlya zapisi!\n");
return -1;
}
printf("\n\tVvedite kolichestvo priborov, informatsiyu o kotoryih hotite vvesti : ");
scanf("%d",&pn);getchar();
for (i=0; i<pn; i++)
{
printf("\nNazvanie : ");gets(devices[i].deviceName);
printf("Stoimost (v grn) : "); scanf("%f", &devices[i].devicePrice);
printf("Naprjazhenie na istochnike pitanija:\n"); scanf("%d", &devices[i].voltage);
printf("Sila toka na istochnike pitanija:\n"); scanf("%f", &devices[i].amperage);
printf("Chastota na istochnike:\n"); scanf("%d", &devices[i].frequency);
devices[i].deviceNumber=i+1;
}
fwrite(&devices, sizeof(struct MeasureDevice), pn, outFile);
for (i=0; i<pn; i++)
printf("\n\t%20s%9.2fгрн%5d%6f%7d",devices[i].deviceName, devices[i].devicePrice,
devices[i].voltage,devices[i].amperage,
devices[i].frequency);
fclose(outFile);
return 0;
}
int zak(){
FILE *outFile;
int i=0,j=0;
int zn; //Кол-во приборов, для ввода
if ( ( outFile = fopen("devices.dat", "rb") ) == NULL ) {
printf("\nNevozmozhno otkryit fayl dlya zapisi!\n");
return -1;
}
fread(&devices, sizeof(struct MeasureDevice), pn, outFile);
while(devices[i].devicePrice!=0.0){
pn=devices[i].deviceNumber;
i++;
}
printf("\n\tVvedite kolichestvo zakazchikov, informatsiyu o kotoryih hotite vvesti : ");
scanf("%d",&zn);
for (i=0; i<zn; i++)
{ getchar();
printf("\n%d-y zakaz",i+1);
printf("\nNazvanie firmyi: ");gets(zakaz[i].client.customerName);
printf("Adres : "); gets(zakaz[i].client.address);
printf("\n\tVvedite kolichestvo priborov, dlya zakaza : ");
scanf("%d",&zakaz[i].kol);
for(j=0; j<zakaz[i].kol; j++)
{ getchar();
printf("Nazvanie pribora : "); gets(zakaz[i].productName[j]);
printf("Kolichestvo : "); scanf("%d", &zakaz[i].amount[j]);
}
}
fclose(outFile);
return 0;
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.04.2013 в 23:41.
bilochka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать из числа типа real число типа integer? gylayko Помощь студентам 6 15.09.2012 11:41
Придумать список некоторых объектов, например, названия товаров в магазинах; виды полезных ископаемых, которые добывают в различны layl Паскаль, Turbo Pascal, PascalABC.NET 0 04.05.2012 18:09
Программа для составления списка чисел Dina2360 Паскаль, Turbo Pascal, PascalABC.NET 5 23.03.2012 20:56
Найти строку и столбец матрицы, которые содержат наибольшее число нулевых элементов sashechyshka Помощь студентам 2 09.11.2010 20:06
Наибольшее встречающееся число pechenka. Общие вопросы C/C++ 14 01.02.2009 00:08