Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2015, 19:54   #1
benzema241
 
Регистрация: 05.10.2015
Сообщений: 2
По умолчанию вылетает.

Здравствуйте!
Сама формулировка задачи: Массив записей содержит информацию о результатах сдачи зимней сессии: фамилия, шифр группы, оценки по четырем предметам. Написать программу, которая вводит эту информацию и печатает шифры групп в порядке убывания средней успеваемости. После ввода информации о группе, программа должна спрашивать "продолжить ввод информации о следующей группе или вывести результат".
Программу написал,но когда хочу ввести инфу о еще одной группе или вывести результат,она вылетает,в чем проблема?
Вот код:
Код:
// prog5.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h>
#include <stdio.h>
#include <conio.h>

using namespace std;

struct student {
	string f, g;
	int b[4],kol;
	float sr, srob;
};



int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "Russian");

	student st[1000], s;
	int kolgroop = 0, k, ch, i , j ;
	bool t = false;

	for (k = 0, ch = 1; ch != 2; ++k)
	{
		cout << "--------------------------------------------" << endl;
		cout << "Введите шифр группы № " << kolgroop + 1 << endl;
		cin >> st[k].g;
		cout << "Введите количество студентов в группе " << st[k].g << endl;
		cin >> st[k].kol;
		st[k].srob = 0;


		//Ввод фамилии и результатов экзаменов, проверка на ввод
		for (i = 0; i < st[k].kol; i++) {
			cin.clear();
			cin.sync();
			st[i].sr = 0;

			cout << "Ввод данных о " << i + 1 << " студенте" << endl;
			cout << "Введите фамилию" << endl;
			cin >> st[i].f;
			for (j = 0; j < 4; j++) {
				cout << "Введите результат " << j + 1 << " экзамена (от 2 до 5)" << endl;
				cin >> st[i].b[j];
			}
		}

		//Нахождение средней успеваемости у одного студента
		st[i].sr += st[i].b[j];

		st[i].sr = st[i].sr / 4;
		st[k].srob += st[i].sr;

		//Нахождение средней успеваемости среди группы
		st[k].srob = st[k].srob / st[k].kol;

		cout << "Ввести информацию о еще одной группе? (1 - да, 2 - нет): ";
		cin >> ch;
		

			cout << "--------------------------------------------" << endl;
			//Сортировка по убыванию методом пузырька
			cout << "Шифры групп в порядке убывания средней успеваемости" << endl;
			for (k = 0; k < kolgroop - 1; k++) {
				for (j = k + 1; j < kolgroop; j++){
					if (st[k].srob < st[j].srob) { s = st[j]; st[j] = st[k]; st[k] = s; }


					//Вывод результата на экран
					for (k = 0; k < kolgroop; k++)
						cout << st[k].g << ": " << st[k].srob << endl;

					_getch();
				}
			}
		
	}
	

	return 0;
}

Последний раз редактировалось Stilet; 06.12.2015 в 21:05.
benzema241 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вылетает приложение! Romowski Visual C++ 6 18.01.2013 15:53
Программа вылетает alik98 Паскаль, Turbo Pascal, PascalABC.NET 7 19.09.2012 22:10
c++ структуры/ вылетает mcBottle Помощь студентам 1 14.04.2012 11:06
Вылетает Qt Levsha100 Qt и кроссплатформенное программирование С/С++ 2 03.11.2010 18:19