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

Библиотеки языка С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: найти минимальное значение среди нечетных элементов http://www.cyberforum.ru/cpp-beginners/thread552569.html
Даны натуральное число n, действительные числа a1, …, an. Получить: min(a1, a3, …)
C++ Строковые переменные (символьные массивы) Создать две строковые переменные (символьные массивы), содержащие ваше имя и фамилию. Выполнить с ними с помощью строковых функций следующие операции: 1. Определить длину каждой строковой переменной; 2. Установить лексическое отношение между строковыми переменными; 3. Объединить две строковые переменные в одну. помогите плз http://www.cyberforum.ru/cpp-beginners/thread552549.html
Обращение по адресу к элементам структуры C++
Есть структура fs: struct fs { f_element; s_element; ... n_element; }; Есть массив указателей на структуру
Как создать файл? C++
Подскажите плз код.Я новичёк, программирую под CodeBlocks.Подскажите плз код, который сделает следующее: Создаст файл скажем test.bat с кодом внутри: @echo off msg * Hello world Спасибо:)
C++ Работа с файлами - удаления пробелов в тексте, содержащемся в файле http://www.cyberforum.ru/cpp-beginners/thread552525.html
Разработать программу удаления в тексте, содержащемся в файле, всех пробелов.
C++ Удалить из строки начальные пробелы задача №1 Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы задача № 2 , Правила3.15. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.Задача перемещена в новую тему: http://www.cyberforum.ru/visual-cpp/thread552549.html помогите плз подробнее

Показать сообщение отдельно
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165

Библиотеки языка С++ - C++

19.04.2012, 13:29. Просмотров 501. Ответов 0
Метки (Все метки)

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
#include "stdafx.h"
 
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <cstdio>
#include <Windows.h>
#include <io.h>
 
struct lecture{
    int full;
    int half;
};
struct sostav{
    int id;
    char name[31];
    char fam[31];
    char otch[31];
    lecture lectures[12];
};
 
char* filename = "1.data";
 
int _tmain(int argc, _TCHAR* argv[])
{
    int menunumber = 0;
    sostav temp;
    setlocale(LC_ALL,"Russian");
    for(;;)
    {
        printf("1- Добавить запись в файл\n2- Просмотр\n3- Вывод в файл 2.txt\n4- Выход\n");
        scanf("%i", &menunumber);
        switch (menunumber) {
            //Добавление в файл
        case 1:{
 
            printf("Введите имя\n");
            scanf("%s", temp.name);
            printf("Введите фамилию\n");
            scanf("%s", temp.fam);
            printf("Введите отчество\n");
            scanf("%s", temp.otch);
            for (int i = 0; i < 12; i++){
                printf("Введите количество лекций на полную ставку за %i месяц\n",i+1);
                scanf("%i", &temp.lectures[i].full);
                printf("Введите количество лекций на пол ставки за %i месяц\n",i+1);
                scanf("%i", &temp.lectures[i].half);
            }
            FILE *fp = fopen( filename, "a+b");
            fseek(fp,0,SEEK_END);
            int index = ftell(fp);
            index = index / sizeof(sostav);
            temp.id = index;
            fwrite(&temp,sizeof(sostav),1,fp);
            fclose(fp);
            break;
               }
               //чтение из файла
        case 2:{
            printf("Данные в файле:\n");
            FILE *fp = fopen(filename, "rb");
            if ( fp != NULL ){
                while ( fread(&temp, sizeof(temp),1,fp) == 1 ){
                    printf("id=%i %s %s %s\n", temp.id, temp.name, temp.fam, temp.otch);
                    for (int i = 0; i < 12; i++){
                        printf("%i: %i %i\n",i+1,temp.lectures[i].full,temp.lectures[i].half);
                    }
                }
                fclose(fp);
            }               
            break;
                }
        case 3:{
            //Вывод в файл 2.txt
            FILE *fp = fopen(filename, "rb");
            FILE *fout = fopen("2.txt","w+");
            if ( fp != NULL && fout  != NULL ){
                while ( fread(&temp, sizeof(temp),1,fp) == 1 ){
                    printf("%s %s %s\n", temp.name, temp.fam, temp.otch);
                    int sumFull = 0, sumHalf = 0;
                    for (int i = 0; i < 12; i++){
                        sumFull += temp.lectures[i].full;
                        sumHalf += temp.lectures[i].half;
                    }
                    printf("За год: %i %i\n",sumFull, sumHalf);
                    fprintf(fout,"id=%i %s за год: %i %i\n", temp.id, temp.fam, sumFull, sumHalf);
                }
                printf("Данные выгружены в файл 2.txt\n");
                fclose(fp);
                fclose(fout);
            }
            break;
 
        }
               //Выход из программы
        case 4: {
            return 0;
            break;
                }
        }
        //fwrite(&A, sizeof A, 1, fp);
    }
    return 0;
}
Объясните данную программу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru