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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структуры. С++ 
V
    Опции темы
Soad79
Дата 24.3.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте уважаемые программисты. Суть программы такая -  Нужно узнать по какому предмету у студента лучшая оценка. С клавиатуры вводим предмет и оценку, и на экран выводится надпись "Лучшая оценка по предмету...".
Я написал вот это. Правильно ли начало. И не могли бы мне помочь дописать до конца.
Код

#include <iostream.h>
#include <math.h>
#include <string>
#include "conio.h"
const int n=5;
void main ()
{
struct Poisk { 
    char name[20];
    int marc;
        };
    Poisk ocenka[n], *point=&ocenka[0]; 
      int i,m;
bool flag=false;

  for(i=0; i<n; i++, point++)
{
cout << "\nVvedi nazvanie predmeta:";
cin >> (*point).name;                 
cout<< "\nVvedi ocenky:";
cin >> (*point). marc;                      
}
point-= n;


Это сообщение отредактировал(а) Soad79 - 24.3.2009, 20:05
PM MAIL   Вверх
ИванМ
Дата 24.3.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Через попу написано, но вроде должно работать.
PM MAIL   Вверх
Soad79
Дата 24.3.2009, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ИванМ @  24.3.2009,  20:20 Найти цитируемый пост)
Через попу написано, но вроде должно работать.

Я С++ никогда не изучал и не сталкивался. Сижу с методичкой и делаю)))
PM MAIL   Вверх
ИванМ
Дата 24.3.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

#include <iostream.h>
#include <math.h>
#include <string>
#include "conio.h"

const int n=5;

struct Poisk 

    char name[20];
    int marc;
};

void main ()
{
    Poisk ocenka[n];
    for(int i=0; i<n; i++)
    {
       cout << "\nVvedi nazvanie predmeta:";
       cin >> point[i].name;                 
       cout<< "\nVvedi ocenky:";
       cin >> point[i]. marc;                      
    }
}


Так элегантнее будет. Но все равно не профессионально. Жди, сейчас прибегут профессионалы и будут мутить с перегрузкой операторов и новым стилем программирования smile 

Это сообщение отредактировал(а) ИванМ - 24.3.2009, 20:33
PM MAIL   Вверх
mes
Дата 24.3.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(Soad79 @  24.3.2009,  19:05 Найти цитируемый пост)
Я написал вот это. Правильно ли начало. И не могли бы мне помочь дописать до конца.

Лови заготовку  smile 
Код

#include <iostream>

#define LESSON_COUNT 3

const char * LessonName[LESSON_COUNT]= { "Lesson0", "Lesson1", "Lesson2"}; // названия уроков


const char * RateName[] = { "", "one", "two", "three", "four", "five"}; // названия оценок


struct Student
{
    int  Rate[LESSON_COUNT];
};

int main ()
{
  Student st;

   st.Rate[0] = 5; // Lesson0 is 5;
   st.Rate[1] = 3; // Lesson1 is 3;
   st.Rate[2] = 4; // Lesson2 is 4;

   for (int i=0; i<LESSON_COUNT; ++i)   std::cout << LessonName[i] <<" is " <<st.Rate[i]<<std::endl; // Предваритель

   int min = 0;
   int max = 0;
   for (int i=1; i<LESSON_COUNT; ++i)
   {
         if (st.Rate[i]<st.Rate[min]) min =i;
         if (st.Rate[i]>st.Rate[max]) max= i;
   }


   std::cout << "Min Rate is " <<st.Rate[min]<<" in "<<LessonName[min]<<std::endl;
   std::cout << "Max Rate is " <<st.Rate[max]<<" in "<<LessonName[max]<<std::endl;

// Альтернативный вариант (вывод оценки по имени )
//   std::cout << "Min Rate is " <<RateName[st.Rate[min]]<<" in "<<LessonName[min]<<std::endl; 
//   std::cout << "Max Rate is " <<RateName[st.Rate[max]]<<" in "<<LessonName[max]<<std::endl;

  system("pause");
  return(0);
}









Это сообщение отредактировал(а) mes - 24.3.2009, 20:49


--------------------
PM MAIL WWW   Вверх
Soad79
Дата 24.3.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ИванМ
mes,  Большое спасибо за ответы!!! smile 
PM MAIL   Вверх
Anikmar
Дата 25.3.2009, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(ИванМ @  24.3.2009,  20:33 Найти цитируемый пост)
 Жди, сейчас прибегут профессионалы и будут мутить с перегрузкой операторов и новым стилем программирования  


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

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

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

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

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


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

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


 




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


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

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