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

cтрутура данных с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу решить http://www.cyberforum.ru/cpp-beginners/thread64868.html
Создать два бинарных файла, все числа, содержащиеся в обоих файлах одновременно, переписать в третий файл. Дополнительных массивов не использовать. Не могу решить задание из моей контрольной помогите.
C++ С++ .вычислить сумму элементов массива,до min элемента. В одномерном массиве,состоящем из n вещественных элементов ,вычислить: – Сумму элементов массива,расположенных до минимального элемента; – Записать элементы массива в файл. Добавлено через 2 минуты Помогите пожалуйста... к завтрашнему дню надо... http://www.cyberforum.ru/cpp-beginners/thread64853.html
Алгоритм квадратичной сортировки C++
Доброго времени суток! есть вот такая задача: При составлении программы сортировки использовать минимальную необходимую память и эффективные структуры данных. кто силен ?
C++ Не работает eof(). о__О
в такой вот ситуации возвращает всегда ноль. даже в данном случае, когда на e: лежит чистый файл. #include<conio.h> #include<iostream.h> #include<fstream.h> main() {clrscr(); int i; //char ch=' ';
C++ функция,вопрос на счет возвращаемого значния http://www.cyberforum.ru/cpp-beginners/thread64824.html
у меня вопрос(название уже говорит про какой) если скажем у меня функция возвращает целыое число то функцию пишу с INT,а если у меня и целое число и тип чар,то что в этом случае написать
C++ Задержка экрана Какой командой задерживается окно программы, для того чтобы вылетал в окно эдитора после нажатия любой клавиши, или Enterа? подробнее

Показать сообщение отдельно
ess399
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 4

cтрутура данных с++ - C++

18.11.2009, 02:42. Просмотров 351. Ответов 2
Метки (Все метки)

Уважаемые программисты!!! помогите пожалуйста дописать программу. я пока еще чайник .

"Имеем в текстовом файле список студентов: фамилия, имя ,шифр группы ,оценки по экзаменам.
сформировать список по фамилии ,имени ,шифру группы и среднему балу .вывести две таблицы: данные и результат"
часть программы сделана ,а сгрупировать по шифру группы и среднему баллу неполучаеться.

мой код

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
#include <iostream.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>
#include <fstream.h>
struct student{
  char name[50];
 struct{
    char egzamen[24];
}
      egz[10];
      double sredn;
} stud_[3]={
{"  :  Степанов  :   Степанов  :  ТИ08 ",{"математика", "программирование", "статистика", "философия", "русский язык"}, 0.0},
{"  :  Дмитриев  :   Дмитриев  :  ТИ08" , {"математика", "программирование", "статистика", "философия", "русский язык"}, 0.0},
{"  :  Стрельцов  :  Стрельцов  : ТИ08" , {"математика", "программирование", "статистика", "философия", "русский язык"}, 0.0},
 
 };
 
int main(){
      ofstream book_file("BOOKINFO.DAT");
 int kol, i;
 cout<<"сколько будет экзаменов:";
   book_file <<"////////////////////////////////////////////////////////////////////////" <<endl; 
 
  book_file <<"средний бал  :  имя    :   фамилия      :  группа  :    результат.       " <<endl;  
  
  
  book_file <<"........    .......       .........        ......       .......        : " <<endl;
  
  
  
 cin>>kol;
 if(kol>5){
  return 0;
 }
 int ran; 
 double all;
  for(int p=0; p<3; p++){
   i=0; all=0;
   cout <<"ввести оценки по экзаменам"<<" "<< stud_[p].name<<endl;
  
 
  while(i!=kol){
  cout <<stud_[p].egz[i].egzamen<<":";
   cin>>ran;
   i++;
   all+=ran;
  }
  stud_[p].sredn=(all/kol);
 }
 for(i=0; i<3; i++){
          
    
        
 book_file <<"оценка"<<" "<<stud_[i].name<<" :     = " <<stud_[i].sredn<<endl;
 
book_file << "........................................................................:\n"<<endl;
 
 }
 getch();
 return 0;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
а мне нужно по етому примеру зделать

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
#include <vcl.h>
#pragma hdrstop
 
/* струтура данных
        групировать с qsort
                и поиск  bsearch ir lfind
                                        
                                         воспользоваться sort_function masyv?
                                                        работа с файлами*/
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <vcl.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
const N=100;
const npav=20;
struct BOOK{
char pav[npav];
int god;
float cena;
};
void fun(BOOK *,int);
 
int sort_function_naz(const void *, const void *);
int sort_function_god(const void *, const void *);
int sort_function_cena(const void *, const void *);
int sort_function_all(const void *, const void *);
 
int main(int argc, char* argv[])
{
BOOK *x;
x=new BOOK[N];
int n;
cout <<"vvesti spisok:";
cin>>n;
cout <<"vvesti naz. god cena:";
for(int i=0;i<n;i++)
         cin>>(x[i].naz)
            >>(x[i].god)
            >>(x[i].cena);
fun(x,n);
delete x;
cin>>n;
        return 0;
}
void fun(BOOK *y,int m)
{
char *msg[]={"запись сгрупировать по названию:\n",
"запись сгрупирован по году:\n",
"запись сгрупирован по цене:\n",
"запись несгрупирована:\n"};
char *msg1[]={"запись по названию ненайден!!!\n",
"запись по году ненайден!!!\n",
"запись по цене ненайден!!!\n",
"запись  по всему полю ненайден!!!\n"};
char *msg2[]={"запиь по названию найден!\n",
"запись по году найден!\n",
"запись по цене найден!\n",
"запись по вему полю найден!\n"};
BOOK *z=y;
int jm;
int (*functor[4])( const void *, const void *)={sort_function_naz,
sort_function_god, sort_function_cena, sort_function_all};
 
size_t index=m;
BOOK  xx, *work;
BOOK *yf=new BOOK[m];
int *x;
FILE *fl=fopen("rez.txt","w");
for(int j=0;j<4;j++)
   {
y=z;
//Групировка
if (j<3) qsort(y,m,sizeof(BOOK),functor[j]);
cout<<msg[j];
for(int i=0;i<m;i++)
{
         cout<<y[i].naz<<" "
             <<y[i].god<<" "
             <<y[i].cena<<"\n";
 
 
/*
//отдельную запись записываем в файл
fwrite(y+i,sizeof(BOOK),1,fl);
fputs("\n",fl);
*/
}
//ве записи записываем в файл
fwrite(y,sizeof(BOOK),m,fl);
fputs("\n",fl);
 
 
 
 
 
//поиск
cout<<"ввести запись:";
cin>>xx.naz>>xx.god>>xx.cena;
work=y;
if (j==3) x=(int *)lfind(&xx, work, &index, sizeof(BOOK),functor[j]);
else x=(int *)bsearch(&xx, work, index, sizeof(BOOK),functor[j]);
if(x==NULL)
cout<<msg1[j];
else
cout<<msg2[j];
   }
   fclose(fl);
}
int sort_function_pav(const void *a,const void *b)
{
   BOOK *aa=(BOOK *)a;
   BOOK *bb=(BOOK *)b;
   return(strcmp(aa->naz,bb->naz));
}
 
int sort_function_god(const void *a, const void *b)
{
   BOOK *aa=(BOOK *)a;
   BOOK *bb=(BOOK *)b;
   return((aa->god)-(bb->god));
}
 
int sort_function_cena(const void *a, const void *b)
{
   BOOK *aa=(BOOK *)a;
   BOOK *bb=(BOOK *)b;
   return((aa->cena)-(bb->cena));
}
 
int sort_function_all(const void *a,const void *b)
{
   BOOK *aa=(BOOK *)a;
   BOOK *bb=(BOOK *)b;
   return((strcmp(aa->pav,bb->pav))+((aa->god)-(bb->god))
   +((aa->cena)-(bb->cena)));
}
//-
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru