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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ilyandr
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 4
#1

Сформировать файл, в котором хранятся результаты сессии группы. - C++

15.03.2012, 15:40. Просмотров 666. Ответов 3
Метки нет (Все метки)

Всем привет, помогите решить одну задачку, скоро сессия, а я все никак не сделаю. "Сформировать файл, в котором хранятся результаты сессии группы. Написать программу корректировки оценок, у студентов, пересдавших сессию." Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2012, 15:40     Сформировать файл, в котором хранятся результаты сессии группы.
Посмотрите здесь:
Составить список? в котором сохраняются результаты сессии группы (структуры) C++
Сформировать файл, содержащий информацию о результатах сдачи сессии C++
Имеется файл .txt с данными, в котором хранятся города и расстояния между ними. Как присвоить каждому городу и числу(расстоянию) свою переменную ? C++
C++ 25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в первом сто
Ввести сведения о результатах экзаменационной сессии группы C++
C++ Сводная ведомость результатов экзаменационной сессии студенческой группы
C++ Даны сведения о результатах сессии. Вывести список группы по убыванию общего балла.
Использование структур, "Результаты зимней сессии" C++
Данные о ценах в М магазинах для N видов товара хранятся в виде двумерного массива. Сформировать таблицу C++
C++ Сформировать массив, содержащий сведения о сдаче студентами сессии
Дан текстовый файл f. Переписать текст в файл g, удалив все группы букв s (s передается параметром) C++
C++ Сформировать массив, в котором элементы следуют в обратном порядке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
15.03.2012, 15:55     Сформировать файл, в котором хранятся результаты сессии группы. #2
а ты хоть пытался(ась) сам(а) сделать?
ilyandr
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 4
15.03.2012, 16:33  [ТС]     Сформировать файл, в котором хранятся результаты сессии группы. #3
Вот есть начало, но как сделать чтоб можно было делать не одну запись, а несколько студентов, и самое главное как сделать возможность изменения оценки у определенного студента и записи в этот же файл? спасибо
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
#include <stdio.h>
#include <stdlib.h>
 
        typedef struct{
                char name[40],surname[20],grup[5],pred[50],ocen[5];
        }student;
void writetofile(FILE* fwr,student s)
        {
                fputs(s.name,fwr);
                fprintf(fwr," ");
                fputs(s.surname,fwr);
                fprintf(fwr," ");
                fputs(s.grup,fwr);
                fprintf(fwr," ");
                fputs(s.pred,fwr);
                fprintf(fwr," ");
                fputs(s.ocen,fwr);
                        
        }
void print(FILE* fwp,student s)
{
while(!(feof(fwp)))
{
        fscanf(fwp,"%s %s %s %s %s",s.name,s.surname,s.grup,s.pred,s.ocen);
        printf("%s %s %s %s %s\n",s.name,s.surname,s.grup,s.pred,s.ocen);
}
}
int main()
{
                int i;
        FILE* fw;
        student st;
        fw=fopen("student.txt","w");
        printf("Enter  name\n");
        scanf("%s",st.name);
        printf("Enter surname ID\n");
        scanf("%s",st.surname);
        printf("Enter grup\n");
        scanf("%s",st.grup);
        printf("Enter predmet\n");
        scanf("%s",st.pred);
        printf("Enter ocenka\n");
        scanf("%s",st.ocen);
        if(fw!=NULL)
        {
                        writetofile(fw,st);
                fclose(fw);
        }
        else 
                printf("error");
        fw=fopen("student.txt","r");
        if(fw!=NULL)
        {
                print(fw,st);
        fclose(fw);
        }
}
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
15.03.2012, 22:20     Сформировать файл, в котором хранятся результаты сессии группы. #4
я вечером посижу постараюсь написать если сам будешь пробовать то начни использовать массив объектов для считывания из файла циклы whil и сделаю меню для выбора действия там не мало кода получиться

Добавлено через 5 часов 27 минут
ты прости просто лень писать всё это здесь выложу код похожей программы тут есть добавление и удаление переделаешь на студентов а вот с редактированием незнаю пока как только если брать всю информацию отредактировать её и потом закинуть обратно здесь я думаю разбершь писал код на 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fstream>
using namespace std;
      struct tsp
        {
           string  Autor,nameOfBook,publishingHouse;
           int year,page;
        struct tsp *next;
        };
        class clsp
        {
            tsp *P;
            int n;
             public:
            int getN(){return n;}
            clsp(int k)    { n=k;}
            void CREATE1(ifstream &in);
            void LOOK();
            void DEL (string str);
            void INS (istream &in,ostream &out);
            void outputInFile(ofstream &out);
            void outputByAuthor(string str);
            void OutputOnTheNumberOfPages(int numberOfPages);
        };
          void clsp::CREATE1(ifstream &in)
          {
               tsp *T,  *Q;
               T=new tsp;
               T->Autor="";
               T->publishingHouse="";
               T->nameOfBook="";
               T->page=0;
               T->year=0;
               P=T;
               for (int i=1; i<=n;i++)
                 {
                    Q=new tsp;
                    in >> Q->Autor;
                    in >>Q->nameOfBook;
                    in >> Q->publishingHouse;
                    in >> Q->year;
                    in >> Q->page;
                    T->next=Q;
                    T=Q;
                 }
              Q->next=NULL;
          };
 
     void clsp::LOOK()
     {
         tsp *Q;
         cout<<"\nn="<<n<<endl;
         Q=P->next;
            while ( Q)    //  или while (Q!=NULL)
                {
                    cout << "\nName Autor: " << Q->Autor << "\nName of Book: " << Q->nameOfBook
        << "\nPublishing House: " << Q->publishingHouse << "\nYear: " << Q->year
        << "\nkol-vo page: " << Q->page;
             Q=Q->next;
              }
        cout << endl;
     };
 
     void clsp::INS(istream &in,ostream &out)
      {
            tsp *Q, *T;
            Q=P->next;
            n++;
            T=new tsp;
            out << "Input name Autor: ";
            in >> T->Autor;
            out << "Input Name of Book: ";
            in >> T->nameOfBook;
            fflush(stdin);
            out << "Input Izdatelstvo: ";
            in >> T->publishingHouse;
            out << "Input year: ";
            in >> T->year;
            out << "Input kol-vo page: ";
            in >> T->page;
            T->next=Q->next;
            Q->next=T;
            Q=Q->next->next;
        };
 
     void clsp::DEL(string str)
     {
            tsp *T, *Q;
            int numdel=0;
            int n2;
            n2=n;
            Q=P;
            cout << endl;
            while ( Q->next )
                if (Q->next->Autor == str)
                {
                        n--;
                        numdel++;
                        T=Q->next;
                        Q->next=Q->next->next;
                        T->next=NULL;
                  delete T;
                }
                else
                    Q=Q->next;
                    if (numdel==n2) cout <<"\n We deleted all elements" ;
   };
 
void clsp::outputInFile(ofstream &out)
     {   tsp *Q;
          Q=P->next;
       while(Q!=NULL){
            out << Q->Autor << endl << Q->nameOfBook
        << endl << Q->publishingHouse << endl << Q->year
        << endl << Q->page << endl ;
        Q=Q->next;
              }
     };
 
     void clsp::outputByAuthor(string str)
     {
          tsp *Q;
          Q=P->next;
            while ( Q)    //  или while (Q!=NULL)
                {
                    if(Q->Autor == str) {
                    cout << "\nName Autor: " << Q->Autor << "\nName of Book: " << Q->nameOfBook
        << "\nPublishing House: " << Q->publishingHouse << "\nYear: " << Q->year
        << "\nkol-vo page: " << Q->page;
                }
             Q=Q->next;
              }
        cout << endl;
     };
     void clsp::OutputOnTheNumberOfPages(int numberOfPages)
     {
        tsp *Q;
          Q=P->next;
            while ( Q)    //  или while (Q!=NULL)
                {
                    if(Q->page >= numberOfPages) {
                    cout << "\nName Autor: " << Q->Autor << "\nName of Book: " << Q->nameOfBook
        << "\nPublishing House: " << Q->publishingHouse << "\nYear: " << Q->year
        << "\nkol-vo page: " << Q->page;
                }
             Q=Q->next;
              }
        cout << endl;
     }
     int main()
     {
        int n,flag = -1,page;
        string str;
    ifstream inputOfFile("text.txt",ifstream::in);
    inputOfFile >> n;
    clsp ob(n);
    ob.CREATE1(inputOfFile);
    while(flag != 0)
    {
        system("cls");
        cout << "1 - Output all information" << endl << "2 - Add a book "
        << endl << "3 - Remove the book" << endl << "4 - Output information on the author" << endl
        << "5 - Output book with the number of pages specified above" << endl << "0 - Exit and save all data"
        <<endl;
        cin >> flag;
        system("cls");
        if(flag == 1 )
        {
            ob.LOOK();
 
        }
        if(flag == 2)
        {
            ob.INS(cin,cout);
        }
        if(flag == 3)
        {
            cout << "\nEnter the author of the book to be removed: ";
            cin >> str;
            ob.DEL(str);
        }
        if(flag == 4)
        {
            cout << "\nEnter the author of the book to be output: ";
            cin >> str;
            ob.outputByAuthor(str);
        }
        if(flag == 5)
        {
             cout << "\nEnter the number of pages: ";
             cin >> page;
             ob.OutputOnTheNumberOfPages(page);
        }
        system("pause");
        system("cls");
 
    }
    ofstream outputOfFile("text.txt",ofstream::out);
    outputOfFile << ob.getN() << endl ;
    ob.outputInFile(outputOfFile);
 
     return 0;
     }
Yandex
Объявления
15.03.2012, 22:20     Сформировать файл, в котором хранятся результаты сессии группы.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru