Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 24
1

Текстовые файлы (На основе таблицы, содержащей данные об услугах, оказываемых компьютерной фирмой написать программу)

11.02.2013, 16:55. Показов 1182. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Само задание: На основе таблицы, содержащей данные об услугах, оказываемых компьютерной фирмой (название услуги, её стоимость, налог на добавленную стоимость(6%), срок выполнения)
написать программу, которая вводит эту информацию и печатает следующие данные: таблицу, расположив названия услуг в порядке неубывания их срока выполнения.
(Т.е. файл с входными данными имеет вид | услуга | стоимость | ндс | срок |)

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

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
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <Windows.h>
 
struct usluga {
    char nazvanie[10];
    float stoimost;
    float nds;
    int srok;
};
 
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    FILE *in, *out;
    int kolichestvo, i=1, flag;
    usluga *tablica, temp;
    char strend;
 
    in = fopen ("in.txt", "r");
    out = fopen ("out.txt", "w");
 
    if ((in = fopen ("in.txt", "r")) != NULL)
    {
        while (!feof (in))
        {
            fscanf (in, "%c", &strend);
            if (strend == '\n')
                i++;
        }
 
        kolichestvo = i;
        tablica = new usluga[kolichestvo];
 
        fclose (in);
        in = fopen ("in.txt", "r");
 
        i = 0;
        while (!feof (in))
        {
            fscanf (in, "%s", &tablica[i].nazvanie);
            fscanf (in, "%f", &tablica[i].stoimost);
            tablica[i].nds = tablica[i].stoimost * 0.06;
            fscanf (in, "%d", &tablica[i].srok);
            i++;
        }
    }
 
    else
    {
        printf ("\n Ошибка!");
        getch();
        return 0;
    }
 
    do
    {
        flag = 1;
        for (i = 0; i < kolichestvo - 1; i++)
            if (tablica[i].srok > tablica[i+1].srok)
            {
                flag = 0;
                temp = tablica[i];
                tablica[i] = tablica[i+1];
                tablica[i+1] = temp;
            }
    } while (!flag);
 
    for (i = 0; i < kolichestvo; i++)
        fprintf (out, "%s\t%.2f\t%.2f\t%d\n", tablica[i].nazvanie, tablica[i].stoimost, tablica[i].nds, tablica[i].srok);
    
    printf ("\n Успешно");
 
    getch();
    fclose (in);
    fclose (out);
    delete [] tablica;
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2013, 16:55
Ответы с готовыми решениями:

База данных для учета услуг, оказываемых юридической консультационной фирмой
Помогите составить запросы и сделать формы.

Написать программу на текстовые файлы и массивы строк
Помогите с программой. В файле хранятся названия фирм. Каждая строка запись об отдельной фирме....

Написать программу, которая позволяет просматривать текстовые файлы
Написать программу, которая позволяет просматривать текстовые файлы...

Текстовые файлы. Написать программу сравнения двух файлов
написать программу сравнения двух файлов: должна печататься первая строка, в которой они...

0
11.02.2013, 16:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2013, 16:55
Помогаю со студенческими работами здесь

Строковые данные и текстовые файлы
Всем привет! Ребят, помогите, пожалуйста, кто что знает, а то я в тупике.. Дали задание, нужно...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки))
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого...

Написать программу, которая вводит фактические данные из таблицы
Написать программу, которая вводит фактические данные из таблицы, и выводит на экран таблицу,...

По данным таблицы, содержащей информацию о работниках предприятия, упорядочить данные в порядке возрастания
Очень срочно нужно. Завтра нужно сдать. Помогите, пожалуйста:(

Написать программу, которая читает данные из файла и отображает их на экране в виде таблицы.
Разработать структуру типа &quot;запись&quot; для хранения информации о пациентах больницы. Запись должна...

Данные об услугах в текущем месяце.
Запрос на данные об услугах в текущем месяце. как задать текущий месяц в условие отбора?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru