Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Нарисовать графы https://www.cyberforum.ru/ cpp-beginners/ thread1018981.html
Всем привет. Ребят, очень нуждаюсь в помощи по задачке. Задали, а я что-то никак не могу сообразить, как такое можно провернуть. Наметки есть, но как прикрутить к этому графику... В общем: Пользователь вводит с клавиатуры количество вершин графа. (не больше 20) Программа рандомно расставляет их и соединяет, при условии, что ни одно ребро не должно пересекаться с другими (без пересечений...
C++ найти длину слова
Создать символьный файл f. Найти и вывести самое длинное слово, и подсчитать в нем количество букв. Если их несколько, то вывести все слова. Не получается вывести не сколько слов. #include <iostream> #include <cstring> #include <fstream> using namespace std; int main() {setlocale(LC_ALL, ".1251");
C++ ifstream записать число из файла Всем здрасьте. У меня вопросом по чтению файлов. Допустим есть у меня файл и я хочу записать содержимое , например это будет число. Код я приводил условно , ошибками пренебречь : #include <fstream> using namespace std; int main() { https://www.cyberforum.ru/ cpp-beginners/ thread1018962.html C++ Curl опция переменной Собственно передача опции курлу выглядит незамысловато: curl_easy_setopt(CURL *handle, CURLoption option, parameter); Необходимо задать "option" переменной. Т.е. я не знаю заранее какой будет опция и параметр. Но как его задать? Литералы, стринги, чары кушать не хотим, приведение типов тоже не оценило попытки. Что есть тип CURLoption разобраться не получилось. Вроде идет перечисление, но, что... https://www.cyberforum.ru/ cpp-beginners/ thread1018958.html
С++. Перегрузка C++
Нужна помощь! Буду рада любым идеям! Надо написать программу, которая перегружает операцию «меньше чем» (<) в классе Distance для того, чтобы иметь возможность сравнивать объекты этого класса, и операцию умножения в классе Distance. Вот что у меня есть, только я не уверенна в правильности class Distance // класс английских мер длины { private:
C++ Как вычислит общий делитель для двух целых десятичных чисел?? Как вычислит общий делитель для двух целых десятичных чисел?? https://www.cyberforum.ru/ cpp-beginners/ thread1018950.html
C++ Дана матрица A(3,4): Найти наименьший элемент матрицы и соответствующий ему номер строки https://www.cyberforum.ru/ cpp-beginners/ thread1018943.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace inputArray { class Program {
Ребята капец сюда опытные программеры C++
Короче нужно на завтра рабочий код а в коде тупой матан не фига не пойму как записать его в цикле... КТо может сейчас помочь? Готов отблагодорить, деватся не куда(((
C++ Чтение и запись https://www.cyberforum.ru/ cpp-beginners/ thread1018901.html
Здравствуйте! Писал программку по чтению одного файла и записи данных первого во второй с измененным содержимым. Смысл таков - есть первый файл например абаба лоло тлошо выпа гыба, а во второй записываем тоже самое только пробел заменяем на перенос на новую строку. Так как при чтение файла оператором >>, пробельные символы опускаются, то я побывал читать в бинарном режиме, но все равно ничего...
C++ Вывод данных в Excel Помогите пожалуйста, программа в консоль и блокнот выводит отлично, а вот с екселем беда!!! // ConsoleApplication16.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <math.h> #include <iomanip> #include <fstream> https://www.cyberforum.ru/ cpp-beginners/ thread1018894.html
Функция класса с глобальной видимостью C++
Имеется: class Foo { ... } void Foo::bar() { ::bar( m_foo, m_bar ); }
C++ Из двух массивов разной длины сформировать общий массив и вычислить сумму ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ 2. Из двух массивов разной длины сформировать общий массив и вычислить сумму отрицательных элементов, индексы которых есть полные квадраты. помогите написать программу с помощи с++ https://www.cyberforum.ru/ cpp-beginners/ thread1018878.html
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.11.2013, 22:32 0

Составить файл об информаций студентов в группе. Найти самый высокий и самый низкий уровень успеваемости студентов в группе - C++ - Ответ 5390246

25.11.2013, 22:32. Показов 2443. Ответов 6
Метки (Все метки)

Ответ

cre, а какой будет толк от того, что за вас все сделают, а вы потом также весь семестр ничего делать не будете, уповая на халяву?
Вот вам пример реализации работы со структурами на С. Все подробно откомментировано.
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <ctype.h>
#define SIZE 50        /* размер строк */
#define RESORTS_MAX 20 /* максимальное количество записей */
#define KEY 1          /* наш ключ для шифрования */
#define ALF_SIZE 26    /* размер алфавита */
 
 
/* вспомогательная функция шифрования строки */
void encode(char *);
 
/* объявляем структуру и создаем синоним, чтобы не писать каждый раз struct */
typedef struct 
{
    char name[SIZE];    /* название  */
    char country[SIZE]; /* страна    */
    int cost;           /* стоимость */
} Resort;
 
/* <<<------- объявляем прототипы функций для работы со структурой ------->>> */
void init(Resort *);         /* инициализация структуры  */
void print(const Resort *);  /* вывод структуры на экран */
                             /* считывание с файла структурной переменной */
void readFromFile(Resort *, FILE *);
 
/* <<<---- объявляем прототипы функций для работы с массивом структур ---->>> */
/* вывод всех структур на экран */
void printAll(const Resort *, const int size);
/* поиск по названию */
int findByName(const Resort *, const int size, const char *key);
/* поиск по стоимости меньшей, не превышающей заданную */
int findLessCount(const Resort *, const int size, const int cost);
/* записать зашифрованные данные в файл */
void writeEncoded(const Resort *, const int size, FILE *);
 
 
/******************************************************************************/
/* <<<<<<<<<<------------------ главная функция ------------------->>>>>>>>>> */
/******************************************************************************/
int main(void)
{
    Resort r[RESORTS_MAX]; /* объявляем массив структурных переменных */
    int size = 0;          /* количество курортов */
    char choise; /* переменная выбора в меню */
    FILE *fp = fopen("resorts.txt", "r"); /* открываем файл для чтения */
    
    setlocale(LC_ALL, ""); /* добавляем возможность работать с кириллицей */ 
    if (!fp)               /* если файл не найден */
    {
        printf("Невозможно найти файл \"resorts.txt\"\n");
        _getch(); /* пауза */
        return 1; /* возвращаем код ошибки */
    }   
    /* пока не конец файла и массив не полон */
    while (!feof(fp) && size < RESORTS_MAX)
    {
        /* считываем в очередной элемент массива, увеличиваем счетчик числа 
           структур на один */
        readFromFile(&r[size++], fp);
    }
    
    do
    {
        system("cls"); /* очистка экрана */
        /* вывод меню */
        printf("Что желаете сделать:\n");
        printf("1. Записать зашифрованный текст в файл\n");
        printf("2. Вывести все записи\n");
        printf("3. Добавить запись\n");
        printf("4. Найти запись по названию курорта\n");
        printf("5. Вывести курорты не превосходящии по стоимости сумму\n");
        printf("0. Выход\n");
        printf("Ваш выбор: ");
        
        choise = _getch(); /* считываем выбор */      
        
        /* оператор множественного выбора принимает choise как число */
        switch (choise - '0')
        {
            case 1 :
            {
                /* открываем файл для записи */
                FILE *fout = fopen("encode.txt", "w"); 
                /* записываем зашифрованные данные */
                writeEncoded(r, size, fout);
                /* закрываем файл */
                fclose(fout);
                /* выводим информационное сообщение о количестве записанных */
                /* переменных */
                printf("\nЗаписано %d переменных\n", size);
                _getch(); /* пауза */
                break;
            }
            
            case 2 :
                printAll(r, size);
                break;
            
            case 3 :
                if (size < RESORTS_MAX)  /* если есть свободное место */
                    init(&r[size++]);    /* вызываем функцию инициализации
                                           и увеличиваем кол-во элементов */
                else                     /* иначе */
                {
                                         /* выводим сообщение об ошибке */
                    printf("\a\nМассив заполнен"); 
                    _getch();            /* пауза */
                }
                break;
            
            case 4 :
            {
                char name[50];
                printf("\nВведите название курорта: ");
                scanf("%s", name); /* считываем название */
                /* вызываем функцию поиска. если она вернула ложь (0) */
                if (!findByName(r, size, name))
                {
                    /* выводим сообщение о безрезультатном поиске */
                    printf("\nПо вашему запросу ничего не найдено"); 
                    _getch(); /* пауза */
                }
                break;
            }
            
            case 5 :
            {
                int cost;
                printf("\nВведите стоимость: ");
                scanf("%d", &cost); /* считываем стоимость */
                /* вызываем функцию поиска. если она вернула ложь (0) */
                if (!findLessCount(r, size, cost))
                {
                    /* выводим сообщение о безрезультатном поиске */
                    printf("\nПо вашему запросу ничего не найдено"); 
                    _getch(); /* пауза */
                }
                break;
            }
            
            case 0 :
                break;
            
            default :
                printf("\a\nНеверный выбор"); /* выводим сообщение об ошибке */
                _getch(); /* пауза */
                break;
        } /* конец тела switch(choise - '0') */                
    } while (choise != '0'); /* пока не выбрали выход */
 
    fclose(fp); /* закрываем файл */
    return 0;   /* завершилось без проблем */
}
 
/* всопогательная функция шифрования строки. Принимает в качестве параметра
строку и шифрует её */
void encode(char *str)
{
    unsigned int i; /* параметр цикла */
    for (i=0; i < strlen(str); i++)
    {
        if (!isalpha(str[i])) /* если не является буквой */
            continue;   /* пропускаем тело цикла и переходим к след. итерации */
        str[i] -= 'a';       /* чтобы начать с нуля (убираем сдвиг в ASCII) */
        str[i] += KEY;       /* добавляем ключ шифрования */
        str[i] %= ALF_SIZE;  /* равно остатку от деления на мощность алфавита */
        str[i] += 'a';       /* возвращаем место назад */
    }
}
 
/* <<<<<<<------- реализация функций для работы со структурой -------->>>>>>> */
/* функция инициализации структуры. Принимает указатель на структурную
переменную. Запрашивает у пользователя информацию и заполняет поля структуры */
void init(Resort *r)
{
    system("cls"); /* очистка экрана */
    printf("Введите название курорта: "); /* информационное сообщение */
    scanf("%s", r->name);                 /* заполнение полей по указателю */
    printf("Введите страну: ");
    scanf("%s", r->country);
    printf("Введите стоимость: ");
    scanf("%d", &r->cost);
}
 
/* функция вывода полей структуры на экран. Принимает указатель на константную
(read-only) структурную переменную типа Resort. Выводит поля на экран */
void print(const Resort *r)
{
    printf("Название курорта: %s\n", r->name);                
    printf("Страна: %s\n",           r->country);
    printf("Стоимость: %d\n\n",      r->cost);
}
 
/* функция считывания структуры с файла. Принимает в качестве параметров
указатель на структурную переменную и указатель на файловую переменную.
Инициализирует поля структурной переменной данными из файла */
void readFromFile(Resort *r, FILE *fp)
{
    fscanf(fp, "%s", r->name);
    fscanf(fp, "%s", r->country);
    fscanf(fp, "%d", &r->cost);
}
 
 
/* <<<<<<----- реализация функций для работы с массивом структур ------>>>>>> */
/* функция вывода всех структур на экран. Принимает указатель на константный
(read-only) массив структурных переменных, его размер. */
void printAll(const Resort *arr, const int size)
{
    int i;                   /* параметр цикла */
    system("cls");           /* очистка экрана */
    for (i=0; i < size; i++) /* адрес каждого элемента массива */
        print(&arr[i]);      /* передаем в функцию print */
    
    printf("Назад");
    _getch();                /* пауза */
}
 
/* функция поиска структурных переменных по названию. Принимает в качестве
параметров указатель на константный массив структурных переменных, размер
массива, слово, являющееся ключом поиска. Выводит переменные, соответствующие
поиску. В случае, если ни одна не была найдена, возвращает 0 (ложь) */
int findByName(const Resort *arr, const int size, const char *key)
{
    int finded = 0; /* флаг, означающий нашли ли структурную переменную */
    int i;          /* параметр цикла */
    for (i=0; i < size; i++) /* если у какого либо элемента массива */
        if (strcmp(arr[i].name, key) == 0) /* поле name совпало с ключом */
        {
            if (!finded) /* если до этого ни одного не было найдено */
            {
                finded = 1;    /* устанавливаем флаг в истину */
                system("cls"); /* очищаем экран */
                printf("Результат:\n");
            }
            print(&arr[i]); /* вызываем функцию вывода структурной переменной */
        }
    
    if (finded) /* если нашли хоть одну запись */
    {
        printf("Назад");
        _getch();
    }
    return finded; /* возвращаем флаг поиска */
}
 
/* функция поиска структурных переменных по стоимости, не превышающей заданную.
Принимает в качестве параметров указатель на константный массив структурных
переменных, размер массива, целочисленную переменную - порог. Выводит
переменные, соответствующие поиску. В случае, если ни одна не была найдена,
возвращает 0 (ложь) */
int findLessCount(const Resort *arr, const int size, const int cost)
{
    int finded = 0; /* флаг, означающий нашли ли структурную переменную */
    int i;          /* параметр цикла */
    for (i=0; i < size; i++) /* если у какого либо элемента массива */
        if (arr[i].cost <= cost) /* поле суммы оказалось меньше либо равно */
        {
            if (!finded) /* если до этого ни одного не было найдено */
            {
                finded = 1;    /* устанавливаем флаг в истину */
                system("cls"); /* очищаем экран */
                printf("Результат:\n");
            }
            print(&arr[i]); /* вызываем функцию вывода структурной переменной */
        }
    
    if (finded) /* если нашли хоть одну запись */
    {
        printf("Назад");
        _getch();
    }
    return finded; /* возвращаем флаг поиска */
}
 
/* функция записывает зашифрованные данные в файл. Принимает в качестве
параметров указатель на константный массив структурных переменных, размер массива,*/
void writeEncoded(const Resort *arr, const int size, FILE *fp)
{
    int i;                   /* параметр цикла */  
    for (i=0; i < size; i++) /* шифруем и записываем каждый элемент массива */
    {
        /* создаем временные переменные для создания копий для шифрования */
        char name[SIZE], country[SIZE];
        /* копируем в них данные */
        strcpy(name, arr[i].name);
        strcpy(country, arr[i].country);
        /* шифруем полученные имя и страну и записываем их в файл */
        encode(name);
        encode(country);
        fprintf(fp, "%s ", name);
        fprintf(fp, "%s ", country);
        /* поле стоимость записываем без шифрования */
        fprintf(fp, "%d\n", arr[i].cost); 
    }
}


Вернуться к обсуждению:
Составить файл об информаций студентов в группе. Найти самый высокий и самый низкий уровень успеваемости студентов в группе C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 22:32
Готовые ответы и решения:

Посчитать количество студентов в группе и вывести группу в которой суммарный бал студента самый меньший
мне нужно создать два масива А , В . в масиве (фамилия , курс ,група ) в другом В (фамилия...

Вывести список студентов, у которых средний балл успеваемости ниже среднего балла успеваемости в группе
Известны данные по успеваемости студентов группы. Вывести студентов имеющих успеваемости ниже...

Кто из студентов самый высокий?
По данным сведениям о студентах группы определить среднюю массу юношей и средний рост девушек. Кто...

Условие: Кто из мальчиков самый высокий, а кто самый низкий?
даны числа p,q,r- рост Пети Кости и Ромы соответственно.Кто из мальчиков самый высокий кто самый...

6
25.11.2013, 22:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2013, 22:32
Помогаю со студенческими работами здесь

В группе студентов определи средний балл каждого за последнюю сессию, распечатать Ф.И.О. студентов со средним баллом не меньше 4, остальных рассор
Пожалуйста помогите с программой ,очень необходима! С обязательным применением функций, исходные...

В группе найти студентов с одинаковыми фамилиями
Здраствуйте! У меня две задачки (вроде бы не трудные) : 1.В группе найти студентов с одинаковыми...

Определить средний рост студентов в группе, если известно количество студентов и рост каждого студента
Такая вот задачка: Определить средний рост студентов в группе, если известно количество студентов...

Составить список групп,включащий номер группы, шифр специальности, кол-во студентов в группе
Составить список групп,включащий номер группы, шифр специальности, кол-во студентов в группе....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru