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

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

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

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

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

Всем привет, помогите решить одну задачку, скоро сессия, а я все никак не сделаю. "Сформировать файл, в котором хранятся результаты сессии группы. Написать программу корректировки оценок, у студентов, пересдавших сессию." Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2012, 15:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать файл, в котором хранятся результаты сессии группы. (C++):

Составить список? в котором сохраняются результаты сессии группы (структуры) - C++
Помогите пожалуйста запутался в программе задача Составить список в котором сохраняются результаты сесии группы . НАписать программу ...

Сформировать файл, содержащий информацию о результатах сдачи сессии - C++
Сформировать файл, содержащий информацию о результатах сдачи сессии (3 экзамена) группой студентов. Для каждого студента имеется...

Имеется файл .txt с данными, в котором хранятся города и расстояния между ними. Как присвоить каждому городу и числу(расстоянию) свою переменную ? - C++
Как присвоить каждому городу и числу(расстоянию) свою переменную? Вот что находиться в файле:

25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в первом сто - C++
25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в...

Ввести сведения о результатах экзаменационной сессии группы - C++
Ввести сведения о результатах экзаменационной сессии группы по следующей структур: ФИО, предмет(три предмета), оценка. Вывести: а) всех кто...

Сводная ведомость результатов экзаменационной сессии студенческой группы - C++
1. Сводная ведомость результатов экзаменационной сессии студенческой группы находится в файле на диске и для каждого студента содержит...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
15.03.2012, 15:55 #2
а ты хоть пытался(ась) сам(а) сделать?
0
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);
        }
}
0
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;
     }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2012, 22:20
Привет! Вот еще темы с ответами:

Даны сведения о результатах сессии. Вывести список группы по убыванию общего балла. - C++
Собственно само задание. 3)Даны сведения о результатах сессии: ФИО студента, названия четырех предметов и оценки, полученные по...

Использование структур, "Результаты зимней сессии" - C++
Задача на С. Ведомость о результатах зимней сессии содержит информацию: фамилия и инициалы студента, номер группы, оценки из трех...

Данные о ценах в М магазинах для N видов товара хранятся в виде двумерного массива. Сформировать таблицу - C++
вот код,но выскакивает ошибка Run-Time Check Failure #3 - The variable 'i' is being used without being initialized. #include...

Сформировать массив, содержащий сведения о сдаче студентами сессии - C++
натолкните на раздумия.. Сформировать массив, содержащий сведения о сдаче студентами сессии. Структурный тип содержит поля: индекс...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.03.2012, 22:20
Ответ Создать тему
Опции темы

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