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

Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. - C++

Восстановить пароль Регистрация
 
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 11:53     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #1
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году.

Прошу помогите, понятным языком, желательно весь код, потому что я только учусь и могу не правильно понять отрывки. Заранее спасибо. выполнить с помощью текстовых файлов input.txt и output.txt
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2014, 11:53     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году.
Посмотрите здесь:

вывести список студентов C++
Упорядочить список студентов по году рождению C++
Вывести список студентов по возрастанию оценок по математике. C++
Упорядочить список студентов по среднему баллу и вывести весь список C++
Программа выводит неверный ответ (дан массив структур, содержащий сведения об успеваемости студентов - вывести список неуспевающих студентов) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,732
Завершенные тесты: 5
07.08.2014, 11:59     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #2
MeGreL,
Цитата Сообщение от MeGreL Посмотреть сообщение
потому что я только учусь
С такими темпами вы ничему не научитесь, попробуйте сами начать, скинуть то что получилось, а уж я подправлю
frostyfull
31 / 31 / 8
Регистрация: 13.06.2014
Сообщений: 508
07.08.2014, 12:08     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #3
dimabubyakin, создаешь структуры, записываешь в них весь файл, при перезаписи отсеиваешь студентов, тут ничего сложного нет, сам должен разобраться
Цитата Сообщение от dimabubyakin Посмотреть сообщение
С такими темпами вы ничему не научитесь, попробуйте сами начать, скинуть то что получилось, а уж я подправлю
плюсую, если что код подправим)
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 12:27  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #4
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
#include "stdafx.h"
#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 != 2014 ) 
   {
      stud[i].print(); 
   }
}
in.close();out.close();
system("pause");
return 0;
}
Добавлено через 1 минуту
я говорю, что я не понимаю этого, я пытался сделать но не получалось и я перешел на следующие задачки, но эта мне нужна для отчета.
dimabubyakin
 Аватар для dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,732
Завершенные тесты: 5
07.08.2014, 13:02     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #5
MeGreL, ну так твоя программа работает)
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
#include "stdafx.h"
#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 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 != 2014 ) 
        stud[i].print(); 
    in.close();
    out.close();
    system("pause");
    return 0;
}
Содержимое файла input.txt
Код
1
18
Bubyakin_Dima
Kramatorsk
2013
2
17
Bubyakin_Dima1
Kramatorsk1
2014
output.txt
Код
       1Bubyakin_DimaKramatorsk      18
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 13:28  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #6
у меня в VS 2008 не работает.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
07.08.2014, 14:13     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #7
Цитата Сообщение от MeGreL Посмотреть сообщение
у меня в VS 2008 не работает.
Что-то ни в одной из Ваших тем ни один приведённый код не компилируется у Вас. Может стоит задуматься о смене компилятора?
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 14:36  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #8
Мне этот диск(лицензия) дала Препод. Вы можете исправить эту задачку так что бы она работала. У меня вот такую ошибку выдает, ему первая строка не нравится.
1>------ Build started: Project: p13str66, Configuration: Debug Win32 ------
1>Compiling...
1>p13str66.cpp
1>c:\users\home pc\documents\visual studio 2008\projects\p13str66\p13str66\p13str66.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
1>Build log was saved at "file://c:\Users\HOME PC\Documents\Visual Studio 2008\Projects\p13str66\p13str66\Debug\BuildLog.htm"
1>p13str66 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Где можно взять хороший современный компилятор ? подскажи те плиз. Мне просто отчет сдавать и только эта задачка осталась.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
07.08.2014, 14:43     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #9
MeGreL, уберите вообще строку
C++
1
#include "stdafx.h"
Цитата Сообщение от MeGreL Посмотреть сообщение
Где можно взять хороший современный компилятор ?
Бесплатные среды (IDE) для программирования на С/С++
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 14:55  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #10
1>------ Build started: Project: p13str66, Configuration: Debug Win32 ------
1>Compiling...
1>p13str66.cpp
1>c:\users\home pc\documents\visual studio 2008\projects\p13str66\p13str66\p13str66.cpp(51) : fatal error C1075: end of file found before the left brace '{' at 'c:\users\home pc\documents\visual studio 2008\projects\p13str66\p13str66\p13str66.cpp(23)' was matched
1>Build log was saved at "file://c:\Users\HOME PC\Documents\Visual Studio 2008\Projects\p13str66\p13str66\Debug\BuildLog.htm"
1>p13str66 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
убрал 1 строку, говрит что на 51 что то не так, а там всего 50.

Добавлено через 6 минут
где то не хватает скобки, только не пойму где ?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
07.08.2014, 14:55     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #11
Цитата Сообщение от MeGreL Посмотреть сообщение
1>------ Build started: Project: p13str66, Configuration: Debug Win32 ------
1>Compiling...
1>p13str66.cpp
1>c:\users\home pc\documents\visual studio 2008\projects\p13str66\p13str66\p13str66.cpp(51) : fatal error C1075: end of file found before the left brace '{' at 'c:\users\home pc\documents\visual studio 2008\projects\p13str66\p13str66\p13str66.cpp(23)' was matched
1>Build log was saved at "file://c:\Users\HOME PC\Documents\Visual Studio 2008\Projects\p13str66\p13str66\Debug\BuildLog.htm"
1>p13str66 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
убрал 1 строку, говрит что на 51 что то не так, а там всего 50.
Скобку за собой закрывать нужно!
В самом конце кода поставьте закрывающуюся скобку }.
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 15:08  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #12
Блин у меня больше нет сил, я второй день голову ломаю. Пришли кто нибудь адекватный код который будет работать исправно! СПАСИБО ОГРОМНОЕ ЗАРАНЕЕ!
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
07.08.2014, 15:11     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от MeGreL Посмотреть сообщение
Блин у меня больше нет сил, я второй день голову ломаю.
Над тем, чтобы скобочку в конце поставить?

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
#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 != 2014 ) 
              stud[i].print(); 
        }   
in.close();
out.close();
system("pause");
return 0;
 
    }
}
MeGreL
0 / 0 / 0
Регистрация: 16.05.2014
Сообщений: 29
07.08.2014, 15:29  [ТС]     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #14
А вы проверяли ? что вы в input вводили ? Надо ФИО, год рождения, адрес, и какую ШКОЛУ ОКОНЧИЛ! ( а не когда окончил)
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
07.08.2014, 15:32     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #15
Цитата Сообщение от MeGreL Посмотреть сообщение
А вы проверяли ? что вы в input вводили ? Надо ФИО, год рождения, адрес, и какую ШКОЛУ ОКОНЧИЛ! ( а не когда окончил)
dimabubyakin Вам предоставил доказательство того, что код работает корректно. Зачем мне лишний раз проделывать эту же работу?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
07.08.2014, 15:41     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #16
Тамика, бисер, бисер береги.
Тамика
07.08.2014, 16:04
  #17

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Тамика, бисер, бисер береги.
Это что значит?

HighPredator
07.08.2014, 16:06
  #18

Не по теме:

Тамика, полагаю, это отсылка к расхожей фразе "метать бисер перед свиньями".

Тамика
07.08.2014, 16:09
  #19

Не по теме:

Цитата Сообщение от HighPredator Посмотреть сообщение
Тамика, полагаю, это отсылка к расхожей фразе "метать бисер перед свиньями".
А, возможно. Спасибо за разъяснение.))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2014, 00:53     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году.
Еще ссылки по теме:

C++ Упорядочить список студентов по году рождения и распечатать его
C++ Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году
Вывести список студентов получивших 3 по третьему экзамену C++

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

Или воспользуйтесь поиском по форуму:
Splitty
 Аватар для Splitty
5 / 5 / 2
Регистрация: 15.12.2013
Сообщений: 34
08.08.2014, 00:53     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. #20
else не закрыт скобкой
Yandex
Объявления
08.08.2014, 00:53     Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году.
Ответ Создать тему
Опции темы

Текущее время: 16:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru