Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C] Структуры и параметризованные коллекции, помо 
:(
    Опции темы
Pa1nk1ller
Дата 7.1.2012, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 4.12.2011

Репутация: нет
Всего: нет



Всем доброго времени суток!!!
помогите пожалуйста с задачей. никак не могу понять что надо сделать.

Описать структуру, соответствующую заданиям лабораторной работы 10. Создать параметризованную коллекцию (см. раздел «Классы-прототипы») для хра-нения описанной структуры. Вид коллекции выбрать самостоятельно. Написать Windows-приложение для работы с этой коллекцией, позволяющее выполнять:
□ добавление элемента в коллекцию с клавиатуры;
□ считывание данных из файла;
□ запись данных в тот же или указанный файл;
□ удаление элемента из коллекции1.
Приложение должно содержать меню и диалоговые окна и предусматривать обработку возможных ошибок пользователя с помощью исключений.

Вот лабораторная 10:
Описать структуру с именем STUDENT, содержащую следующие поля:
□ фамилия и инициалы;
□ номер группы;
□ успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
□ ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT (записи должны быть упорядочены по возрастанию номера группы);
□ вывод на экран фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0 (если таких студентов нет, вывести соответствующее сообщение).

Вот решение 10 лабораторной:

Код

using System;
using System.Collections.Generic;
using System.Text;

namespace zadanie_10
{
    class Program
    {
        const int STUDENTS_QUANTITY = 2;
        const int SUBJECT_QUANTITY = 5;

        static void Main(string[] args)
        {
            Student[] Results = new Student[STUDENTS_QUANTITY];

            GetStudents(Results);
            CheckGoodMark(Results);
            
            Console.ReadKey();
        }

        public struct Student
        {
            public string Surname;
            public string Initials;
            public int GroupNumber;
            public int[] Marks;
        }

        static void GetStudents(Student[] Students)
        {
            string buf;
            Student student = new Student();
            student.Marks = new int[SUBJECT_QUANTITY];

            for (int i = 0; i < STUDENTS_QUANTITY; i++)
            {
                 Console.WriteLine("Введите фамилию студента:");
                student.Surname = Console.ReadLine();
                Console.WriteLine("Введити инициалы студента:");
                student.Initials = Console.ReadLine();
                Console.WriteLine("Введите группу студента:");
                buf = Console.ReadLine();
                student.GroupNumber = Convert.ToInt32(buf);
                Console.WriteLine("Введите оценку студента: ");
                for (int h = 0; h < SUBJECT_QUANTITY; h++)
                {
                    buf = Console.ReadLine();
                    student.Marks[h] = Convert.ToInt32(buf);
                }
                Students[i] = student;
            }

            //сортировка
            for (int h = STUDENTS_QUANTITY - 1; h > 0; h--)
            {
                for (int s = 0; s < h; s++)
                {
                    if (Students[s].GroupNumber > Students[s + 1].GroupNumber)
                    {
                        int tmp1 = Students[s].GroupNumber;
                        string tmp2 = Students[s].Surname;
                        string tmp3 = Students[s].Initials;
                        int[] tmp4 = Students[s].Marks;

                        Students[s].GroupNumber = Students[s + 1].GroupNumber;
                        Students[s].Surname = Students[s + 1].Surname;
                        Students[s].Initials = Students[s + 1].Initials;
                        Students[s].Marks = Students[s + 1].Marks;

                        Students[s + 1].GroupNumber = tmp1;
                        Students[s + 1].Surname = tmp2;
                        Students[s + 1].Initials = tmp3;
                        Students[s + 1].Marks = tmp4;
                    }
                }
            }
        }

        static void CheckGoodMark(Student[] Students)
        {
            bool found = false;
            int summa = 0;
            float aver = 0;

            for (int i = 0; i < STUDENTS_QUANTITY; i++)
            {
                for (int j = 0; j < SUBJECT_QUANTITY; j++)
                    summa += Students[i].Marks[j];

                aver = summa/5;

                if (aver >= 4.0)
                {
                        found = true;
                        Console.Write("Студент " + Students[i].Surname + " " + Students[i].Initials);
                        Console.Write(" из группы N" + Students[i].GroupNumber);
                        Console.WriteLine(" имеет средний бал больше 4,0");
                }
                aver = 0;
                summa = 0;
            }
            if (!found)
            {
                Console.WriteLine("записей не найдено");
            }
        }
    }
}


помогите кто может или объясните пожалуйста!
заранее спасибо!!!

Добавлено через 2 минуты и 29 секунд
что такое???
указал в теме C#, а вывелось C....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1157 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.