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

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

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

Структуры: На основе данных входного файла составить список студентов - C++

26.04.2013, 11:58. Просмотров 1077. Ответов 14
Метки нет (Все метки)

На основе данных входного файла составить список студентов, включив следующие данные: ФИО,год рождения,домашний адрес,какую школу окончил. Вывести в новый файл список студентов,удалив из него студентов окончивших школу в текущем году.
Помогите пожалуйста, не получается решить.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 11:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры: На основе данных входного файла составить список студентов (C++):

Структуры: на основе данных входного файла составить список студентов группы - C++
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу...

на основе данных входного файла составить список вкладчиков(ФИО,№ счёта,сумма,год открытия счёта)Вывести в new файл инфу об открывших счёт в этом году - C++
Решить задачу, используя структуру, содержащую члены-данные и члены-функции. Замечание. Подразумевается, что исходная информация...

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

Список студентов (структуры) - C++
Вводится список студентов (Ф.И.О., номер группы, оценка). Найти номер группы, в которой у всех студентов вместе наибольший средний балл.

Создание структуры Список студентов - C++
Нужна помощь. Есть в методичке пример создания Ведомости студентов. Код: #include <iostream.h> #include <stdio.h> #include <conio.h> ...

Составить двусвязный список на основе класса, объекты которого будут формировать этот список - C++
Составить двусвязный список на основе класса, объекты которого будут формировать этот список. В описание класса должны входить данные для...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
knf
16 / 16 / 2
Регистрация: 18.09.2012
Сообщений: 184
26.04.2013, 12:55 #2
Что именно не получается? Что написал?
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 13:31  [ТС] #3
непонятно как удалить из списка студентов окончивших школу. а написал условие задачи.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 14:18 #4
Цитата Сообщение от Nikita9413 Посмотреть сообщение
а написал условие задачи.
то есть кода нет?
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 14:52  [ТС] #5
пока нет, но знаю как написать, вопрос только в удалении

Добавлено через 7 минут
нужен только фрагмент кода с удалением. заранее спасибо.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 14:53 #6
Цитата Сообщение от Nikita9413 Посмотреть сообщение
пока нет, но знаю как написать,
Начинайте писать то, что знаете. Потом Вам помогут.
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 16:50  [ТС] #7
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
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
struct list
{
    int age,number;
    char FIO[50],adress[50];
    void show();
    void print();
}
void list::show()
{
    cout<<setw(8)<<number<<setw(10)<<FIO<<setw(8)<<adress<<setw(8)<<age<<endl;
}
void list :: print()
{
    out<<setw(8)<<number<<setw(10)<<FIO<<setw(8)<<adress<<setw(8)<<age<<endl;
}
int main()
{
    list stud[10];
    int num;
    int i,j,n=0;
    if(!in)cout<<"ошибка при открытии файла input.txt\n";
    else
    {
        while(in.peek()!=EOF)
        {
            in>>stud[n].number;
            in>>stud[n].age;
            in>>stud[n].FIO;
            in>>stud[n].adress;
            stud[n].show();
            n++;
        };
Добавлено через 46 секунд
а с удалением проблемы((

Добавлено через 1 час 29 минут
помогите,плииз
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 16:59 #8
Nikita9413, а где год окончания школы?
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 17:14  [ТС] #9
сори год забыл, добавить его не проблема, мне непонятен алгоритм удаления
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 17:16 #10
C++
1
2
3
4
5
6
7
for( int i=0; i<n; ++i ) // перебор прочитанных из файла
{
   if( stud[i].schoolend != 2013 ) // сравниваем год окончания с неким текущим
   {
      stud[i].print(); // Выводим в файл
   }
}
1
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 17:41  [ТС] #11
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
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
struct list
{
    int age,number,year;
    char FIO[50],adress[50];
    void show();
    void print();
};
void list :: show()
{
    cout<<setw(8)<<number<<setw(10)<<FIO<<setw(8)<<adress<<setw(8)<<age<<setw(8)<<year<<endl;
}
void list:: print()
{
    out<<setw(8)<<number<<setw(10)<<FIO<<setw(8)<<adress<<setw(8)<<age<<endl;
}
int main()
{
    list stud[10];
    int num;
    int i,j,n=0;
    if(!in)cout<<"ошибка при открытии файла input.txt\n";
    else
    {
        while(in.peek()!=EOF)
        {
            in>>stud[n].number;
            in>>stud[n].age;
            in>>stud[n].FIO;
            in>>stud[n].adress;
            in>>stud[n].year;
            stud[n].show();
            n++;
        };
        for( int i=0; i<n; ++i ) // перебор прочитанных из файла
{
   if( stud[i].year != 2013 ) // сравниваем год окончания с неким текущим
   {
      stud[i].print(); // Выводим в файл
   }
}
in.close();out.close();
system("pause");
return 0;
}

извиняюсь за назойливость, но не могу найти ошибку, помогите пожалуйста.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 17:46 #12
Цитата Сообщение от Nikita9413 Посмотреть сообщение
но не могу найти ошибку
в чем ошибка?
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 18:33  [ТС] #13
fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{"
не знаю где исправлять

Добавлено через 22 минуты
нашел, спасибо за помощь в написании программы.

Добавлено через 8 минут
программа не выводит список студентов в выходной файл, а выводит цифры, где может быть ошибка?
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 20:06 #14
Nikita9413, чтение из файла и вызов show() отрабатывают как надо?
0
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
26.04.2013, 20:18  [ТС] #15
компилятор не считывает из файла строки, а в выходной файл помещает номер(школы) и не понятно откуда берущиеся цифры.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 20:18
Привет! Вот еще темы с ответами:

Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков - C++
В ведомости хранится информация о пропусках студентов: Ф.И.О., факультет, группа, кол-во пропусков. Вывести список из 10 студентов с...

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

Реализовать класс на основе заданной структуры данных - C++
ЦЕХ имя - char* начальник - char* количество сотрудников – int

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


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

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

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