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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 23:30   #1
Lulusso
Новичок
Джуниор
 
Регистрация: 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);
}
}
Lulusso вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на файлы Janetka Помощь студентам 66 31.08.2010 10:20
Задача на файлы Arturko Помощь студентам 7 11.02.2009 22:54
Дин.стуктуры и файлы. pascal velgelmina Помощь студентам 5 07.06.2007 21:54