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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структуры, отсортировать массив по алфавиту 
:(
    Опции темы
keks123
Дата 23.10.2009, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
int i,j,result=0;
struct Student
{
char name[10];
int group;
float ses[5];
};
Student mas[10],x;
void stud();
void sort();
void rait();
void main()
{
for(;result!=1;)
{

int answer;
clrscr();
printf("\n Stud. - Enter 1\n Info. - Enter 2\n Sess. - Enter 3\n Exit. - Enter 0\n\n You answer: ");
scanf ("%i",&answer);
switch(answer)
{
        case 1:{clrscr();stud();result=0;break;}
        case 2:{clrscr();sort();result=0;break;}
        case 3:{clrscr();rait();result=0;break;}
        default:{exit(0);}

}
}
}
void stud()
{
for(i=0;i<10;i++)
{
        clrscr();
        cprintf("                                Student %i.",i+1);
        printf("\n SeName:  ");
        scanf("%s",&mas[i].name);
        printf(" Group:   ");
        scanf("%i",&mas[i].group);
        printf("\n Raiting:\n");
        for(j=0;j<5;j++)
        {
                printf (" %i: ",j+1);
                scanf("%f",&mas[i].ses[j]);
        }
}
getch();

}

void sort()
{
cputs("                                Spisok.");
for(i=0;i<10;i++)
{
        for(j=i;j<10;j++)
        {
             
        }
printf("\n %i: SeName: %s\n    Group: %i",i+1,mas[i].name,mas[i].group);
}
getch();
}
void rait()
{
int r;
float s,m;
cputs("                                Session.");
for(i=0;i<10;i++)
{
        m=0;s=0;
        for(j=0;j<5;j++)

getch();
}






Как написать функцию sort, чтобы сортировать студентов по алфавиту???

и функцию rait которая просматривает массив и находит хотя бы одну двойку и выводит на экран этих студентов?

за ранее спасибо)

Это сообщение отредактировал(а) keks123 - 23.10.2009, 20:49
PM MAIL   Вверх
niXman
Дата 23.10.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(keks123 @  23.10.2009,  18:48 Найти цитируемый пост)
#include <vcl.h>

Это что за хидер такой? smile 

Цитата(keks123 @  23.10.2009,  18:48 Найти цитируемый пост)
#include <iostream.h>

Какой компилятор? Если есть расширение, походу компилятор очень древний.

Нужно на С, или на С++ ?

Добавлено через 1 минуту и 23 секунды
Цитата(niXman @  23.10.2009,  18:59 Найти цитируемый пост)
Это что за хидер такой?

Нашел: http://forum.vingrad.ru/topic-164307.html
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
keks123
Дата 23.10.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вообще-то предмет программирование на С, а стоит C++ Builder6
На С++ думаюsmile
PM MAIL   Вверх
niXman
Дата 23.10.2009, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Для начала, структуру опиши нормально.
Код


#include <string>

struct Student {
   std::string name;
   int group;
   float ses[5]; /** почему float? почему 5? */
};


Добавлено через 1 минуту и 12 секунд
И покажи полностью задание.

Это сообщение отредактировал(а) niXman - 23.10.2009, 21:07
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
keks123
Дата 23.10.2009, 21:09 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот само задание)


Описать структуру с именем STUDENT, содержащую следующие поля: 
1) фамилия и инициалы; 
2) номер группы; 
3) успеваемость (массив из пяти элементов). 
Написать программу, выполняющую следующие действия 
1) ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; запи-си должны быть упорядоченью по алфавиту; 
2) вывод па дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2; 
3) если таких студентов нет, вывести соответствующее сообщение. 

PM MAIL   Вверх
zim22
Дата 23.10.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(keks123 @  23.10.2009,  21:09 Найти цитируемый пост)
Вот само задание)

пользуйся поиском по форуму. эту задачку-боян уже тысячу раз решали
поиск по подфорумам "С++ общие вопросы", "С++ для новичков", "Центр  помощи"



--------------------
PM MAIL   Вверх
keks123
Дата 23.10.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну тогда дайте ссылку, я не могу найти 
PM MAIL   Вверх
niXman
Дата 23.10.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот часть. Остальное позже...
Код

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <windows.h>

struct Student {
    std::string name;
    int group;
    float ses[5]; /** почему float? почему 5? */
};

/** функция очистки экрана */
void ClearScreen() {
    COORD c = {0,0};
    DWORD whocares;
    FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),' ',2000,c,&whocares);
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}

void add(std::vector<Student>& s) {
    ClearScreen();

    if ( s.size() >= 10 ) {
        std::cerr << "Massiv polon!" << std::endl;
        return;
    }    
    Student student;
    std::string tmp;
    std::cout << "Vvedite informatsiyu o studente.\n\tImia: ";
    std::cin >> student.name;
    std::cout << "\tGruppa: ";
    std::cin >> student.group;
    std::cout << "\tBalli: ";
    /** чтоб прочитать символ перевода строки, оставшийся от предыдущего ввода */
    std::getline(std::cin, tmp);
    /** собственно ввод */
    std::getline(std::cin, tmp);
    std::stringstream ss(tmp);
    /** разделяем */
    for ( int i = 0; !ss.eof(); i++ ) {
        ss >> student.ses[i];
    }
    /** вставляем в массив */
    s.push_back(student);
}

void sort(std::vector<Student>& s) {
    ClearScreen();
}

void rait(std::vector<Student>& s) {
    ClearScreen();
}

int main() {
    int i = 0;
    std::vector<Student> students;

    while ( true ) {
        std::cout << "Ukajite deistvie. 1 - add, 2 - sort, 3 - rait, 0 - exit" << std::endl;
        std::cin >> i;

        if ( i == 0 ) { return 0; }

        switch ( i ) {
            case 1:
                add(students);
                break;
            case 2:
                sort(students);
                break;
            case 3:
                rait(students);
                break;
        }
    }

    return 0;
}



Это сообщение отредактировал(а) niXman - 23.10.2009, 22:30
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
keks123
Дата 23.10.2009, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



хм, не любишь копаться в чужих кодах, лучше свой напишешь))))
PM MAIL   Вверх
niXman
Дата 23.10.2009, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(keks123 @  23.10.2009,  20:44 Найти цитируемый пост)
не любишь копаться в чужих кодах

Да. Но причина не в этом. Код смотри.
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
keks123
Дата 23.10.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ты все?smile
PM MAIL   Вверх
niXman
Дата 24.10.2009, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(keks123 @  23.10.2009,  21:34 Найти цитируемый пост)
Ты все?

...

Это сообщение отредактировал(а) niXman - 24.10.2009, 03:33
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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