72 / 3 / 1
Регистрация: 05.01.2020
Сообщений: 131
1

Как сделать функцию с параметром файл

16.05.2020, 17:45. Показов 884. Ответов 2
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Мне необходимо сделать функцию вывода в файл. Конкретно строки 31-37
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
#include <fstream>
#include <iostream>
#include <string>
#include <windows.h>
#include <math.h>
using namespace std;
 
struct gr
{
    INT64 chislo, month, god;
};
 
struct NOTE
{
    char familia[100];
    INT64 nomer, sorrt;
    gr styd;
};
NOTE Styd;
NOTE zxc;
 
 
void printinfo(NOTE Styd[], int i)
{
    cout << "Ф.И.О.: " << Styd[i].familia;
    cout << endl << "Номер Телефона: " << Styd[i].nomer;
    cout << endl << "Дата рождения: " << Styd[i].styd.chislo << "." <<
        Styd[i].styd.month << "." << Styd[i].styd.god;
}
 
void printinfof(const NOTE Styd[], int i, ofstream file)
{
    file << "Ф.И.О.: " << Styd[i].familia;
    file << endl << "Номер Телефона: " << Styd[i].nomer;
    file << endl << "Дата рождения: " << Styd[i].styd.chislo << "." <<
        Styd[i].styd.month << "." << Styd[i].styd.god;
}
 
void createfile(char* filename, int x, bool incorrect)
{
    ofstream file;
    cout << "Введите количество студентов: ";
    cin >> x;
    NOTE* Styd = new NOTE[x];
    system("cls");
 
 
    for (int i = 0; i < x; i++)
    {
        cin.ignore();
        cout << "Введите Ф.И.О.: ";
        cin.getline(Styd[i].familia, 100);
        cout << "Введите номер телефона: ";
        cin >> Styd[i].nomer;
        cout << endl <<
            "Введите день рождения: ";
        cin >> Styd[i].styd.chislo;
        cout << endl << "Введите месяц рождения: ";
        cin >> Styd[i].styd.month;
        cout << endl << "Введите год рождения: ";
        cin >> Styd[i].styd.god;
        Styd[i].sorrt = (Styd[i].styd.god * 365) + (Styd[i].styd.month * 30) + (Styd[i].styd.chislo);
        system("cls");
        if (Styd[i].nomer <= 0 || Styd[i].styd.chislo <= 0 || Styd[i].styd.chislo > 31
            || Styd[i].styd.month <= 0 || Styd[i].styd.month > 12
            || Styd[i].styd.god <= 1920 || Styd[i].styd.god > 2020)
        {
            cout << "Некорректно введены данные" << endl;
            incorrect = 1;
            i = x;
        }
    }
    file.open(filename);
    if (incorrect == 0)
    {
 
 
        for (int i = 0; i < x; i++)
        {
            printinfo(Styd, i);
            cout << endl;
            cout << endl;
        }   cout << endl;
        for (int i = 0; i < x; i++)
        {
            file << "Ф.И.О.: " << Styd[i].familia;
            file << endl << "Номер Телефона: " << Styd[i].nomer;
            file << endl << "Дата рождения: " << Styd[i].styd.chislo << "." <<
                Styd[i].styd.month << "." << Styd[i].styd.god;
            file << endl << endl;
        }
        file.close();
    }
}
 
 
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int x = 0;
    bool incorrect = 0;
    char filename[100];
    cout << "Введите название файла и его расширение: ";
    gets_s(filename, 100);
    createfile(filename,x,incorrect);
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2020, 17:45
Ответы с готовыми решениями:

Можно ли сделать функцию с параметром
Допустим у меня есть функция, проверяющая четное число или нет. bool chet(int x) { if(x%2==0)...

jquery, как передать параметром в функцию, другую функцию
Например: Есть функция: function check_number(tel, function2) { $.ajax({ type: &quot;GET&quot;,...

Копировать под своим именем файл, указанный первым параметром, в директорию, указанную вторым параметром
Помогите, если не трудно. Вот задание: Создайте пакетный файл P2.bat, предусматривающий ввод...

Надо сделать так если программа запущена с параметром -admin тогда написать доступ открыт. Как это сделать?
Надо сделать так если программа запущена с параметром -admin тогда написать доступ открыт. Как это...

2
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
16.05.2020, 17:53 2
Лучший ответ Сообщение было отмечено Zeta788 как решение

Решение

Zeta788, передавайте объект по ссылке.
void printinfof(const NOTE Styd[], int i, ofstream &file)
1
72 / 3 / 1
Регистрация: 05.01.2020
Сообщений: 131
16.05.2020, 17:55  [ТС] 3
Помогло, спасибо
0
16.05.2020, 17:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2020, 17:55
Помогаю со студенческими работами здесь

Как создать функцию с одним параметром
Компилятор ругается на вызов функции в условии if(( !(isPrime a) )) isPrime - функция поиска...

Как запустить функцию с параметром по гиперссылке?
Добрый день! Подскажите пожалуйста как сделать чтоб по гиперссылке запускалась функция с...

Как передать событию OnClick функцию с параметром?
Добрый вечер. Разбираюсь с RunTime в Lazarus. В ini файле хранится список приложений, которые...

Как запустить функцию с параметром отдельной ниткой?
Добрый день. Вот код (запускаем функцию DoSomeWork, без параметров отдельным потоком) Thread...

Как правильно вызвать функцию со строковым параметром
#include &lt;iostream&gt; void numinchar(char sir) { for (int i = 0; i &lt; strlen(sir); i++) { if...

Как передать параметр в функцию, саму являющуюся параметром?
например, в setTimeout.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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