Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Обращаюсь, с просьбой помочь в решении задачи!


Автор: splin74 22.10.2004, 12:55
Вот текст задачи:
В некотором университете принято, что старшая цифра номера студенческой группы означает номер факультета, средняя - последнюю цифра года поступления, младшая - порядковый номер группы. Продолжительность обучения не более 6 лет. Дан номер группы студента этого универа. Напечатать, в каком году он поступил и на каком факультете учится. Например, группа 432, факультет математ, году поступления 2003!
Справка:
1 - исторический, 2 - экономический, 3 - юридический, 4 - математический, 5 - физический, 6 - химический, 7 - биологический, 8 - филологический, 9 - географический

Пожалуйста, кто может напишите текст программы в этом топике!

Автор: Step 22.10.2004, 13:03
1. получение номера ввиде символьной строки
2. запихнуть ее в char g[4];

3. организовать свитч

Код

CString fak,y,gr;
switch( g[0] )

{
case '1' :
   
fak=" исторический";
   
   break;

case '2' :

fak=" экономический";
   break;


и т.д.
default:
fak="Подана заявка на создания нового факультета";
   break;
}


аналогичные свичи для всего остального
только нужно менять
g[0] на g[1] и g[2]
соответсвенно

Автор: Mad 22.10.2004, 13:14
проще будет так
Код

char *all_fak[] = {"", "исторический","экономический",....};

char *fak = all_fak[g[0]-0x30];
int year = 2000+g[1]-0x30;
int hgrup = g[2]-0x30;


Автор: Alex101 22.10.2004, 14:22
Код

...
int num;
int year;
...
cout<<"Введите номер группы"<<endl;
cin>>num;
char *all_fak[] = {"", "исторический","экономический",....};

int mid_dig=(num%100)/10);
if (mid_dig<5)
      year=2000+mid_dig;
           else
              year=1990+mid_dig;


cout<<"Факультет "<<all_fak[num/100]<<endl;
cout<<"Год поступления "<<year<<endl;
cout<<"Номер группы "<<num%10<<endl;
...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)