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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2019, 14:46   #1
VLADOS2001
Пользователь
 
Регистрация: 19.09.2019
Сообщений: 23
По умолчанию Нужно починить код

Код:
#include<iostream>
 
#include<string>
 
#include<vector>
 
using namespace std;
 
class University
{
public:
 
    string identity; string name; string city; string Univer; string Specialization;
 
    float ZNO[3]; float avgedu; float plusmarks;
 
};
 
int main(int argv,char*argc[]) {
 
    setlocale(NULL, "RUS");
 
    int list;
 
    cout << "Введите объем списка "; cin >> list;
 
    vector<University>STUDENTS(list);
 
    for (size_t i = 0; i < list; i++)
    {
        cout << "Фамилия и инициалы: ";
        cin >> STUDENTS[i].name;
 
        cout << "Идентификационный код: ";
        cin >> STUDENTS[i].identity;
 
        cout << "Город: ";
        cin >> STUDENTS[i].city;
 
        cout << "Средний балл: ";
        cin >> STUDENTS[i].avgedu;
 
        cout << "Дополнительные баллы: " ;
        cin >> STUDENTS[i].plusmarks;
 
        for (size_t i = 0; i < list; i++)
        {
            cout << "ЗНО: " << i;
            cin >> STUDENTS[i].ZNO[i];
        }
 
        cout << "Университет: ";
        cin >> STUDENTS[i].Univer;
 
        cout << "Специальность: ";
        cin >> STUDENTS[i].Specialization;
 
    }
    
 
    cout << " Фамилия и инициалы \t    Идентификационный код \t   Город \t    Средний балл  \t ЗНО \t Дополнительные баллы \t Университет \t Специальность \t  Специальность\n";
    for (size_t i = 0; i < 10; i++)
    {
        cout << STUDENTS[i].name << '\t' << STUDENTS[i].identity << '\t'<< STUDENTS[i].city<< '\t'<<STUDENTS[i].avgedu<<'\t'<<STUDENTS[i].ZNO[i]<<'\t'<<STUDENTS[i].plusmarks<<'\t'<< STUDENTS[i].Univer<<'\t'<<STUDENTS[i].Specialization;
    }
 
    system("pause");
 
    return 0;
}
Изображения
Тип файла: png Сним12345432йфяок.PNG (11.3 Кб, 58 просмотров)
VLADOS2001 вне форума Ответить с цитированием
Старый 07.10.2019, 14:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

найдите 10 отличий и подумайте, где правильно:

Цитата:
Сообщение от VLADOS2001 Посмотреть сообщение
Код:
for (size_t i = 0; i < list; i++)

Цитата:
Сообщение от VLADOS2001 Посмотреть сообщение
Код:
for (size_t i = 0; i < 10; i++)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.10.2019, 14:53   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Начните с простого:
1. не используйте одинаковые имена счетчиков для внешнего и внутреннего цикла
2.
Код:
 for (size_t i = 0; i < list; i++)
        {
            cout << "ЗНО: " << i;
            cin >> STUDENTS[i].ZNO[i];
выход за границы, установка значений только для одно элемента. В выоде аналогично.
3. Для крякозябр в консоли установите выход в 1251.
p51x вне форума Ответить с цитированием
Старый 07.10.2019, 15:06   #4
VLADOS2001
Пользователь
 
Регистрация: 19.09.2019
Сообщений: 23
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Начните с простого:
1. не используйте одинаковые имена счетчиков для внешнего и внутреннего цикла
2.
Код:
 for (size_t i = 0; i < list; i++)
        {
            cout << "ЗНО: " << i;
            cin >> STUDENTS[i].ZNO[i];
выход за границы, установка значений только для одно элемента. В выоде аналогично.
3. Для крякозябр в консоли установите выход в 1251.
Починил но проплема осталось
Код:
#include<iostream>

#include<string>

#include<vector>

using namespace std;

class University
{
public:

	string identity; string name; string city; string Univer; string Specialization;

	float ZNO[3]; float avgedu; float plusmarks;

};

int main(int argv,char*argc[]) {

	setlocale(NULL, "RUS");

	int list;

	cout << "Введите объем списка "; cin >> list;

	vector<University>STUDENTS(list);

	for (size_t i = 0; i < list; i++)
	{
		cout << "Фамилия и инициалы: ";
		cin >> STUDENTS[i].name;

		cout << "Идентификационный код: ";
		cin >> STUDENTS[i].identity;

		cout << "Город: ";
		cin >> STUDENTS[i].city;

		cout << "Средний балл: ";
		cin >> STUDENTS[i].avgedu;

		cout << "Дополнительные баллы: " ;
		cin >> STUDENTS[i].plusmarks;

		for (size_t j = 0; j < list; j++)
		{
			cout << "ЗНО: " << i;
			cin >> STUDENTS[i].ZNO[j];
		}

		cout << "Университет: ";
		cin >> STUDENTS[i].Univer;

		cout << "Специальность: ";
		cin >> STUDENTS[i].Specialization;

	}
	

	cout << " Фамилия и инициалы \t    Идентификационный код \t   Город \t    Средний балл  \t ЗГО \t Дополнительные баллы \t Университет \t Специальность \t  Специальность\n";
	for (size_t i = 0; i < list; i++)
	{
		cout << STUDENTS[i].name << '\t' << STUDENTS[i].identity << '\t'<< STUDENTS[i].city<< '\t'<<STUDENTS[i].avgedu<<'\t'<<STUDENTS[i].ZNO[i]<<'\t'<<STUDENTS[i].plusmarks<<'\t'<< STUDENTS[i].Univer<<'\t'<<STUDENTS[i].Specialization;
	}

	system("pause");

	return 0;
}
если ввести инициалы,то дальше ломается логика
Изображения
Тип файла: png Снимок.PNG (4.3 Кб, 16 просмотров)
VLADOS2001 вне форума Ответить с цитированием
Старый 07.10.2019, 15:14   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Да не починили же.

Код:
for (size_t j = 0; j < list; j++)
У вас 3 элемента в ZNO. Не list, а 3.

Код:
<<STUDENTS[i].ZNO[i]
Что выводим и откуда?

Цитата:
Сообщение от VLADOS2001 Посмотреть сообщение
если ввести инициалы,то дальше ломается логика
Читайте документацию. После ввода "цифр" используйте
Код:
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
или
Код:
std::cin >> std::ws;
Ну или просто вычитывайте оставшийся первод строки.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как починить Exception EOleSysError? Fakov Общие вопросы Delphi 2 13.07.2018 21:42
Починить .exe программу (декомпилятор) samokat Фриланс 22 21.08.2016 04:20
Помогите починить программу c/c++ volk00 Помощь студентам 11 10.12.2013 21:02
починить программу под ХР для написания ЧПУ balticdoors Фриланс 6 22.10.2012 13:55
WinInet ('GET') = Иероглифы. Как починить? trafbite Работа с сетью в Delphi 1 19.04.2012 09:02