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

Распечатать список студентов, которые получили только оценки 5 на экзаменах, в возрастающем порядке по возрасту - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для параболы на промежутке [0,1] найти значение производной в десяти равноудаленных точках. С закругленных найденных значений сформировать множество А http://www.cyberforum.ru/cpp-beginners/thread1062604.html
Если не трудно.....
C++ С клавиатуры задается последовательность символов Написать программу, которая выводит на экран все возможные перестановки введенных символов,которие являются согласными. Помогите пожалоста............. если не трудно с графическим интерфейсом (с применением Windows Forms) на С++ http://www.cyberforum.ru/cpp-beginners/thread1062597.html
C++ Определение функций
Помогите последний день сдачи лаб. Определить две функции: void WriteComplex(char * fname, Complex * buffer, int count); – функция записывает count элементов типа Complex из массива buffer в файл с именем fname; int ReadComplex(char * fname, Complex * buffer, int count); – функция читает count элементов типа Complex из файла с именем fname в массив buffer и возвращает количество фактически...
Сворачивание программы самой себя в трей C++
Добрый вечер! Что нужно прописать в начало программы, чтобы после запуска она сворачивала саму себя в трей? Программа консольная. Добавлено через 4 минуты Поспешил с созданием темы... Свернуть можно прописав SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
C++ Написать программу, которая считывает целое число, определяет и печатает, четное оно или нечетное http://www.cyberforum.ru/cpp-beginners/thread1062588.html
Привет,народ!Помогите написать программу ,которая считывает целое число, определяет и печатает, четное оно или нечетное.
C++ Поменять в массиве местами строку с наибольшим и строку с наименьшим количеством различных элементов Помогите, пожалуйста, решить задачу на С++ . Дан массив действительных чисел размера m на n, где m и n – натуральные числа. Поменять в массиве местами строку с наибольшим и строку с наименьшим количеством различных элементов подробнее

Показать сообщение отдельно
games over
0 / 0 / 0
Регистрация: 03.01.2014
Сообщений: 9
07.01.2014, 11:25  [ТС]     Распечатать список студентов, которые получили только оценки 5 на экзаменах, в возрастающем порядке по возрасту
есть такой код но с ошибкой какую я не магу ісправіть пасматріте может знаєте




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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string.h>
 
 
using namespace std;
 
const int Nstud=100;
 
struct stud {
    char name[15],surname[15];
    struct bth {
    int year,month,day;
    } birthday;
    struct p {
        int ma,la,op,dm,iu,ang;
        } points;
    }  ptrs[Nstud];
 
 
void NotTwo(stud [],int);
void print(stud*);
void namesort(stud[],int);
void maxyear(stud[],int);
 
 
void main() {
    stud st[Nstud];
    int i=0,pos=0;
    char line[200],birth[11];
    ifstream infile;
    infile.open("Сесія.txt");
    if(infile.fail()) { cout<<"Error"<<endl;getch(); return; };
    cout<<"Full list:\n";
    while(!infile.eof()) {
        infile.getline(line,sizeof line);
        strcpy(st[pos].surname,strtok(line,"\t"));
        strcpy(st[pos].name,strtok(NULL,"\t"));
        strcpy(birth,strtok(NULL,"\t"));
        st[pos].points.ang=atoi(strtok(NULL,"\t"));  
        st[pos].points.dm=atoi(strtok(NULL,"\t"));
        st[pos].points.iu=atoi(strtok(NULL,"\t"));
        st[pos].points.la=atoi(strtok(NULL,"\t"));
        st[pos].points.ma=atoi(strtok(NULL,"\t"));
        st[pos].points.op=atoi(strtok(NULL,"\t"));
        st[pos].birthday.day=atoi(strtok(birth,"."));
        st[pos].birthday.month=atoi(strtok(NULL,"."));
        st[pos].birthday.year=atoi(strtok(NULL,"."));
        print(&st[pos]);
        pos++;
    };
    cout<<endl;
    NotTwo(st,pos);
    getch();
}
 
void NotTwo(stud st[],int pos) {
    int i,p=0;
    for(i=0;i<pos;i++) {
        if(st[i].points.ang!=2&&st[i].points.dm!=2&&st[i].points.iu!=2&&
            st[i].points.la!=2&&st[i].points.ma!=2&&st[i].points.op!=2) {
            ptrs[p++]=st[i];
        };
    };
    namesort(ptrs,p);
    maxyear(ptrs,p);
};
 
void print(stud *b) {
        cout<<b->surname<<" ";
        cout<<b->name<<" ";
        cout<<b->birthday.day<<"."<<b->birthday.month<<"."<<b->birthday.year<<" ";
        cout<<b->points.ang<<" ";
        cout<<b->points.dm<<" ";
        cout<<b->points.iu<<" ";
        cout<<b->points.la<<" ";
        cout<<b->points.ma<<" ";
        cout<<b->points.op<<" "<<endl;
};
 
void namesort(stud ptrs[],int ps) {
    int i,j;
    stud tmp;
    
    for(i=0;i<ps;i++)
        for(j=0;j<ps-1;j++) {
 
            if(strcmp(ptrs[j].surname,ptrs[j+1].surname)>0) {
                tmp=ptrs[j];
                ptrs[j]=ptrs[j+1];
                ptrs[j+1]=tmp;
            };
            if(strcmp(ptrs[j].surname,ptrs[j+1].surname)==0){
                if(strcmp(ptrs[j].name,ptrs[j+1].name)>0) {
                    tmp=ptrs[j];
                    ptrs[j]=ptrs[j+1];
                    ptrs[j+1]=tmp;
                };
            };
        };
    cout<<"\nList of students without mark 2:\n\n";
    for(i=0;i<ps;i++) print(&ptrs[i]);
};
 
void maxyear(stud ptrs[],int ps) {
    int i,j;
    stud tmp;
    
    for(i=0;i<=ps;i++)
        for(j=0;j<ps-1;j++) {
            if( (ptrs[j].birthday.year>ptrs[j+1].birthday.year)  || 
                (ptrs[j].birthday.year==ptrs[j+1].birthday.year&&ptrs[j].birthday.month>ptrs[j+1].birthday.month)  || 
                (ptrs[j].birthday.year==ptrs[j+1].birthday.year&&ptrs[j].birthday.month==ptrs[j+1].birthday.month&&ptrs[j].birthday.day>ptrs[j+1].birthday.day)){
                tmp=ptrs[j];
                ptrs[j]=ptrs[j+1];
                ptrs[j+1]=tmp;
            };
        
        };
    cout<<"\n\nTwo oldest students: \n";
    print(&ptrs[0]);
    print(&ptrs[1]);
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru