• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Класс "студенческая группа" C++

Christian

Новые
Регистрация
20 Май 2012
Сообщения
12
Реакции
0
Баллы
0
Класс "студенческая группа" C++

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

вот код,но Case работает неправильно ( подскажите в чем проблема)
 
#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::prosmotr()
{
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,num,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;
}
 
Назад
Сверху