|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2011, 23:30 | #1 |
Новичок
Джуниор
Регистрация: 12.12.2011
Сообщений: 1
|
Задача на стуктуры и файлы
Задача:
Разработать программу определения процента выхода годных изделий на основе актов приема ОТК. Данные о тестируемых партиях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа. В программе необходимо разработать простейшее меню с использованием пользовательских функций: • Инициализация структуры • Просмотр структуры (в виде таблицы) • Сортировка записей (на основе заданного критерия сортировки) • Сохранение структуры (таблицы) в файл • Чтение структуры из файла • Выход Вот тот кусок кода, который удалось набросать. Он жалкий, но всё же.. Прошу как-нибудь это исправить. #include "stdafx.h" #include <iostream> #include <stdio.h> #include <string.h> #include <windows.h> using namespace std; struct structure { int kol; int kolplus; int kolminus; float per; }; struct structure tovar[100]; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); int request; FILE *f; if(!(f=fopen("tovar.txt","a+"))) { printf("Ошибка создания файла\n"); return 0; } else{//!!!!!!!!!!! printf("Выберите действие\n"); printf(" 1 - Ввод новой информации\n"); printf(" 2 - Вывод информации на экран\n"); printf(" 3 - Определение процента годных изделий (начиная с первого поступления)\n"); printf(" 4 - Выход\n? "); scanf("%d", &request); while (request != 4) { fscanf(f, "%d%d%d", &kol, &kolplus, &kolminus); switch (request) { case 1://///// printf("Введите общее кол-во полученного товара: "); scanf("%d", &tovar.kol[0]); if(!tovar.kol[0]) break; printf("\n Введите кол-во годного товара: "); scanf("%d", &tovar.kolplus[0]); if(!tovar.kolplus[0]) break; printf("\n Введите кол-во негодного товара: "); scanf("%d", &tovar.kolminus[0]); if(!tovar.kolminus[0]) break; fwrite(&tovar, 1,sizeof(tovar), f); fclose(f); break; case 2://///// if ((f = fopen("tovar.txt", "a+")) == NULL) printf("Невозможно открыть файл\n") ; else { printf("%-10s%-13s%s\n", "Всего", "Годный", "Негодный"); fscanf(f, "%d%d%d", &kol, &kolplus, &kolminus); while (!feof(f)) { printf("%-10d%-13d%-7d\n", kol, kolplus, kolminus); fscanf(f, "%d%d%d", &kol, &kolplus, &kolminus); } fclose(f); break; ///////////////////////////////////////// case 3: if ((f = fopen("tovar.txt", "a+")) == NULL) printf("Невозможно открыть файл\n") ; else { per=kolplus/kolminus*100 printf("%-10s%-13s\n", "Всего", "Процент годных"); fscanf(f, "%d%d", &kol, &kolplus, &kolminus); while (!feof(f)) { printf("%-10d%-13d%-7d\n", kol, kolplus, kolminus); fscanf(f, "%d%d%d", &kol, &kolplus, &kolminus); } fclose(f); } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на файлы | Janetka | Помощь студентам | 66 | 31.08.2010 10:20 |
Задача на файлы | Arturko | Помощь студентам | 7 | 11.02.2009 22:54 |
Дин.стуктуры и файлы. pascal | velgelmina | Помощь студентам | 5 | 07.06.2007 21:54 |