Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 11.11.2012, 21:19   #1 (permalink)
Christian
Member
 
Регистрация: 20.05.2012
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Класс "студенческая группа" C++

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

вот код,но Case работает неправильно ( подскажите в чем проблема)
Christian вне форума   Ответить с цитированием

Старый 11.11.2012, 21:19
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Полезная для вас информация так же содержится тут

Усилитель для наушников на TDA 2003. "А" класс
Класс "фигура" C++
Группа "Бобры"

Старый 11.11.2012, 21:20   #2 (permalink)
Christian
Member
 
Регистрация: 20.05.2012
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

#include <iostream.h>
#include <conio.h>
#include <process.h>
#include <fstream.h>
#include <iomanip.h>

class Student {
char *name,*surname,*tel,*day,*month,*yer,razm,i;

public:
void vvod(char,char,char,char,char,char);
void prosmotr();
void search_surname(char);
void search_tel(char);
void search_date(char,char,char);
void delet(char,char);

};


void Student::vvod(char nn,char ss,char tt,char dd,char mm,char yy)
{
razm++;
*(name+razm)=nn;
*(surname+razm)=ss;
*(tel+razm)=tt;
*(day+razm)=dd;
*(month+razm)=mm;
*(yer+razm)=yy;
}

void Student:rosmotr()
{
if (razm!=0)
{
for (i=0;i<=razm;i++)
{
cout<<*(name+i)<<setw(3)<<*(surname+i)<<setw(3)<<* (tel+i)<<setw(3)<<*(day+i)<<":"<<*(month+i)<<":"<< *(yer+i)<<"\n";
}
}
else cout<<"-----Baza pusta-----";
}


void Student::search_surname(char r)
{
if (razm!=0)
{
for(i=0;i<=razm;i++)
{
if (*(surname+i)==r)
{
cout<<*(name+i)<<setw(3)<<*(surname+i)<<setw(3)<<* (tel+i)<<setw(3)<<*(day+i)<<":"<<*(month+i)<<":"<< *(yer+i)<<"\n";
}
else cout<<"Takoj zapisi v baze net";
}
}
else cout<<"-----Baza pusta-----";
}

void Student::delet(char n,char r)
{
if (razm!=0)
{
for(i=0;i<=razm;i++)
{
if (*(name+i)==n && *(surname+i)==r )
{
while (i!=razm)
{
*(name+i)=*(name+i+1);
*(surname+i)=*(surname+i+1);
*(tel+i)=*(tel+i+1);
*(day+i)=*(day+i+1);
*(month+i)=*(month+i+1);
*(yer+i)=*(yer+i+1);
}
}
else cout<<"Takoj zapisi v baze net";
}
}
else cout<<"-----Baza pusta-----";
}




void Student::search_tel(char k)
{
if (razm!=0)
{
for(i=0;i<=razm;i++)
{
if (*(tel+i)==k)
{
cout<<*(name+i)<<setw(3)<<*(surname+i)<<setw(3)<<* (tel+i)<<setw(3)<<*(day+i)<<":"<<*(month+i)<<":"<< *(yer+i)<<"\n";
}
else cout<<"Takoj zapisi v baze net";
}
}
else cout<<"-----Baza pusta-----";
}


void Student::search_date(char d,char m,char y)
{
if (razm!=0)
{
for(i=0;i<=razm;i++)
{
if (*(day+i)==d && *(month+i)==m && *(yer+i)==y)
{
cout<<*(name+i)<<setw(3)<<*(surname+i)<<setw(3)<<* (tel+i)<<setw(3)<<*(day+i)<<":"<<*(month+i)<<":"<< *(yer+i)<<"\n";
}
else cout<<"Takoj zapisi v baze net";
}
}
else cout<<"-----Baza pusta-----";
}


int main(){
Student s;
int ch,p;
char name,surname,tel,day,month,yer,day1,month1,yer1,nu m,r;
while(ch!=0)
{
cout<<"1.Dobavit \n2.Pokazat \n3.Poisk \n4.ydalenie \n5.Exit \n";
cin>>ch;
switch(ch)
{
case 1: cout<<"Vvedite im9 studenta: ";
cin>>name;
cout<<"Vvedite familiju Studenta: ";
cin>>surname;
cout<<"Vvedite nomer tefona studenta: ";
cin>>tel;
cout<<"Vvedite daty rogdenija:\n Den:\n Mes9c:\n God:\n";
cin>>day>>month>>yer;
s.vvod(name,surname,tel,day,month,yer);
break;
case 2: s.prosmotr();
break;
case 3: while (p!=0)
{
cout<<"Vuberite priznak po kotoromy bydet osyshestvl9ca poisk:1.Familija\n2.Nomer telefona\n3.Data rojdeni9\n4.Exit";
cin>>p;
switch(p)
{
case 1: cout<<"Vvedite familiju Studenta: ";
cin>>num;
s.search_surname(num);
break;
case 2: cout<<"Vvedite nomer tefona studenta: ";
cin>>num;
s.search_tel(num);
break;
case 3: cout<<"Vvedite daty rogdenija: ";
cin>>day1>>month1>>yer1;
s.search_date(day1,month1,yer1);
break;
case 4: exit(1);
default:cout<<"Stop error!!!\n";
}
}
case 4: cout<<"Vvedite im9 i familiju studenta: ";
cin>>name>>surname;
s.delet(name,surname);
case 5:exit(1);
default:cout<<"Stop <<error>>!!!"<<endl;
}
}
getch();
return 0;
}
Christian вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:28.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.