Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Архив WinRAR / s125v1strukturi
.cpp#include <stdafx.h>
#include <iostream>
using namespace std;
const int k = 2;//Количество студентов
void scan(char *strin);//Считывание строки с пробелами
float sredn_bal(char *strin);//Нахождение среднего балла
void sort(struct STUDENT A[k]);//Сортировка структуры для вывода
struct STUDENT
{
char name[63];
char group[63];
char uspev[63];
};
int main(void)
{
STUDENT A[k], tmp;//Массив структуры
bool ex=false;//Условие
for(int i = 0; i < k; i++)//Заполнение массива структуры
{
cout << "Student " << i+1 << ":" << endl;
cout << "Enter name student -> ";scan(A[i].name);
cout << "Enter number group -> ";scan(A[i].group);
cout << "Enter uspevaemost\' -> ";scan(A[i].uspev);
cout << endl;
}
sort(A);//Отсортировать по группам по возрастанию
cout << endl;
for(int i = 0; i < k; i++)//Вывод структуры
if(sredn_bal(A[i].uspev) > 4.0)//проверка условия
{
cout << "Group " << A[i].group << " " << A[i].name << " Sredniy bal: " << sredn_bal(A[i].uspev) << endl;
if(!ex)ex=true;
}
if (!ex)//Если условие не выполнилось
cout << "TakiX net" << endl;
return 0;
}
void scan(char *strin)
{
int i=0;
while((strin[i++]=getchar()) != '\n');
strin[i-1]='\0';
}
float sredn_bal(char *strin)
{
int i=0, j=0;
float sum=0;
int A[63];
while(strin[i++] != '\0')
{
if(strin[i] >= '0' && strin[i] <= '9')
A[j++] = strin[i] - '0';
}
for(i = 0; i < j; i++)sum+=A[i];
sum/=j;
return sum;
}
void sort(struct STUDENT A[k])//Сортировка сруктуры по группам
{
STUDENT tmp;
for(int i = 0; i < k; i++)
for(int j = k-1; j > i; j-- )
if ( strcmp(A[j-1].group, A[j].group) > 0 ) //Сравнение строк
{
tmp = A[j-1];
A[j-1] = A[j];
A[j] = tmp;
}
}
Соседние файлы в папке Архив WinRAR