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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ruin_wow
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 3
#1

программирование, зачет по второму курсу. - C++

13.02.2011, 14:42. Просмотров 687. Ответов 4
Метки нет (Все метки)

Дело вот в чем....Не могу написать алгоритм...Если кто нить поможет, буду очень признателен.

Двоичный файл содержит данные о студентах: фамилия, группа, оценка по программированию.
Создать на его основе текстовый файл с записями такого же вида, помещая в него только тех студентов, у которых оценка по программированию выше средней в группе.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2011, 14:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программирование, зачет по второму курсу. (C++):

Перевод одной валюты по курсу на несколько - C++
Приветствую вас форумчани,на копилятор Jv studio нужно написать код:есть определенная сумма в грн,цена за 1долар,1евро,1фунт...

Перевод из одной валюты в другие по указанному пользователем курсу - C++
Здравствуйте, помогите пожалуйста! Заранее спасибо! Условие задачи: Напишите программу, которая сможет выполнять перевод из одной...

Выполнить перевод из одной валюты в другую по указанному курсу - C++
Напишите программу, которая сможет выполнять перевод из одной валюты в другие по указанному пользователем курсу.

Вывести таблицу перевода 1, 2, 3 …, 20 долларов США в рубли по текущему курсу - C++
Помогите с задачей! Что то никак не могу( 1)Вывести таблицу перевода 1, 2, 3 …, 20 долларов США в рубли по текущему курсу (значение...

Напечатать таблицу перевода 1, 2, …, 20 долларов США в рубли по текущему курсу - C++
Напечатать таблицу перевода 1, 2, …, 20 долларов США в рубли по текущему курсу (значение курса вводится с клавиатуры).

Первые шаги по базовому курсу Шилдта - ошибка синтаксиса приведенного кода - C++
Здравствуйте! Изучаю С++ с нуля по учебнику Базовый курс С++ Шилдт. Каждую программу из примеров компилирую на Visual Studio 2013, до сих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrOldZeppelin
1 / 1 / 0
Регистрация: 02.02.2011
Сообщений: 9
13.02.2011, 14:50 #2
А в чём затруднение именно?
В считывании из файла, перевод информации из бинарного в текстовый, в создании структуры, поиск и работа в массиве или вывод результатов?
Вроде все просто

А в каком формате находятся данные о студенте? Сколько позиций на фамилию, группу и оценку.
Можешь дать полное условие задачи
Ruin_wow
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 3
13.02.2011, 14:54  [ТС] #3
Цитата Сообщение от MrOldZeppelin Посмотреть сообщение
А в чём затруднение именно?
В считывании из файла, перевод информации из бинарного в текстовый, в создании структуры, поиск и работа в массиве или вывод результатов?
Вроде все просто
мб для кого то и просто....Но у меня к сожалению не лады с программированием, а зачет нужен.
Дали вот на дом пару задач....Одну нашел в интернете, а со второй ничего не получается....
Вот и пришлось обратиться к вам

Добавлено через 54 секунды
Это полное условие
MrOldZeppelin
1 / 1 / 0
Регистрация: 02.02.2011
Сообщений: 9
14.02.2011, 22:28 #4
Давай, дружок, прежде, чем решать задачи определимся с исходными данными.
Т.к. у тебя условие неполное, то сам подкорректируешь программу под свои нужды.

Исходные данные:
текстовый(!) файл "input.txt", в котором содержатся данные о студентах в формате:
<имя> <группа> <баллы>
Формат: ТЕКСТОВЫЙ,
ибо приведенных условий недостаточно для перевода из бинарной информации в текстовую
так и скажешь преподу

Выходные данные:
текстовый файл "output.txt", в котором содержатся данные о студентах в формате
<имя>

Связь:
Имена студентов выводятся лишь, в том случае, если их балл выше среднего по группе.

Алгоритм решения задачи:
1) Установить поддержку в консоли русского языка;
2) Создать входные и выходные потоки;
3) Описать две структуры и массив структур, где
а) структура состоит из количества баллов в группе и количества студентов
б) структура состоит из имени и баллов
4) Считать из потока и заполнить структуру данных
5) Вывести необходимые данные.
6) Закрыть потоки, закрыть файлы, закрыть консоль.

Алгоритм установлен, можно приступать к программированию.

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
//Среда компилятора Microsoft Visual C++ 2008, express 
 
#include <clocale>
#include <fstream>
#include <iostream>
#include <istream>
using namespace std;
int main(){
    setlocale(LC_ALL,"Russian");
 
    int n,st;
    cout<<"Введите количество групп.\n";
    cin>>n;
    cout<<"Введите количество студентов.\n";
    cin>>st;
    n++;// с учетом нулевого индекса
 
    ifstream fin("input.txt");
    if (!fin) {cout<<"Ошибка открытия файла";return 1;}
 
    ofstream fout("output.txt");
    if (!fout) {cout<<"Ошибка открытия файла";return 1;}
 
    struct group{
        int kol;
        int ob_ball;
    };
    group *a=new group[n];
 
    for(int i=0;i<n;i++) {a[i].ob_ball=0;a[i].kol=0;}// оказывается в Си надо обнулять массивы, а я и не знал, думал этот маразм только в Паскале
 
    char buf[100]; //по умолчанию длина фамилии студента не больше 100
    int ibuf,ibuf2;
    for(int i=0; i<st;i++){
        fin>>buf; 
        fin>>ibuf>>ibuf2;
        a[ibuf].ob_ball=a[ibuf].ob_ball+ibuf2;
        a[ibuf].kol++;
    }
    fin.close();
 
    struct student{
        char name[100];
        int ball;
    };
    student *b=new student[st];
 
    ifstream fin2("input.txt");
    if (!fin2) {cout<<"Ошибка открытия файла";return 1;}
 
    for(int i=0; i<st;i++){
        fin2>>b[i].name>>ibuf>>b[i].ball;
        if(a[ibuf].ob_ball/a[ibuf].kol<b[i].ball) fout<<b[i].name<<" ";
    }
 
    fin2.close();
    fout.close();
    return 0;
}
Ruin_wow
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 3
16.02.2011, 22:42  [ТС] #5
Спасибо огромное за помощь и потраченное время.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2011, 22:42
Привет! Вот еще темы с ответами:

Обратится ко второму классу - C++
Пытаюсь через вызов первого класса вывести info второго класса, но никак :(соответственно все разбиваю по файлам) Cfirst.h #ifndef...

Сортировка по второму слову - C++
Доброго времени суток! Есть следующее задание: &quot;В файле хранятся названия фирм. Каждая строка запись об отдельной фирме. ЗАО Рога...

расчет по текущему курсу - MS Access
Для расчета запроса нужно ввести текущий курс, создаю пустую форму на ней поле вбиваю в поле курс при запросе нужно вывести введенный курс...

Задачник к курсу лекций М. М. Постникова - Геометрия
Какой сборник задач можно порекомендовать к пятисеместровым &quot;Лекциям по геометрии&quot; М. М. Постникова?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.02.2011, 22:42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru