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

Описать структуру с именем STUDENT - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать алгоритм http://www.cyberforum.ru/cpp-beginners/thread285981.html
Всем доброго времени суток! Наткнулся вот на задачу,порешал,понял,что не могу даже алгоритм написать внятный на нее. Вот задача Назовем строку S правильной скобочной последовательностью, если она состоит только из символов '{', '}', '', '(', ')' и выполнено хотя бы одно из следующих трех условий: 1. S — пустая строка; 2. S можно представить в виде S=S1+S2+S3+...+SN (N>1), где Si —...
C++ Строки Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, но разделенные одним символом "." (точка). В конце точку не ставить. http://www.cyberforum.ru/cpp-beginners/thread285977.html
Определить уравнение высоты треугольника из трех заданных точек. C++
Вот сам заголовочный файл: #pragma once struct Point2D { double x, y; }; struct Line2D {
Visual C++ Сохранение данных разных типов в файл, MFC
Здравствуйте, уважаемые. Я новичок в С++, поэтому нужна ваша помощь. Имеется проект MFC. В главное окно из диалоговых окон передаются данные(массив int, просто переменные int, куча переменных CString и выбранная дата в календаре). Нужно все эти данные при выборе соответствующего пункта меню сохранять в файл(через диалог сохранения файла), а при выборе другого пункта меню загружать эти же данные...
C++ динамическое программирование http://www.cyberforum.ru/cpp-beginners/thread285946.html
Игра Ним с одной кучей камней и с инвертированными правилами (взявший последний камень проигрывает), нисходящее и восходящее ДП. заранее спасибо...
C++ Реализуйте списочную структуру в виде класса Реализуйте списочную структуру в виде класса.Динамический двусвязный список (операции: добавить элемент после данного, удалить данный элемент …). class List { private: Node* head; public: List(); bool IsEmpty(); подробнее

Показать сообщение отдельно
Evgen88
42 / 42 / 5
Регистрация: 04.11.2010
Сообщений: 119
01.05.2011, 01:16     Описать структуру с именем STUDENT
Нравится учебник Павловской изучать? Мне тоже когда-то нравилось.
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
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
char *Rus(const char *text);
const int l_name=20, l_ses=5;
struct Student{
char name[l_name+1];
char ses[l_ses+1];
int group;
float av;
};
int compare(const void *student1, const void *student2);
void recode(char *dest, char *source);
 
int main(int argc, char* argv[])
{Student student;
FILE *fin=fopen("dbase.txt", "rt");
if (!fin) {puts(Rus("Невозможно открыть файл")); system("pause"); getch();
return 0;}
FILE *fout=fopen("dbase.bin", "wb");
if (!fout) {puts(Rus("Невозможно открыть файл")); system("pause"); getch();
return 0;}
 
char name[l_name+1];
char ses[l_ses+1];
 
int ses1[5], sum;
while(!feof(fin)){
sum=0;
fgets(student.name, l_name, fin);
fscanf(fin, "%i%s\n", &student.group, &student.ses);
int code;
for(int i=0; i<5; i++){
code=(int)student.ses[i];
switch(code){
case 49: {ses1[i]=1; break;}
case 50: {ses1[i]=2; break;}
case 51: {ses1[i]=3; break;}
case 52: {ses1[i]=4; break;}
case 53: {ses1[i]=5; break;}
}
sum+=ses1[i];}
student.av=(float)sum/5;
 
recode(name, student.name);
recode(ses, student.ses);
printf("%s %i %s %.2f\n", name, student.group, ses, student.av);
 
fwrite(&student, sizeof(Student), 1, fout);
}
puts("\n");
fclose(fin);
puts(Rus("Бинарный файл записан\n"));
 
fseek(fout, 0, SEEK_END);
int n_record=ftell(fout)/sizeof(Student);
fclose(fout);
 
FILE *fbin=fopen("dbase.bin", "rb");
if (!fbin) {puts(Rus("Невозможно открыть файл для чтения\n")); system("pause");
getch(); return 0;}
Student *STUDENT=new Student[n_record];
fseek(fbin, 0, SEEK_SET);
fread(STUDENT, sizeof(Student), n_record, fbin);
fclose(fbin);
 
int i;
puts(Rus("Упорядоченный по возрастанию среднего бала массив"));
qsort(STUDENT, n_record, sizeof(Student), compare);
for(i=0; i<n_record; i++){
recode(name, STUDENT[i].name);
recode(ses, STUDENT[i].ses);
printf("%s %i %s %.2f\n", name, STUDENT[i].group, ses, STUDENT[i].av);}
 
int j=0; puts(Rus("\nПоиск ударников:"));
bool not_found=true;
for (i=0; i<n_record; i++){
int k=1;
for(j=0; j<l_ses; j++)
if (STUDENT[i].ses[j]=='2' || STUDENT[i].ses[j]=='3') k=0;
if(k!=0){recode(name, STUDENT[i].name); not_found=false;
printf("%s %i\n", name, STUDENT[i].group);}
}
if(not_found) puts(Rus("Ударников нет\n"));
 
system("pause");
getch();
        return 0;
}
//---------------------------------------------------------------------------
  char bufRus[256];
  char *Rus(const char *text){
  CharToOem(text, bufRus);
  return bufRus;             }
//---------------------------------------------------------------------------
  int compare(const void *student1, const void *student2){
  int p;
  if ( ((Student *) student1)->av < ((Student *) student2)->av) p=-1;
  else if ( ((Student *) student1)->av==((Student *) student2)->av) p=0;
  else p=1;
  return p;                                              }
//---------------------------------------------------------------------------
  void recode(char *dest, char *source){
  strcpy(dest, source);
  CharToOem(dest, dest);
                                       }
Во вложении файл необходимый для работы программы.
Вложения
Тип файла: txt dbase.txt (126 байт, 255 просмотров)
 
Текущее время: 02:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru