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

Структура "Студент"

13.12.2014, 05:25. Просмотров 213. Ответов 1
Метки нет (Все метки)

Проверка кода на правильность

Первая программа для ввода данных и помещение этих данных в файл
Данные:
Имя, фамилия, номер, оценка.

Вторая программа выводит данные из файла в виде таблицы и заполняет ее следующими данными:
Пользователь вводит "номер" а программа ищет всех людей с этим номером.

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
#include <iostream>     /* Input and output operations. */
#include <fstream>      /* Input/output class to operate on files. */
#include <sstream>      /* Used for stringstream operation - string to numbers etc. */
#include <string>       /* Using string and manipulating it e.g. lentgth etc. */
#include <iomanip>      /* In current case used for setw(x). */
 
using namespace std;
 
struct std_info{
    int entry;
    string name;
    string surname;
    string apl_num;
    int avg_grade;
} student[100];
 
void printinfo(std_info student);
 
int main(){
    ifstream myfile;
    myfile.open("4.maria.menson.121rdb559.dat");
 
    string  line,
            inp;
 
    int num_of_entries = 0,
        i = 0;
 
        cout << "//==============================================================================" << endl;
        cout << "//                 Reading data from file" << endl;
        cout << "//==============================================================================" << endl;
 
        cout << "    Entry #    " << "|" << "    Name    " << "|" << "    Surname   " << "|" << " Student num " << "|" << "Avarage Grade" << "|" << endl;
        if (myfile.is_open()){
            while (myfile.eof() != 1){
                for (i = 0; i <= 4; i++){
                    getline(myfile, line);
                    cout << setw(15) << line << "|";
                }
                cout << endl;
                num_of_entries++;
            }
 
            myfile.close();
            myfile.open("4.maria.menson.121rdb559.dat");
 
            for (int x = 0; x < num_of_entries; x++){
                for (int y = 0; y <= 4; y++){
                    getline(myfile, line);
                    if (y == 0){
                        stringstream(line) >> student[x].entry;
                    }
                    if (y == 1){
                        student[x].name = line;
                    }
                    if (y == 2){
                        student[x].surname = line;
                    }
                    if (y == 3){
                        stringstream(line) >> student[x].apl_num;
                    }
                    if (y == 4){
                        stringstream(line) >> student[x].avg_grade;
                    }
                }
            }
 
            myfile.close();
 
            cout << "//==============================================================================" << endl << endl;
 
            cout << "Please enter student number: ";
            getline(cin, inp);
 
            cout << endl << "Students with student number: " << inp << endl << endl;
 
            cout << "//==============================================================================" << endl;
            cout << "    Entry #    " << "|" << "    Surname    " << "|" << "    Position   " << "|" << " Year of Birth " << "|" << "Work Experience" << "|" << endl;
 
            for (i = 0; i < num_of_entries; i++){
                if (inp.compare(student[i].apl_num) == 0){
                    printinfo(student[i]);
                }
            }
            cout << "//==============================================================================" << endl << endl;
        }
        else{
            cout << "Cannot open the file!";
        }
 
        cout << "Hit any key to exit ...";
        getchar();
}
 
void printinfo(std_info student){
    cout << setw(15) <<
        student.entry << "|" << setw(15) <<
        student.name << "|" << setw(15) <<
        student.surname << "|" << setw(15) <<
        student.apl_num << "|" << setw(15) <<
        student.avg_grade << "|" << endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2014, 05:25
Ответы с готовыми решениями:

Создать класс "Студент" и классы "Бюджетный студент" и "Коммерческий студент"
Доброго времени суток. Помогите с задачкой. Наследование. Создать класс...

Структура "Студент", найти студента с максимальными оценками
Вводим список студентов и их оценки.Как вывести студента с максимальным баллом...

Структура "Студент". Перевести всех на следующий курс
составить электронную библиотеку студентов вводящую информацию с клавиатуры для...

Структура "Студент". Найти студента с минимальным доходом
Для получения места в общежитии формируется список студентов, который включает...

Структура "Студент": переделать задачу с использованием указателей
Описать Структуру с именем STUDENT с полями: 1. NAME-фамилия и инициалы;...

1
alspirichev
6 / 6 / 2
Регистрация: 25.11.2013
Сообщений: 37
14.12.2014, 23:08 2
программа представлена не полностью
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2014, 23:08

Как дописать код для полного функционирования? Структура "Студент"
все в принципе работает с одним студентом,но есть загвоздка,если ставишь больше...

Структура "Студент", вывести список студентов упорядоченный по порядковому номеру
Cоздать структуру Student.Она должна включать в себя 3 поля: Порядковый номер ,...

Структура/класс "Студент". Применение конструкторов
Не используя функции стандартной библиотеки Си для работы со строками, кроме...


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

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

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