Форум программистов, компьютерный форум CyberForum.ru

Массив структур. Фун-я удаления и поиска. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки и функции http://www.cyberforum.ru/cpp-beginners/thread287929.html
Программа выводит все цитаты из текста,считанного из файла. Надо оформить ее с помощью функции. Когда я пытаюсь сделать функцию, появляется несоответствие типов. Как сделать правильно? Подскажите, пожалуйста) вот прога: #include <iostream> #include <fstream> #include <string> void main() { std::ifstream ifs("test.txt");
C++ Шифрование Xor'ом Добрый день, уважаемые) тут такое дело, сел делать курсач и столкнулся с проблемой. Работа по шифрованию бинарными операциями и преподаватель дал алгоритм для шифрования XOR'ом...Но тут проблема - в алгоритме использован оператор ReDim, которого в с++ вроде бы нет...подскажите как решить данную проблемы... Задание курсовой такое: Разработать программу, кодирующую информацию в текстовом файле... http://www.cyberforum.ru/cpp-beginners/thread287928.html
C++ работа со стеком. нужно найти среднее арифметическое.
Добрый день!!! Не могли бы Вы помочь мне отредактировать программу на С++?!! работа со стеком. нужно найти среднее арифметическое. #include <iostream> using namespace std; void pushstack (stack *&h, int i) { stack *p=new stack; p->inf=i; if (h==NULL) p->next=NULL;
Построить класс для работы со списком, который содержит динамическую информацию о наличии автобусов в парке C++
Построить класс для работы со списком, который содержит динамическую информацию о наличии автобусов в парке: номер автобуса, фамилию и инициалы водителя, номер маршрута, признак местонахождения автобуса – на маршруте или в парке. Программа должна обеспечивать: начальное формирование списка, введение номера автобуса при выезде и установление программой значения признака «автобус на маршруте»....
C++ Гаусс-Зейдель http://www.cyberforum.ru/cpp-beginners/thread287915.html
Нет возможности использовать debug для пошаговой проверки Может кто-нибудь сказать почему в прорграмме: #include <iostream.h> #include <conio.h> #include <math.h> const int n=4; double eps = 0.0001; double i; double x;
C++ Двумерный массив. Подсчет внутренних значений этого массива У меня что-то все перепуталось, помогите с проблемой во-первых рассчитывается количество строк и столбцов массива. Это сделано во-вторых значения массива вычисляются по 2 формулам, зависящем от условия, вот с этим запутался. Я сначала просто через случайные числа сделал (без расчета внутренних значений), тогда все работает, а вот при расчете уже проблемы возникли. Или я что-то нетак сделал? ... подробнее

Показать сообщение отдельно
Soroka_D
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 10
03.05.2011, 21:41     Массив структур. Фун-я удаления и поиска.
Первый курс. Решили над нами сделать эксперимент и дали нам курсовую. В принципе ничего сложного абсолютно, подобное задание в первом семестре но на паскале я делал. А вот с С++ не получается

Создать массив структур (записей), содержащих следующие поля:
- номер поезда;
- название пункта отправления и назначения;
- время отправления.

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

Не получается сделать задание Б и В (с заданием В уже столько всего перепробовал...)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include "stdafx.h"
#include <iostream> 
#include <string>
using namespace std;
 
const int slen = 29;
struct rasp                 //rasp - имя нового типа
{
    int num;
    char town1[slen];
    char town2[slen];
    float time;
};
 
int scan (rasp r[], int n)   //Функция ввода
{
    int i=0;
    for (i=0; i<n; i++)
    {
        cout<<"Введи номер поезда: ";
        cin>>r[i].num;
        cout<<"Введи пункт отправления: ";
        cin>>r[i].town1;
        cout<<"Введи пункт назначения: ";
        cin>>(r[i].town2);
        cout<<"Введи время отправления: ";
        cin>>r[i].time;         
    }
    
    return i;
}
 
void print (rasp r[], int n)    //Функция вывода
{
    int i=0;
    for (i=0; i<n; i++)
    {
    cout<<"Номер поезда: "<<r[i].num<<endl;
    cout<<"Пункт отправления: "<<r[i].town1<<endl;
    cout<<"Пункт назначения: "<<r[i].town2<<endl;
    cout<<"Время отправления: "<<r[i].time<<endl;
    }
}
 
void func_a(rasp r[], int n) //Функция сортировки
{
    rasp tmp; int i, j=0;
    for (i = 0; i<n-1; i++)
         for (j=i+1; j<n; j++)
            if (r[i].time>r[j].time) 
            {
                tmp = r[i];
                r[i] = r[j];
                r[j] = tmp;        
                }
}
 
void func_b(rasp r[], int n) //Функция поиска
{
    char town[29]; int k=0;
    cout<<"Введи пукт назначения, который тебе нужен: "<<endl;
    cin>>town;
    for ( int i=0; i<n; i++)
        if (strstr (r[i].town2, town) && r[i].town1=="Одесса")
            {
                cout<<"Поезд <<Одесса-"<<town<<">>"<<" отправляется в "<<r[i].time<<"\t .Номер поезда: "<<r[i].num;
                k++;
        }
        if (k==0)
            cout<<"Нет поездов удовлетворяющих вашим условиям"<<endl;
    
}
 
void func_c( rasp r[], int n) //Функция удаления записи
{
}
 
int main()
{
    setlocale (LC_ALL, ".1251");
    system ("chcp 1251"); //переключаем консоль в кодировку win1251
    int n;
    cout << "Введите количество записей: ";    
    cin>>n;                 // n - число записей
    rasp * a = new rasp[n]; // rasp * a - указатель на структуру
    scan(a, n);
    cout<<endl;
    func_a (a, n);
    cout<<endl;
    func_b (a, n);
    cout<<endl;
    func_c (a, n);
    cout<<endl;
    print (a,n);
    cout<<endl;
    
    system("pause");
    
    return 0;
}
Добавлено через 3 часа 53 минуты
Функцию удаления уже сделал, через тип bool. Осталось только поиск.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "stdafx.h"
#include <iostream> 
#include <string>
using namespace std;
 
const int slen = 29;
struct rasp                 //rasp - имя нового типа
{
    int num;
    char town1[slen];
    char town2[slen];
    float time;
    bool del;
};
 
 
int scan (rasp r[], int n)   //Функция ввода
{
    int i=0;
    for (i=0; i<n; i++)
    {
        cout<<"Введи номер поезда: ";
        cin>>r[i].num;
        cout<<"Введи пункт отправления: ";
        cin>>r[i].town1;
        cout<<"Введи пункт назначения: ";
        cin>>(r[i].town2);
        cout<<"Введи время отправления: ";
        cin>>r[i].time; 
        r[i].del=false;
    }
    
    return i;
}
 
void print (rasp r[], int n)    //Функция вывода
{
    int i=0;
    for (i=0; i<n; i++)
    {
        if (r[i].del==true)
        break;  
    cout<<"Номер поезда: "<<r[i].num<<endl;
    cout<<"Пункт отправления: "<<r[i].town1<<endl;
    cout<<"Пункт назначения: "<<r[i].town2<<endl;
    cout<<"Время отправления: "<<r[i].time<<endl;
    }
}
 
void func_a(rasp r[], int n) //Функция сортировки
{
    rasp tmp; int i, j=0;
    for (i = 0; i<n-1; i++)
         for (j=i+1; j<n; j++)
            if (r[i].time>r[j].time) 
            {
                tmp = r[i];
                r[i] = r[j];
                r[j] = tmp;        
                }
}
 
void func_b(rasp r[], int n) //Функция поиска
{
    char town[29]; int k=0;
    cout<<"Введи пукт назначения, который тебе нужен: "<<endl;
    cin>>town;
    for ( int i=0; i<n; i++)
        if (strstr (r[i].town2, town) && r[i].town1=="Одесса")
            {
                cout<<"Поезд <<Одесса-"<<town<<">>"<<" отправляется в "<<r[i].time<<"\t .Номер поезда: "<<r[i].num;
                k++;
        }
        if (k==0)
            cout<<"Нет поездов удовлетворяющих вашим условиям"<<endl;
    
}
 
void func_c( rasp r[], int n) //Функция удаления записи
{
    float t=0.00;
    cout<<"Введи допустимое время: ";
    cin>>t;
    for (int i=0; i<n; i++)
        if (r[i].time>t) 
            r[i].del=true;
}
 
int main()
{
    setlocale (LC_ALL, ".1251");
    system ("chcp 1251"); //переключаем консоль в кодировку win1251
    int n;
    cout << "Введите количество записей: ";    
    cin>>n;                 // n - число записей
    rasp * a = new rasp[n]; // rasp * a - указатель на структуру
    scan(a, n);
    cout<<endl;
    func_a (a, n);
    cout<<endl;
    func_b (a, n);
    cout<<endl;
    func_c (a, n);
    cout<<endl;
    print (a,n);
    cout<<endl;
    
    system("pause");
    
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru