Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
#1

Упражнение с использованием структуры - C++

19.05.2010, 00:09. Просмотров 464. Ответов 3
Метки нет (Все метки)

Ребят помогите.На основе данных в input.txt составить список студентов группы включив в них следующие данные: фио, год рождения, домашний адресс, какую школу окончил. вывести в output.txt список студентов, оконичвших в школу в этом году. Вот последнее незнаю как сделать а все остальное у меня уже есть. Т.е. как сказать на языке си++ что эти студенты окончили школу в этом году и их удалить из списка а остальных переписать в файл оутпут?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2010, 00:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упражнение с использованием структуры (C++):

Упражнение с использованием векторов - C++
Ребят помогите. Дана последовательность с целыми числами. Удалить из массива все максимальные элементы. Я решала подобную задачу но не...

Упражнение по программированию (Стивен Прата, глава 2, упражнение 3) - C++
2 Глава, вопрос 3. Напишите программу на С++, которая использует три определяемых пользователем функции (включая main()) и генерирует...

Переписать программу с использованием структуры - C++
В общем,была программа, но ее нужно было переписать в структуру типа класс. Я в c++ новичок, поэтому количество глупых ошибок в этом треде...

Задача с использованием структуры и указателя - C++
Структура содержит поля: имя, фамилия , возраст. Надо заполнить с клавиатуры и передать через указатель в функцию , в к-ой вывести на экран...

Вычислить значение выражения с использованием структуры - C++
можете помочь сделать из этого структуру

Условие завершение цикла с использованием структуры - C++
Доброе время суток! Я новичок на этом форуме и если че не так не ругайтесь. У меня такой вопрос как задать условие выхода из цикла....

3
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.05.2010, 06:22 #2
не надо их удалять из списка
надо сделать так, что если год студента равен текущему, то вывести данные студента в output.txt
0
LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
19.05.2010, 21:37  [ТС] #3
accept, Я не совсем правильно выразилась. Нужно вывести в новый список студентов, удалив из инпут.тхт студентов окончивших школу в этом году. Т.е. в структуре не должно быть такого раздела как типа "когда закончил". Как я поняла если на дворе 2010 а учимся допустим 11 лет а в школу дети идут возрастом в допустим 7 лет то студенты рожденные в 1992 год удаляются из списка а что сталось записываются в оутпут.тхт

Добавлено через 21 секунду
accept,
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
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
struct baza
{
    int year;
    char family[20], adress[20], shool[20];
    void show();
    void print();
};
void baza::show()
{
    cout<<setw(10)<<family<<setw(8)<<year<<setw(10)<<adress<<setw(10)<<shool<<endl;
}
void baza::print()
{
    out<<setw(10)<<family<<setw(8)<<year<<setw(10)<<adress<<setw(10)<<shool<<endl;
}
int main()
{   baza book[10];
int num;
int i,j,n=0;
if(!in) cout<<"Error";
else
{
    while(in.peek()!=EOF)
    {
        in>>book[n].family;
        in>>book[n].year;
        in>>book[n].adress;
        in>>book[n].shool;
        book[n].show();
        n++;
    };
    cout<<"Vvedite god";
    cin>>num;
    if(!out) cout<<"Error";
    else
    {
        j=0;
        for (i=0; i<n && !j; i++)
            if(book[i].year==num)
                for(i=0; i<n; i++)
                    book[i].print();
    }
    in.close();
    out.close();
    return 0;
}
 
}
Добавлено через 1 минуту
accept, я тут набросала код. знаю что неправильный. проблемма в последнем как в си++ удалить этих студентов а остаток записать в новый файл?

Добавлено через 54 минуты
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
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
struct baza
{
    int year;
    char family[16], adress[30], shool[15];
    void show();
    void print();
};
void baza::show()
{
    cout<<setw(10)<<family<<setw(8)<<year<<setw(10)<<adress<<setw(10)<<shool<<endl;
}
void baza::print()
{
    out<<setw(15)<<family<<setw(15)<<year<<setw(20)<<adress<<setw(15)<<shool<<endl;
}
int main()
{   baza book[10];
int num=1992;
int i,j,n=0;
if(!in) cout<<"Error";
else
{
    while(in.peek()!=EOF)
    {
        in>>book[n].family;
        in>>book[n].year;
        in>>book[n].adress;
        in>>book[n].shool;
        book[n].show();
        n++;
    };
    if(!out) cout<<"Error";
    else
    {
        j=0;
        for (i=0; i<n && !j; i++)
            if(book[i].year==num)
            {
                for(j=i; j<n-1;j++) book[j]=book[j+1];
                n--;
            }
                for(i=0; i<n; i++)
                    book[i].print();
    }
    in.close();
    out.close();
    system("PAUSE");
    return 0;
}
 
}
собственно почти все последний вопрос - я зделала чтоб только первого попавшегося студента года 1992 удалился а вот как сделать чтобы всех с 1992 годом удалили?
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.05.2010, 02:52 #4
Цитата Сообщение от LiLi R.
На основе данных в input.txt составить список студентов группы включив в них следующие данные: фио, год рождения, домашний адресс, какую школу окончил. вывести в output.txt список студентов, оконичвших в школу в этом году.
Цитата Сообщение от LiLi R.
Нужно вывести в новый список студентов, удалив из инпут.тхт студентов окончивших школу в этом году. Т.е. в структуре не должно быть такого раздела как типа "когда закончил".
структура имеет год окончания

1. загрузить данные из input.txt в массив структур (вектор обычно)
2. проставить годы окончания в массиве для каждого студента
3. подготовить файлы для вывода (input.txt нужно переоткрыть)
4. сделать цикл вывода с условием, которое проверяет поле окончания (получатся два файла, а вообще лучше первый файл не стирать, а сделать три файла)
0
20.05.2010, 02:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2010, 02:52
Привет! Вот еще темы с ответами:

Помогите решить задачу с использованием структуры - C++
Помогите решить задачу:Нужно ввести фамилию и узнать информацию о студенте #include&lt;stdio.h&gt; #include&lt;conio.h&gt; struct student_spisok ...

Действия над дробями с использованием структуры - C++
Ребята, написал задачу, есть небольшая проблема. После сложения и вычитания дробь сокращается. После умножения и деления не всегда...

Задача с использованием Алгоритма линейной структуры - C++
Написать программу для решения задачи ( использовать алгоритм линейной структуры) Вычислить значение функции при заданных значениях входных...

Как добавить элемент структуры с использованием #include <vector> ? - C++
#include &lt;vector&gt; #include &lt;iostream&gt; using namespace std; struct Item { int n; };


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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