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

Помогите дописать программу на использование структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверка нескольких условий http://www.cyberforum.ru/cpp-beginners/thread1014235.html
Здравствуйте. Есть массив чисел А. Мне нужно проверить все ли они меньше единицы - ((A<1)&&(A<1)&&......&&(A<1)). Можно ли как-то проверить это, не писав 50 раз A?
C++ Скопировать массив а в начало массива b Помогите доделать программу, пожалуйста. Нужно скопировать массив а в начало массива b. Предположите, что float a,b. Вот что у меня получилось: #include <iostream> #include <cstring> using namespace std; void main() { double a = { 2.l, 5.1, 5.9, 3.7, 2.7, 66.7, 43.4, 33.4, 1.2, 1.4, 57.3 }; http://www.cyberforum.ru/cpp-beginners/thread1014195.html
C++ как дописать задачку
//Задана матрица размером М х N. Найти максимальный по модулю эле¬мент матрицы. //Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен //на пересечении t-й строки и k-го столбца. #include "stdafx.h" #include <stdlib.h> #include <time.h> #include "conio.h" #include <stdio.h> #include "locale.h"
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. C++
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
C++ Дана матрица А(7,4) Вывести все отрицательные элементы этой матрицы. Найти минимальный по модулю элемент http://www.cyberforum.ru/cpp-beginners/thread1014181.html
Привет славные форумчани.. Тема программы потоковые файлы... Задача состоит в написание текста на c++ с классами. Дана матрица А(7,4) Вывести все отрицательные элементы этой матрицы. Найти минимальный по модулю элемент.. Заранее благодарен.
C++ двухмерный динамический массив задание было такое: Найти количество отрицательных и положительных элементов массива. Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных. Получилось что-то неправильное: #include... подробнее

Показать сообщение отдельно
trinkle69
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 16
21.11.2013, 14:05     Помогите дописать программу на использование структур
Здравствуйте. Есть у меня такая програмка, которая запоминает, сохраняет и считывает данные. Я не знаю как это все обобщить. В ней есть меню, в котором вводится:
1.Марка машины.
2.Модель.
3.Цена.
4.Скорость.
5.Сохранить авто
6.Загрузить авто
7.Удалить все авто
0.Выход.

Нужно доделать следующие пункты:
8.Удаление одной машины
9.Сделать поиск по: марке, моделе, цене, скорости. (Каждый поиск по отдельности. По цене и скорости в промежутке.)
10. Осуществить загрузку и сохранение из/в тхт.

Отдельная проблема со 101 машиной. Как реализовать ввод стольких машин, скольких нам нужно, а не ограниченное кол-во. У меня это реализовано как Car cars[100];

Собственно вот сам код:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;
 
long get_size(char filename[])
{
    //Открываем файл для чтения
    FILE* f=fopen(filename, "rb");
 
    if(f==0)
        return -1;
    //Перемещаем указатель для чтения в конец файла
    fseek(f,0,SEEK_END);
 
    // Получаем номер байта, в котором находится курсор
    long size = ftell(f);
 
    //Закрываем файл
    fclose(f);
    return size;
}
 
struct Car 
{
    char marka[40]; 
    char model[40]; 
    int price; 
    int speed;
};
 
void enterCar(Car cars[], int pos)
{
    cout << "Введите марку автомобиля: "; 
    cin >> cars[pos].marka; 
    cout << "Введите модель автомобиля: ";
    cin >> cars[pos].model; 
    cout << "Введите цену автомобиля: "; 
    cin >> cars[pos].price; 
    cout << "Введите скорость автомобиля: "; 
    cin >> cars[pos].speed;
    cout << endl;
}
 
void printCars(Car cars[], int count)
{
    for(int i=0;i<count;i++)
    {
        cout << "Марка: " << cars[i].marka << endl; 
        cout << "Модель: " << cars[i].model << endl; 
        cout << "Скорость: " << cars[i].speed << endl; 
        cout << "Цена: " << cars[i].price << endl; 
        cout << endl;
    }
}
 
void saveCars(char filename[], Car cars[],int count)
{
    FILE* file=fopen(filename, "wb");
    fwrite(cars, sizeof(Car), count, file);
    fclose(file);
}
 
int loadCars(char filename[], Car cars[])
{
    // Получаем размер файла с записями
    int size = get_size(filename);
 
    // Вычислить количество записей в файле
    int count = size / sizeof(Car);
 
    //Открываем файл для чтения
    FILE* file=fopen(filename, "rb");
 
    //Перемещаем указатель для чтения в конец файла
    fread(cars, sizeof(Car), count, file);
 
    //Закрываем файл
    fclose(file);
    return count;
}
 
void printmenu()
{
    cout<<"+-----------------+---+\n"
        <<"| Добавить авто   | 1 |\n"
        <<"+-----------------+---+\n"
        <<"| Просмотр авто   | 2 |\n"
        <<"+-----------------+---+\n"
        <<"| Сохранить авто  | 3 |\n"
        <<"+-----------------+---+\n"
        <<"| Загрузить авто  | 4 |\n"
        <<"+-----------------+---+\n"
        <<"| Удалить все авто| 5 |\n"
        <<"+-----------------+---+\n"
        <<"| Выход           | 0 |\n"
        <<"+-----------------+---+\n";
    cout << endl;
}
 
void run()
{
    Car cars[100];
    int count=0;
    char action;
    while(true)
    {
        printmenu();
        cin >> action;
        switch(action)
        {
        case '1':
            enterCar(cars, count++);
            break;
        case '2':
            printCars(cars, count);
            break;
        case '3':
            saveCars("d:\\cars.dat", cars, count++);
            break;
        case '4':
            count = loadCars("d:\\cars.dat", cars);
            break;
        case '5':
            count = 0;
            break;
        case '0':
            exit(0);
            break;
        }
    }
}
 
void main ()
{
    SetConsoleOutputCP (1251);
    run();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru