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

Поиск:

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


Новичок



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

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



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

я что то намудрил в программе, запутался окончательно помогите))))

Вот сама прога)
Код

//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop

//---------------------------------------------------------------------------
char* Rus(unsigned char* st)
{
   //  Â ANSI ðóññêèå áóêâû êîäèðóþòñÿ ÷èñëàìè îò 192 äî 255,
   //  â ASCII - îò 128 äî 175 (À..ßà..ï) è îò 224 äî 239 (ð..ÿ).

    unsigned char *p = st;

    while (*p)
    {
        if ( (*p >= 192) && (*p <= 239))
            *p -= 64;

        if ( ( *p >= 240) && (*p <= 255))
            *p -= 16;

        p++;
    }

    return st;
}

struct STUDENT
{
  char fio [100]; // ôàìèëèÿ è èíèöèàëû
  int Nom; // íîìåð ãðóïïû
  int O;//óñïåâàåìîñòü

int main()
{
 int
   flag, // 1 - ñòóäåíò íàéäåí
   num, // íîìåð ãðóïïû
   N, // ÷èñëî ñòóäåíòîâ
   i, j; // èíäåêñ ñòóäåíòà

   struct STUDENT
     t, // äëÿ ñîðòèðîâêè
     A [5]; // ìàññèâ ñòóäåíòîâ

     clrscr ();
     printf (Rus("Ñêîëüêî ñòóäåíòîâ(<= 10)"));
     scanf ("%i", &N);
     fflush (stdin);
     if (N > 10 || N <= 0)
     {
     printf ("Error!");
     getch ();
     return 1;
     }

     printf (Rus("\nÇàïîëíåíèå äàííûõ î ñòóäåíòàõ.\n\n"));
     for  (i = 0; i < N; i++)
     {
      printf (Rus("Ôàìèëèÿ ñòóäåíòà: "));
      gets (A [i].fio);
      fflush (stdin);

      printf (Rus("Íîìåð ãðóïïû: "));
      scanf ("%i", &A [i].Nom);
      fflush (stdin);

      printf (Rus("Óñïåâàåìîñòü: "));
      gets (A [i].O);
      fflush (stdin);

      printf ("\n");
      }
      // ñîðòèðîâêà ìàññèâà A ïî ñòóäåíòàì
      for (i = 0; i < N-1; i ++)
        for (j = i+ 1; j < N; j ++)
          if (A [i].fio > A [j].fio)
          {
          t = A [i];
          A [i] = A [j];
          A [j] = t;
          }
          // ïå÷àòü ìàññèâà À, óïîðÿäî÷åííîãî ïî ôàìèëèÿì
          printf (Rus("Çàïèñè óïîðÿäî÷åííûå ïî ôàìèëèÿì.\n"));
          printf (Rus("ôàìèëèÿ íîìåð_ãðóïïû óñïåâàåìîñòü\n"));
          printf ("----------------------------------");
          for (i = 0; i < N; i ++)
            printf ("%5i %-16s %s\n", A [i].fio, A[i].Nom, A [i].O);



            printf (Rus("/nÂâåäèòå ôàìèëèþ ñòóäåíòà: "));
            scanf ("%i",&num);
            fflush (stdin);
            flag = 0;
            fpr (i = 0, i < N; i ++)
              if (a [i].fio == num)
              {
              flag = 1;
              printf (Rus("\níîìåð ãðóïïû\n"));
              printf ("----------------------------------"0;
              printf ("%5i %-16s %s\n", A [i].fio, A [i].Nom, A [i].O);

              break;
              }

              if (flag == 0)
               printf (Rus("Ñòóäåíòà ñ èìåíåì %i íå ñóùåñòâóåò.\n", num));

               getch();
      return 0;
}
//---------------------------------------------------------------------------


Добавлено @ 20:03
а вот с русскими буквами)

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  zad3.cpp 2,84 Kb
PM MAIL   Вверх
586
Дата 21.10.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(keks123 @  21.10.2009,  20:59 Найти цитируемый пост)
я что то намудрил в программе, запутался окончательно помогите))))

В чём именно проблемы? Смотри, какие ошибки выдаёт компилятор, и исправляй.

Одну ошибку уже нашёл:

Цитата(keks123 @  21.10.2009,  20:59 Найти цитируемый пост)
struct STUDENT
{
  char fio [100]; // ôàìèëèÿ è èíèöèàëû
  int Nom; // íîìåð ãðóïïû
  int O;//óñïåâàåìîñòü
};    // пропущено

int main()
{
 int
   flag, // 1 - ñòóäåíò íàéäåí


PM   Вверх
keks123
Дата 21.10.2009, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну там ни одна ошибкаsmile
PM MAIL   Вверх
586
Дата 21.10.2009, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Исправь первую ошибку компилятора, остальные не исправляй. И компилируй. И так до тех пор, пока ошибки не исчезнут.
PM   Вверх
keks123
Дата 21.10.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код
// ñîðòèðîâêà ìàññèâà A ïî ñòóäåíòàì
      for (i = 0; i < N-1; i ++)
        for (j = i+ 1; j < N; j ++)
          if (A [i].fio > A [j].fio)
          {
          t = A [i];
          A [i] = A [j];
          A [j] = t;
          }




тут пишет ошибку, яне знаю как исправить

Это сообщение отредактировал(а) bsa - 22.10.2009, 21:58
PM MAIL   Вверх
586
Дата 21.10.2009, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(keks123 @  21.10.2009,  21:41 Найти цитируемый пост)
тут пишет ошибку, яне знаю как исправить 

Для начала, следует прочесть текст этой ошибки. Или, хотя бы тут написать...
PM   Вверх
keks123
Дата 21.10.2009, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



[C++ Error] zad3.cpp(77): E2040 Declaration terminated incorrectly
PM MAIL   Вверх
586
Дата 21.10.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(keks123 @  21.10.2009,  21:53 Найти цитируемый пост)
E2040 Declaration terminated incorrectly 

Это ошибка говорит о том, что инструкция перед оператором for завершена некорректно (например, точка с запятой пропущена). Посмотри, что объявлено перед оператором for. В самой строке "for (i = 0; i < N-1; i ++)" ошибки нет.
PM   Вверх
keks123
Дата 22.10.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не могу дальше разобраться))
Не знаю где не правильно...
PM MAIL   Вверх
bsa
Дата 22.10.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



keks123, начни решать проблему с оформления кода! Когда код отформатируешь правильно, будет легче искать ошибки не только тебе.
PM   Вверх
keks123
Дата 23.10.2009, 17:34 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код
//---------------------------------------------------------------------------

           #include <vcl.h>
           #include <conio.h>
           #include <iostream.h>
           #include <math.h>
           #pragma hdrstop

//---------------------------------------------------------------------------


          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();

          }

          [color=limegreen]void sort()
          {
          cputs("                                Spisok.");



          void rait() //!!!
          {
            int r;
            float s,m;
            cputs("                                Ocenka.");
            for(i=0;i<10;i++)
            {

              for(j=0;j<5;j++)

          }

          }
          if(r==0)

          getch();
          }

//---------------------------------------------------------------------------



не могу написать функцию сортировки по алфавиту
и функцию чтобы искала хоть одну двойку в массиве и выводила на экран

Помогите))))



Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 26.10.2009, 23:36
PM MAIL   Вверх
bsa
Дата 26.10.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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




 ! 
bsa
keks123, про Оформление кода читал?


Это сообщение отредактировал(а) bsa - 26.10.2009, 13:06
PM   Вверх
niXman
Дата 26.10.2009, 13:01 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(bsa @  26.10.2009,  10:46 Найти цитируемый пост)
читала?

Цитата(keks123 @  21.10.2009,  17:59 Найти цитируемый пост)
я что то намудрил


--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
Dikey
Дата 26.10.2009, 21:15 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 6.3.2008
Где: Украина г.Изюм

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



Код

int
            i,
            j,
            result=0;
          struct Student
          {
            char name[10];
            int group;
            float ses[5];
          };                                
          Student mas[10],x;


(После фигурной скобки точка с запятой не ставится!)Все верно я ошибался
И что у тебя BBcode в программе делает?Удали его.

Это сообщение отредактировал(а) Dikey - 26.10.2009, 21:32
PM MAIL WWW ICQ Skype   Вверх
zim22
Дата 26.10.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



Цитата(Dikey @  26.10.2009,  20:15 Найти цитируемый пост)
После фигурной скобки точка с запятой не ставится!

открою страшную тайну. она всё-таки ставится. более того, без неё будет ошибка компиляции.

Это сообщение отредактировал(а) zim22 - 26.10.2009, 21:24


--------------------
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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