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

Вывод на экран фамилий и номеров групп для всех студентов, включенных в базу данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Калькулятор http://www.cyberforum.ru/cpp-beginners/thread845451.html
Как можно описать пользовательские характеристики калькулятора?
C++ Дано четырехзначное число. Проверить истинность высказывания: Дано четырехзначное число. Проверить истинность высказывания: данное число читается одинаково слева направо и справа налево. http://www.cyberforum.ru/cpp-beginners/thread845445.html
Определить номер дня недели для K дня года C++
Дни недели пронумерованы следующим образом: 1-понедельник, 2-вторник,6-суббота, 7-воскресенье. Дано целое число K, лежащее в диапазоне 1-365. Определить номер дня недели для K дня года, если известно, что в этом году 1 января было понедельником
C++ ребят, какие строки нужно добавить, чтобы считывал число Pi (С++)
Вот дан код программы для вычисления интеграла методом Симпсона. мне нужно добавить пару строк, чтобы я смог вводить в консольку напрмер a и b: Pi/4 и 3*Pi/4 и он сам считал Pi=3,1415926535897932384626433832795… подскажите пожалуйста. Спасибо! #include <iostream> #include <math.h> using namespace std; double F(double x) { return (1/(pow(sin(x/3),2)));
C++ Простенькое графическое меню для консольного приложения DOS http://www.cyberforum.ru/cpp-beginners/thread845391.html
помогите реализовать простенькое графическое меню для консольного приложения DOS
C++ Сортировка слиянием структуры Вот моя структура: struct man{ char name; int age,weight; }; Мне нужно отсортировать её слиянием по полю age. Я написал код исходя из алгоритма сортировки одномерного массива, но он, естественно, работает не верно. Посмотрите в чем ошибка static void mergesort_age(struct man items, int l, int r, int m) подробнее

Показать сообщение отдельно
nicshe
 Аватар для nicshe
1 / 1 / 1
Регистрация: 23.11.2012
Сообщений: 37
22.04.2013, 19:17     Вывод на экран фамилий и номеров групп для всех студентов, включенных в базу данных
Описать класс Student, содержащий следующие поля:
· Фамилия и инициалы
· Номер группы
· Успеваемость (массив из трех элементов)
Записать в файл базу данных из объектов класса Student
Задать переопределенные операции и функции, необходимые для работы с базой данных.
Написать программу, выполняющую следующие действия:
· Ввод с клавиатуры информации в базу данных
· Просмотр содержимого базы данных
· Вывод на экран фамилий и номеров групп для всех студентов, включенных в базу данных, если средний балл студентов больше 4.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
147
148
149
150
151
152
153
154
155
156
157
158
#include <iostream>
#include <iomanip>      
#include <fstream>
#include <string.h>        
//Описание класса Студент
 
using namespace std;
class Student
 { private:
      static const int Max = 3;      // шкала баллов
      char pName[30];                // Cтрока, содержащая фамилию и инициалы студента
      int NumGroup;                  // номер группы
      int Rating[Max];               // оценка
 
   public:                           
      Student(){ };                       // Пустой конструктор
 
      // Переопределенная операция для поиска студента
       int* GetRating(){return Rating;}   // Возвращает оценку
      char* GetName(){return pName;} // Возвращает Ф.И.О.
     
      // Переопределенные методы потокового ввода и вывода
      friend istream& operator >>(istream&, Student&);  
      friend ostream& operator <<(ostream&, Student&);
 };
 
 //Переопределенный потоковый ввод
istream& operator >>(istream& in, Student& ob)
 { in>>ob.pName;                     // Читаем из входного потока фамилию и инициалы
   in>>ob.NumGroup;                  // Читаем из входного потока номер группы
   in>>ob.Rating[2];                       // Читаем из входного потока оценку
   return in;
 }
 
 //Переопределенный потоковый вывод
ostream& operator <<(ostream& out, Student& ob)
 { out<<setw(30)<<ob.pName;          // Помещаем в выходной поток фамилию и инициалы
   out<<setw(6)<<ob.NumGroup;        // Помещаем в выходной поток номер группы
   out<<setw(3)<<ob.Rating<<"\n";      // Помещаем в выходной поток оценку
   return out;                      
 }
 
//ОПИСАНИЕ ФУНКЦИЙ ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ
 
//Описание функции для ввода информации в базу данных
void InputBD()
 { ofstream f;                            // Описание выходного файлового потока
   // Описание объекта типа Студент для чтения и записи информации
   Student S;                                 
   f.open("C:\\Documents\\Visual Studio 2010\\Projects\\СТУДЕНТ\\СТУДЕНТ\\bd.dat");// Открытие файлового потока для записи
   int answer=1;
   while (answer)
    {  cout<<"\nВведите фамилию и инициалы в формате Фамилия И. О. <Enter>\n";
       cout<<"Номер группы <Enter>\n";
       cout<<"Введите оценку <Enter>\n";
       cout<<">";
       cin>>S;                       
       f<<S;                         
       cout<<"\nПродолжить? 1-Да,0-Нет>";
       cin>>answer;
    }
   cout<<"=====================================================\n";
   cout<<"Ввод данных завершен\n";
   f.close();                        
 }
 
//Описание функции для просмотра содержимого базы данных
 
 void ShowBD()
 { ifstream f;                            
   Student S;
   f.open("C:\\Documents\\Visual Studio 2010\\Projects\\СТУДЕНТ\\СТУДЕНТ\\bd.dat");// Открытие файлового потока для записи
   // Печать шапки таблицы
   cout<<"\n=====================================================\n";
   cout<<setw(30)<<"Фамилия И.О."<<setw(6)<<"группа"<<setw(3)<<"оценка"<<"\n";
   f>>S;                                  
   while (!f.eof())
    { cout<<S;                            
      f>>S;                             
    }
  cout<<"=====================================================\n";
  f.close();                              
 }
 
//Описание функции для поиска студента с средним баллом больше 4.0.
void SearchRating(int SRating[3])
 { ifstream f;               
   int found=0;             
   // Описание объекта типа Студент для чтения и записи информации
   Student S;
   f.open("C:\\Documents\\Visual Studio 2010\\Projects\\СТУДЕНТ\\СТУДЕНТ\\bd.dat"); 
   // Печать шапки таблицы          
   cout<<"\n=====================================================\n";
   cout<<setw(30)<<"Фамилия И.О."<<setw(6)<<"группа"<<setw(3)<<"оценка"<<"\n";
   f>>S;
   while (!f.eof())         
    { if (S.GetRating()>SRating)     
      { cout<<S;          
        found =1;            
      }
      f>>S;                
    }
   if (!found)              
      cout<<"\nТаких студентов нет\n";     
  cout<<"=====================================================\n";
  f.close();             
 }
 
//Описание функции для поиска записей с заданными Ф.И.О.
void SearchName(char Name[30])
 { ifstream f;
   int found=0;
   Student S;
   f.open("C:\\Documents\\Visual Studio 2010\\Projects\\СТУДЕНТ\\СТУДЕНТ\\bd.dat");
   cout<<"\n=====================================================\n";
   cout<<setw(30)<<"Фамилия И.О."<<setw(6)<<"группа"<<setw(3)<<"оценка"<<"\n";
   f>>S;
   while (!f.eof())
    { if (!strcmp(S.GetName(),Name))                
      { cout<<S;                   // Выводим информацию о сотруднике
        found=1;
      }
      f>>S;
    }
   if (!found)
       cout<<"\nТаких студентов нет\n";
   cout<<"=====================================================\n";
   f.close();
 }
 
//Главная функция
void main()
 { 
   setlocale(LC_CTYPE, "Russian_Russia.1251");
   InputBD();                                   // Ввод информации в базу данных
   ShowBD();                                    // Вывод содержимого базы данных
   cout<<"Поиск студентов, чья оценка больше 4.0\n";
   cout<<"Поиск завершается при вводе значения, равного -1\n";
   int S_rating[2];                                // Заданная оценка
   while(1)                                      // Используем бесконечный цикл
     {  cout<<"Введите величину оклада или -1\n";
        cin>>S_rating[2];                             // Вводим искомую оценку
        if(S_rating[2]==-1)                           // Если введено значение -1,
            break;                                // завершаем поиск
        SearchRating(S_rating);                       // Иначе осуществляем поиск
     }
   cout<<"Поиск студентов с заданными Ф.И.О.\n";
   cout<<"Поиск завершается при вводе значения, равного 0\n";
   char Name[30];                                
   int answer=1;                                  // Переменная для организации цикла
   while(answer)
     {  cout<<"\nВведите фамилию и инициалы в виде Фамилия И.О.<Enter>\n";
        cin>>Name;                                // Вводим строку - Ф.И.О.
        SearchName(Name);                         // Осуществляем поиск
        cout<<"\nПродолжить? Да-1, Нет-0>";
        cin>>answer;
     }
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru