Форум программистов, компьютерный форум CyberForum.ru

Лабораторная "Работа с файлами и структурами данных" - обсуждение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шифровка табличной заменой http://www.cyberforum.ru/cpp-beginners/thread144566.html
Помогите написать на с++ Один из простейших способов шифровки текста состоит в том, что каждой букве алфавита ставится в соответствии другая буква( ее шифр), выбор которой произволен. составьте свою шифровальную таблицу, разработайте способ ее представления, затем напишите программу, зашифровывающую и расшифровывающую текст.
C++ Виртуальные функции Объясните пожалуйста зачем нужны чисто виртуальные функции? http://www.cyberforum.ru/cpp-beginners/thread144550.html
встроенные функции (inline) C++
скажите что значит встроенные функции? не пойму. class a { int x,y; public: void get_x(int i,int j) //как я понимаю это встроенная функция, а тогда что такое inline функция? { x = i; y = j;
Вычислить биссектрисы треугольника C++
Составить программу, которая вычисляет биссектрисы треугольника со сторонами а, b, с по формулам:
C++ очень нужно решить на с++ http://www.cyberforum.ru/cpp-beginners/thread144530.html
1)Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a > b) и углом α при большем основании 2)Из трех данных чисел выбрать наименьшее и наибольшее и посчитать их разницу и среднее арифметическое. 3)Найти сумму четных чисел и произведение нечетных от 1 до n. 4)Найти сумму ряда с точностью e=10-4, общий член которого an=10n/n! 5)Найдите номер первого члена последовательности...
C++ Нахождение наибольшего общего делителя двух натуральных чисел 1)Используя функцию NOD нахождения наибольшего общего делителя двух натуральных чисел, сократить данную обычную дробь M / N. / / Возвращать наибольший общий делитель двух чисел int NOD(int vl, int v2) { while (v2) { int temp=v2; v2=vl%v2; vl=temp; подробнее

Показать сообщение отдельно
Ярослав91
5 / 5 / 0
Регистрация: 21.12.2009
Сообщений: 69
12.06.2010, 16:20     Лабораторная "Работа с файлами и структурами данных" - обсуждение
Здравствуйте, Есть такое задание:

Составить программу со следующими свойствами:

1)вводится неограниченное количество строк таблицы;
2)выводится таблица на экран;
3)сохранения таблицы в файл;
4)чтения таблицы из файла;
5)все данные таблицы хранятся при помощи динамических структур.

и есть код:
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
#include<iostream.h>
struct node {
    char *os, *subd;
    double minop, minvp;
    int cost;
    bool nt;
    node *next;
};
int main() {
    node *phead, *p;
    phead = new (node);
    p = phead;
    cout
            << "ввод строк, для продолжения ввода - 1;для окончания - любой другой символ ";
    int n = 2, i = 1;
    for (i; i < n; i++) {
        cout << "\n" << i << " ОС" << endl;
        p->os = new char;
        cin >> p-> os;
        cout << "\n" << i << " СУБД" << endl;
        p-> subd = new char;
        cin >> p->subd;
        cout << "\n" << i << " Мин. ОП." << endl;
        cin >> p-> minop;
        cout << "\n" << i << " Мин. ВП." << endl;
        cin >> p-> minvp;
        cout << "\n" << i << " Цена" << endl;
        cin >> p -> cost;
        p->next = new node;
        cout << "следующая строка?" << endl;
        cin >> p->nt;
        if (p->nt != 1) {
            p->next = NULL;
            n = i;
        } else {
            p = p->next;
            ++n;
        }
 
    }
    FILE *f = fopen("таблица.txt", "wt");
    if (f == 0) {
        perror("Не могу открыть файл для записи");
        return 1;
    }
    char string_1[] = "Конфигурация програмных средств информационных систем";
    char string_2[] =
            "ОС       СУБД      Мин. ОП.       Мин. ВП.        Цена";
    char string_3[] = "";
    fprintf(f, "%s \n", string_1);
    fprintf(f, "%s \n", string_2);
    for (p = phead; p != NULL; p = p->next) {
        fprintf(f, "%s", p->os);
        fprintf(f, "%s \t ", string_3);
        fprintf(f, "%s", p->subd);
        fprintf(f, "%s \t\t", string_3);
        fprintf(f, "%.lf", p->minop);
        fprintf(f, "%s \t\t", string_3);
        fprintf(f, "%.lf", p->minvp);
        fprintf(f, "%s \t", string_3);
        fprintf(f, "%d", p->cost);
        fprintf(f, "%s \n", string_3);
 
        FILE *f = fopen("таблица.txt", "wt");
    }
 
    fclose (f);
    FILE *g = fopen("таблица.txt", "rt");
    char *line, *result;
    line = new char;
    while (result != NULL) {
        result = fgets(line, 100, g);
        cout << result;
    }
    fclose(g);
    return 0;
 
}
хотелось бы услышать комментарии по нему, что может быть не совсем верно, что можно упростить и т.д... (работу еще не сдал, но все вроде бы работает как надо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru