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

Файлы - C++

Восстановить пароль Регистрация
 
sanlex25
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 29
26.12.2013, 03:54     Файлы #1
Я делал программу,но у меня она работала некоректно, выдавалась только первая строка из файла, я начал искать решение проблемы и на одном сайте нашел типовое задание и нашел решение моей проблемы в итоге все работает, но я никак не могу вникнуть почему нужно было дописать эту строку, вот мои готовый код:

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
#include <iostream.h>
#include <fstream.h>
int redakt();
int viemwork();
void createStruct();
void makeWork();
 
 
    struct info{
        char fio[35];
        char date[15];
        char group[25];
        int  points[2];
        int  ball;
    };
    info array[100];
    int i=0,k=0;
 
 
 
 
 
int main(){
    int vub;
        while (true){
        cout<<"1-sozdat' anketu\n2-pechat resultat zadaniya\n3-Prosmotr\n4-Exit\n";
        cin>>vub;
            switch (vub){
                case 1:createStruct();break;
                case 2:makeWork();break;
                case 4:return 0;
                case 3:viemwork();break;
                default:cout<<"ploxoi simvol\n";
            }
        }
    return 0;
        }
 
void createStruct()
{
    int selector;
    while (true){
    cout<<"1 - dobav zapis\n2 - Redaktirovat zapis\n3 - Nazad\n";
    cin>>selector;
        switch (selector){
            case 1:{
                cout<<"student #"<<i+1;
                cout<<"\nfio. : ";
                cin>>array[i].fio;
                cout<<"date : ";
                cin>>array[i].date;
                cout<<"group : ";
                cin>>array[i].group;
                cout<<"matematika = ";
                cin>>array[i].points[0];
                cout<<"informatika = ";
                cin>>array[i].points[1];
                cout<<"ximia = ";
                cin>>array[i].points[2];
                array[i].ball=(array[i].points[0]+array[i].points[1]+array[i].points[2])/3;
                cout<<"srednii ball ="<<array[i].ball<<"\n";
                i++;
                }break;
            case 3:return;
            case 2:redakt();break;
        }
    }
}
 
void makeWork(){
    for (int find=0;find<i;find++){
        if ( (array[find].fio[0]=='V')||(array[find].fio[0]=='G')||(array[find].fio[0]=='D'))
        {
        cout<<"Student N"<<find<<find+1<<"\n";
        cout<<"FIO:"<<array[find].fio<<"\n";
        cout<<"Data:"<<array[find].date<<"\n";
        cout<<"Grupa:"<<array[find].group<<"\n";
        cout<<"Matematika:"<<array[find].points[0]<<"\n";
        cout<<"Informatika:"<<array[find].points[1]<<"\n";
        cout<<"Ximia:"<<array[find].points[2]<<"\n";
        cout<<"Sredni ball:"<<array[find].ball<<"\n\n";
      }
    }
}
 
int viemwork()
{
 
ofstream fout("rezult.txt");
for (int find=0;find<i;find++){
fout<<"Student N"<<find+1<<"\n";
        fout<<"FIO:"<<array[find].fio<<"\n"
        <<"Data:"<<array[find].date<<"\n"
        <<"Grupa:"<<array[find].group<<"\n"
        <<"Matematika:"<<array[find].points[0]<<"\n"
        <<"Informatika:"<<array[find].points[1]<<"\n"
        <<"Ximia:"<<array[find].points[2]<<"\n"
        <<"Sredni ball:"<<array[find].ball<<"\n\n";
        k=k+10;}
fout.close();
 char buff[1000];
    ifstream fin("rezult.txt");
    for(int j=0;j!=k;j++){
    fin.getline(buff, 100);
    cout << buff << endl;}
    fin.close();
    return 0;
    }
 
int redakt(){
int nom=0;
cout<<"Vvedite nomer studenta\n";
cin>>nom;
cout<<"Student №"<<nom<<"\n";
        cout<<"FIO:";cin>>array[nom-1].fio;
        cout<<"Data:";cin>>array[nom-1].date;
        cout<<"Grupa:";cin>>array[nom-1].group;
        cout<<"Matematika:";cin>>array[nom-1].points[0];
        cout<<"Informatika:";cin>>array[nom-1].points[1];
        cout<<"Ximia:";cin>>array[nom-1].points[2];
        cout<<"Sredni ball:"<<(array[nom-1].points[0]+array[nom-1].points[1]+array[nom-1].points[2])/3<<"\n";
        array[nom].ball=(array[nom-1].points[0]+array[nom-1].points[1]+array[nom-1].points[2])/3;
return 0;
}
объясните пожалуйста почему было нужно дописать эти 2 строки :
C++
1
2
k=k+10;
for(int j=0;j!=k;j++)
и что они нам дают?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2013, 03:54     Файлы
Посмотрите здесь:

C++ Файлы
Файлы C++
C++ файлы
C++ нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки))
Файлы.Текстовые файлы C++
Заголовочные файлы и файлы cpp C++
C++ Зачем нужно добавлять файлы в файлы исходного кода
C++ Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
26.12.2013, 04:51     Файлы #2
объясните пожалуйста почему было нужно дописать эти 2 строки :
куда их добавить то надо?

C++
1
2
#include <iostream.h>
#include <fstream.h>
смело меняй на
C++
1
2
#include <iostream>
#include <fstream>
ещё смелее вставляй std:: перед cout/cin
либо using std::cout/cin ну на кройняк using namespace std
ибо это кошмар, я не понимаю о чём вопрос, как можно обсуждать эти строки не пойми о чём....
ну допустим... обсудим...
C++
1
2
k=k+10;
for(int j=0;j!=k;j++)
первая строка не пойми что увеличивает на 10
вторая строка проходит циклом от нуля до не пойми чего (кстати плохим циклом, замени j++ на ++j и меньше котят пострадает)
никаких действий в этом нет вообще, в чём вопрос то?
sanlex25
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 29
26.12.2013, 10:16  [ТС]     Файлы #3
Эти строки есть в моем коде, с помощью их в файле у меня печатает всю нужную информацию,а не одну строку номера строк в которых это используется в моем коде: 99, 103. Ребята, объясните почему с помощью этого цикла у меня выдает всю нужную информацию, а без него него лишь одну строку?
Yandex
Объявления
26.12.2013, 10:16     Файлы
Ответ Создать тему
Опции темы

Текущее время: 00:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru