Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Задачка на С++ пожалуйста!!! очень надо!!!!


Автор: qwartal 13.11.2005, 16:57
Доброго времени суток всем!!!! Друзья помогите пожалуйста решить задачу.

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном
парке. Сведения о каждом автобусе включают:

* номер автобуса;
* фамилию и инициалы водителя;
* номер маршрута.

Прошу написать хотя бы начало данной задачи.
Заранее благодарен!
С уважением, Денис.

Автор: nikitao 13.11.2005, 17:11
qwartal,на каком уровне надо писать прогу(в смысле каков ваш уровень познаний языка)?

Автор: qwartal 13.11.2005, 17:48
Прога должна быть на С++....

Автор: nikitao 13.11.2005, 18:18
Вот смотри.С применением STL
Код

#include<iostream>
#include<conio.h>
#include<string>
#include<vector>
using namespace std;
class avto{
    string Name,Fam;
    int nomer_avto,nomer_mar;
public:
    avto(){
        cout<<"Name: ";
        cin>>Name;
        cout<<"Familia: ";
        cin>>Fam;
        cout<<"№ avtobusa: ";
        cin>>nomer_avto;
        cout<<"№ marshruta: ";
        cin>>nomer_mar;
    }
    friend ostream &operator<<(ostream &stream,avto ob)
    {
        cout<<"avtobus № "<<ob.nomer_avto;
        cout<<"\nmarshrut № "<<ob.nomer_mar;
        cout<<"\nVoditel "<<ob.Name<<' '<<ob.Fam<<endl;
        cout<<"---------------------------------------------------------------"<<endl;
        return stream;
    }
};
int main()
{
    vector<avto> basa;
    char c;
    int i;
    for (;;){
    cout<<"Vvedite deistvie:\n1-dobavit\n2-udlit poslednego voditela \n3-vivesti resultat\n0-vixod\n";
    cin>>c;
    if (c=='1')    basa.push_back(avto());
    if (c=='2') basa.pop_back();
    if (c=='3')
        for (i=0;i<basa.size();i++)
            cout<<basa[i];
    if (c=='0')exit(0);
    if (!((c>='0')&&(c<='3')))
        cerr<<"ERROR\a\n";
    getch();
}
    return 0;
}

Основа есть,дороботаешь сам
smile

Автор: qwartal 13.11.2005, 18:48
nikitao Спасибо большое!!!!!!

Автор: nikitao 13.11.2005, 18:57
Всегда рад помочь smile

Автор: darkart 13.11.2005, 19:01
Вот посмотри пример без STL:
Код

#include<iostream.h>
struct BusInfo
{
        int BusNumber,RouteNumber;
        char DriverInfo[20];
        BusInfo* next;
};
BusInfo* ptr=NULL;
void AddBusInfo()
{
        BusInfo* newptr;
        newptr=new BusInfo;
        newptr->next=ptr; 
        cout<<"Please enter a bus number:\n";
        cin>>newptr->BusNumber; 
        cout<<"Please enter a driver info:\n";
        cin>>newptr->DriverInfo;
        cout<<"Please enter a route number:\n";
        cin>>newptr->RouteNumber; 
        ptr=newptr;
}
void PrintInfo()
{
        BusInfo* tmpptr;
        tmpptr=ptr;
        while(tmpptr!=NULL)
        {
                cout<<"Bus number:"<<tmpptr->BusNumber<<"\n";
                cout<<"Bus driver:"<<tmpptr->DriverInfo<<"\n";
                cout<<"Route number:"<<tmpptr->RouteNumber<<"\n";
                tmpptr=tmpptr->next;  
        }
}
void DestroyList()
{
        BusInfo* tmpptr;
        while(ptr)
        {
                tmpptr=ptr;
                ptr=(*ptr).next;
                delete tmpptr;
        }
}

int main()
{
    char ch;
        do
        {
                AddBusInfo();
                cout<<"Finish?(n-no, else yes):\n";
                cin>>ch;
        }
        while(ch=='n'||ch=='N');
        cout<<"Info:\n";
        PrintInfo();
        DestroyList();
        return 0;
}

Автор: qwartal 13.11.2005, 21:33
nikitao спасибо Тебе огромное !!!!!!!!
Добавлено @ 21:35
darkart спасибо тебе огромное !!!!!

Автор: darkart 14.11.2005, 07:14
Всегда пожалуйста smile

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