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

Описать структуру Student - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, попадает ли точка в круг. http://www.cyberforum.ru/cpp-beginners/thread258633.html
Определить попадает ли точка с координатами х,у в круг радиуса r с центром в начале координат. Вывести признак N=1, если точка находится внутри круга, и признак N=0, если точка находится вне круга. Помогите пожалуйста
C++ Работа с функциями..! Треугольник ABC задано координатами своих вершин на плоскости. Найти внутренние углы треугольника (в радианах). C++ http://www.cyberforum.ru/cpp-beginners/thread258626.html
C++ функции..!
3) Задано моменты начала и конца некоторого промежутка времени в часах, минутах и секундах (в пределах одних суток). Найти длительность этого промежутка в тех же единицах измерения. С++ Помогите плс!
C++ Структуры
Требования к программе: Вывод на консоль сформированной ведомости и выписки из ведомости для сотрудников, фактическая зарплата которых не превышает значения, введенного с консоли. Записи ведомостей должны быть отсортированы по возрастанию фактической зарплаты. #include "stdafx.h" #include <iostream> #include <string.h> // Для работы с функцией strcpy(); struct NachZarp ...
C++ Cтроки. 2 программы http://www.cyberforum.ru/cpp-beginners/thread258609.html
Нужно на С++ 1)Дан текст, содержащий цифры. Найти наибольшее количество идущих подряд цифр. 2)Дано осмысленное текствовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и знаками препинания, в конце которого ставится точка. Вывести только те слова сообщения, которые встречаются в нем более n раз. Сделайте плиз. Попробую разобраться, сейчас возможности нет ( Буду...
C++ Написать програму... 1) Дано чотири цілих числа, одне з яких відмінне від трьох інших, рівних між собою. Вивести квадрат цього числа. 2) Дано три дійсних числа X, Y, Z. З трьох даних чисел вибрати число, що лежить знаходиться між двома іншими. 1) Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Вывести квадрат этого числа. 2) Дано три действительных числа X, Y, Z. Из трех... подробнее

Показать сообщение отдельно
IrineK
Заблокирован
16.03.2011, 22:43
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
#include <iostream>
#include <fstream>
#define DIM 10
#define SLEN 70
#define SUB 3
using namespace std;
 
struct Student {
       char name[SLEN];
       int code;
       char subject[SUB][SLEN];
       int mark[SUB];
};
int setData(Student A[], int n);
void showConsole(const Student* pA);
void outData(Student A[], int n);
void showOne(char stu[]);
 
int main()
{   setlocale(LC_ALL,"");
    cout<<"Приложение позволяет ввести, сохранить в файле и обрабатывать\n";
    cout<<"информацию о студентах и их оценках\n";
    cout<<"Максимальное количество записей за один сеанс - 10\n";
    cout<<"Чтобы закончить раньше - введите пустую строку в поле <Имя>\n";
 
    Student *pApp = new Student[DIM];
    int fact = setData(pApp, DIM);//фактически введенное к-во записей за сеанс
 
    system("cls");
    cout<<"Вами введено "<<fact<<" записей\n\n";
    for (int i = 0; i < fact; i++)
       showConsole(&pApp[i]);
   
    cout<<"Идет запись в файл...\n";
    outData(pApp,fact);
    delete [] pApp;
 
    system("pause");
    system("cls");
    char st[SLEN];
    cout<<"Вывод среднего балла выбранного студента\n";
    cout <<"ИМЯ:\t";
    cin.getline(st,SLEN);
    showOne(st);
    
    system("pause");
    return 0;
}
 
int setData(Student A[], int n)
{   int i = 0, j=0;
    for (i = 0; i < n; i++)
    {
        cout<<"\n\n";
        cout << "ИМЯ:\t\t";
        cin.getline(A[i].name, SLEN);
        cin.sync();
        if(strlen(A[i].name)<1) break;
        cout<<"КОД:\t";
        cin>>A[i].code;
        cin.sync();
        for(j=0;j<SUB;j++)
        {   cout <<"\tПРЕДМЕТ:\t";
            cin.getline(A[i].subject[j], SLEN); 
            cout<<"\tОЦЕНКА:\t";
            cin>>A[i].mark[j]; 
            cin.sync();
        }
        cin.sync();
    }
    return i;
}
 
void showConsole(const Student* pA)
{   cout <<"ИМЯ:\t\t"<< pA->name << "\n";
    cout<<"КОД:\t"<< pA->code<<"\n"; 
    for(int j=0;j<SUB;j++)
    {   cout <<"\tПРЕДМЕТ:\t"<< pA->subject[j] << "\n";
        cout<<"\tОЦЕНКА:\t"<< pA->mark[j] << "\n";
    }
    cout<<"_________________________________________\n";
}
 
void outData(Student A[], int n)
{   ofstream dataOut;
    dataOut.open("Application.dat",ofstream::app);
    if (dataOut.is_open())
    {   for(int i=0;i<n;i++)
            dataOut.write((char *)&A[i],sizeof(Student));
        dataOut.close();
        cout<<"Все записи успешно занесены в файл\n";
    }
    else cout<<"Не удалось открыть файл для записи\n";
}
 
void showOne(char stu[])
{
    ifstream dataIn;
    Student Cur;
    double aver = 0.0;
    dataIn.open("Application.dat");
    if(dataIn.is_open())
    {   while(dataIn.good())
        {   dataIn.read((char *)&Cur,sizeof(Student));
            if(strcmp(Cur.name,stu)==0)
            {   cout<<"КОД:\t"<<Cur.code<<"\n"; 
                for(int i=0;i<SUB;i++)
                    aver+=1.0 * Cur.mark[i];
                cout<<"СРЕДНИЙ БАЛЛ: \t"<<aver/SUB<<"\n";
                break;
            }
        }
    dataIn.close();
    }
    else cout<<"Не удалось открыть файл для чтения\n";
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru