Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Esik
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 1
1

Видоизменить программу для чтения и записи файлов

04.12.2009, 22:20. Просмотров 345. Ответов 0
Метки нет (Все метки)

Помогите написать программу. задача следующая:
В одном файле даны: код фамилии и сама фамилия студента(количество может меняться)
во 2 файле: код предмета и название предмета(количество может меняться)
в 3 файле: код фамилии, код предмета, оценка
Нужно посчитать сумму баллов для каждого студента за все предметы, и отсортировать их в порядке убывания и вывести в 4 файл, где будет 3 первых места и 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
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define k 10 
struct student
{
   char name[k];
    int *marks;
   int sum;
};
 
 
void input(int,int,student *z);
void search(int,student *z);
void out(int,int,student *x);
 
 
int  main()
{  int n,m;
student   *stud;
cout<<"Vvedite kolichestvo studentov: ";cin>>n;
 
cout<<"Vvedite kolichestvo examinov: ";cin>>m;
 
stud=new student[n];
    for(int i=0;i<n;i++)
    {
    stud[i].marks=new int[m];
    }
 
input(n,m,stud);
search(n,stud);
puts("\n===== Results =====\n");
out(n,m,stud);
 
    for( i=0;i<m;i++) //освобождаем память
    {
    delete[]stud[i].marks;
    }
    delete[]stud;
    getch();
    return 0;
}
 
 
void input(int x,int y,student *z)
{         int sum=0;
    for(int i=0;i<x;i++)
   {
     
     cout<<"Vvedite familiu: ";cin>>z[i].name;
    for(int j=0;j<y;j++)
      {  
        cout<<"Vvedite"<<'['<<j<<']'<<"ocenky: ";
         cin>>z[i].marks[j];
      }
   }
 
 
  for(i=0;i<x;i++)
     {
            for(int j=0;j<y;j++)
         {
          sum=sum+z[i].marks[j];
         }
 
         z[i].sum=sum;
         sum=0;
     }
}
 
 
void search(int x,student *z)
{
    student aux;
    bool f;
    int g=x;
 
    do{g--;f=0;
    for(int i=0;i<g;i++)
        if(z[i].sum<z[i+1].sum)
        {
            aux=z[i];
            z[i]=z[i+1];
            z[i+1]=aux;
            f=1;
        }
    }while(f);
 
}
 
 
void out(int a,int y,student *x)
{ 
  int t=0;
  cout<<"Good students:"<<"Ocenki:"<<"Summa:"<<endl;
 
 
        for(int i=0;i<a;i++)
        {
         cout<<x[i].name<<"   ";
         for(int j=0;j<y;j++)
         cout<<x[i].marks[j]<<" ";
         cout<<"= ";
         cout<<x[i].sum;cout<<endl;
         if(x[i+1].sum!=x[i].sum)
         {
            t+=1;
         
         if(t==3){break;}}
        }
 
      t=0;
       cout<<"   "<<endl;
      cout<<"Bad students:"<<"Ocenki:"<<"Summa:"<<endl;
 
      for(i=a-1;i>=0;i--)
        {
         cout<<x[i].name<<"   ";
         for(int j=0;j<y;j++)
         cout<<x[i].marks[j]<<" ";
         cout<<"= ";
         cout<<x[i].sum;cout<<endl;
         if(x[i+1].sum!=x[i].sum)
         {
            t+=1;
         
         if(t==3){break;}}
        }
 
 
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2009, 22:20
Ответы с готовыми решениями:

составить программу для чтения файлов
Составить программу для реализации того или иного режима работы с файлами ( чтение, запись,...

Написать функции для чтения/записи отдельных бит для любой записи из данного набора
Начиная с адреса А в памяти МК находятся N записей длиной k бит каждая. Записи выровнены по границе...

Задача чтения и записи текстовых файлов
Необходимо считать текст из файла, обработать его, и записать в файл, но не получается даже...

Объясните синтаксис записи и чтения объектов из файлов
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; ...

Разработать программу для записи и считывания содержимого текстовых файлов с коррекцией их атрибутов
Разработать программу для записи и считывания содержимого текстовых файлов с коррекцией их...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2009, 22:20

Как открыть файл одновременно для чтения и для записи?
Делаю вот так, но ничего не получается.:( std::fstream inOutCredit(&quot;credit.dat&quot;, std::ios::ate |...

Открытие файла для чтения/записи
Помогите реализовать открытие файла под компилятор g++ или DevC++ вечно ругается на std.. using...

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


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

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

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