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

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

Войти
Регистрация
Восстановить пароль
 
Esik
Сообщений: n/a
04.12.2009, 22:20     Видоизменить программу для чтения и записи файлов #1
Помогите написать программу. задача следующая:
В одном файле даны: код фамилии и сама фамилия студента(количество может меняться)
во 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;}}
        }
 
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2009, 22:20     Видоизменить программу для чтения и записи файлов
Посмотрите здесь:

C++ составить программу для чтения файлов
Задача чтения и записи текстовых файлов C++
Открытие файла для чтения/записи C++
Как передать файл в функцию для записи/чтения (разные функции) C++
Как открыть файл одновременно для чтения и для записи? C++
Как инициализировать дескриптор для записи и чтения файла C++
Ошибка записи и чтения объектов C++
Объясните синтаксис записи и чтения объектов из файлов C++
C++ Блокировка чтения-записи в QNX
Как создать один файл для чтения и записи одновременно? C++
Выдает ошибку и не читает текст(составить программу для чтения текста) C++
C++ HEX viewer: создать программу для чтения из файла текста в обычном режиме и в шестнадцатеричном

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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