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

Работа с текстовым файлом. Удаление строки. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив размером 10 на 10, заполненный квадратами чисел. Объяснить код. http://www.cyberforum.ru/cpp-beginners/thread916978.html
Создать массив размером 10 на 10 и заполнить его квадратами чисел.(первый индекс обозн. десятки, второй единицы). int main() { int m; for(int i=0;i<10;i++) { for(int u=0;u<10;u++) {
C++ Посчитать сколько двоичных единиц содержит каждое число массива. Всем доброго дня! Вообщем дали на практике задание: Дан цифровой массив, посчитать сколько двоичных единиц содержит каждое число. Помогите пожалуйста. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread916955.html
Безымянный аргумент функции C++
функция принимает аргумент, но у него нет имени void f(int) { cout << "Hello world!"; } int main() { int n = 10;
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10)
Сформировать случайным образом два массива d(10) и a(10). Сложить их. В новом массиве найти первый отрицательный элемент и вывести его на экран. Если отрицательных элементов нет, то дать об этом...
C++ Параллельное программирование в С++ http://www.cyberforum.ru/cpp-beginners/thread916891.html
Здравствуйте! я новичок в параллельном программировании. Помогите пожалуйста с задачкой!! Есть одна глобальная переменная, которая должна модифицироваться двумя потоками. Синхронизировать эти потоки...
C++ решения уравнения помогите написать программу которая решит уравнение f(X)=(X^3+^2)/(1-X^2+X^3) по формуле симпсона где а=0,1 в=3,2 е=0,001 с подробным описанием решения подробнее

Показать сообщение отдельно
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2013, 20:07
Можно добавить ещё вывод нужной записи и изменение оценок нужной записи:
Кликните здесь для просмотра всего текста
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
void find_student();   // поиск и вывод нужной записи о студенте 
void change_student(); // изменить оценки в записи о студенте
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int k = 0; // пункт меню
    do
    {
        printf("\n1. Добавить запись\n");
        printf("2. Показать все записи\n");
        printf("3. Сортировать записи\n");
        printf("4. Найти запись\n");
        printf("5. Удалить запись\n");
        printf("6. Изменить оценки в записи\n");
        printf("7. Выход\n");
        
        scanf("%d", &k);
                getc(stdin);
        switch(k)
        {
            case 1: add_student(); 
                break;
            
            case 2: show_Students(); 
                break;
            
            case 3: sort_Students();
                break;
                
            case 4: find_student();
                break;  
                        
            case 5: delete_student();
                break;
 
            case 6: change_student();
                break;
        }
    } while(k != 7 );
 
    return 0;
}
 
void find_student()
{
    FILE *fin;
    fin = fopen("Students.txt", "rb"); // открываем файл для бинарного чтения
    if (!fin) printf("\nДанных не существует.\n\n"); // если файла не существует
    else
    {
        int n = count_students(fin); // количество записей в файле
        if (n == 0)
        {
            printf("\nДанных не существует.\n\n");
            return;
        }
 
        printf("Введите Ф.И.О. студента для поиска:\n");
        struct student s_find;
        
        printf( "\nФамилия: "); gets(s_find.family);
        printf( "Имя: ");       gets(s_find.name);      
        printf( "Отчество: ");  gets(s_find.otchest);  
       
        int i;
        int j = 0;
        int flag = 0;
        struct student temp;
        for (i = 0; i < n; ++i) // чтение записей и вывод на экран нужной
        {  
            read_student(&temp, fin);
            if (compare_students(temp, s_find))
            { 
                flag = 1; // если найдена нужная запись, то устанавливаем flag
                printf("     %d\n\n", ++j);
                out_student(&temp); // выводим найденную запись
            }
        }
        fclose(fin);
        
        if (flag == 0) printf("\nТакая запись не найдена!\n");
    }
}
 
 
void change_student()
{
    int n; // количество записей в буфере
    struct student *buffer = read_to_buffer(&n); // создание буфера и чтение в него данных из файла
    if (!buffer) return;
   
    printf("Введите Ф.И.О. студента:\n");
    struct student s_change;
        
    printf( "\nФамилия: "); gets(s_change.family);
    printf( "Имя: ");       gets(s_change.name);      
    printf( "Отчество: ");  gets(s_change.otchest);  
       
    int flag = 0;
    int q = 0;
    int i;
    for (i = 0; i < n; ++i) // поиск в буфере записи для изменения
    {  
        if (compare_students(buffer[i], s_change))
        { 
            flag = 1; // если найдена нужная запись, то устанавливаем flag
            printf("     %d\n\n", ++q);
            out_student(&buffer[i]); // выводим найденную запись
                   
            printf("\nВведите новые оценки (%d):\n", K);
            int j;
            for (j = 0; j < K; ++j)
            {
                printf( "%d) ", j + 1);
                scanf("%d", &buffer[i].date[j]);
            }
                
            printf("\nЗапись изменена!\n\n");
        }
    }   
    
    if (flag == 1) write_from_buffer(buffer, n); // записываем буфер в файл
    
    if (flag == 0) printf("\nТакая запись не найдена!\n");
    
    free(buffer);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru