Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив WinRAR / s126v3strukturi

.cpp
Скачиваний:
10
Добавлен:
20.04.2015
Размер:
1.57 Кб
Скачать
#include <stdafx.h>
#include <iostream>
using namespace std;
const int k = 2;//Количество студентов
void scan(char *strin);//Считывание строки с пробелами
bool _two(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];//Массив структуры
	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(_two(A[i].uspev))//проверка условия
		{
			cout << "Group " << A[i].group << " " << A[i].name << 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';
}

bool _two(char *strin)
{
	int i=0;
	while(strin[i++] != '\0')
		if(strin[i] == '2')
			return true;
	return false;
}

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