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

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

Войти
Регистрация
Восстановить пароль
 
yura`
11 / 21 / 0
Регистрация: 09.02.2010
Сообщений: 107
#1

Работа с файлами - C++

13.05.2010, 21:34. Просмотров 1532. Ответов 9
Метки нет (Все метки)

Всем добрый день. Помогите кто-нибудь с этим заданием: о каждом из студентов известны фамилия и информация о том, имеет ли студент зачет по каждому из 6 предметов. Отпечатать фамилии студентов, не имеющих зачета более чем по 2 предметам.
Сам файл создать нужно самостоятельно, и с него информацию брать для создания нового файла.
Только на С++ программу делать, не на С.
Заранее очень и очень благодарен.

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

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

работа с файлами - C++
в программе не работает удаление... что делать?? #include "stdafx.h" #include <string.h> #include <conio.h> #include <stdlib.h> ...

Работа с файлами - C++
Напишите программу, которая объединяет возможности программ “Добавление в файл” и “Поиск по файлу”. При запуске программы на экран должно...

Работа с файлами - C++
#include <iostream.h> #include <fstream.h> #include <conio.h> struct firma { char fio; int zar; char adr; char...

работа с файлами - C++
помогите пожалуйста! 2. Дан файл f, компоненты которого являются целыми числами. Никакой из компонентов файла не равен нулю. ...

Работа с файлами - C++
Здравствуйте,помогите Написать программу, которая работает в одном из двух режимов. Если в те¬кущем каталоге имеется текстовый файл...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.05.2010, 22:19 #2
т.е. есть файл текстовый в котором информация о студентах, вводить информацию с консоли не нужно, а просто взять считать данные с файла?
yura`
11 / 21 / 0
Регистрация: 09.02.2010
Сообщений: 107
13.05.2010, 22:28  [ТС] #3
Да, ну вот есть пример похожей рабочей программы:
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
#include <iostream>
#include <fstream>
using namespace std;
char f[] = "file1.txt";
char g[] = "file2.txt";
char h[] = "out.txt";
ifstream inp1(f);
ifstream inp2(g);
ofstream out(h);
 
int main()
{
        int n;
       while(inp1 >> n) {
                out << n << " ";
        }
        while(inp2 >> n) {
                        out << n << " ";
        }
        out.close();
        inp1.close();
        inp2.close();
        system("PAUSE");
        return 0;
}
Заранее спасибо.

Добавлено через 1 минуту
Тут есть созданые пользователем текст в текстовом файле, и данные с файлов считываются в новый, но я не знаю как в моей программе это все вычислить...тоесть как перенести правильные данные по условию задания в новый файл...
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.05.2010, 23:08 #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
52
53
54
55
56
57
58
59
60
61
62
//о каждом из студентов известны фамилия и информация о том, имеет ли студент зачет по каждому из 6 предметов.
//Отпечатать фамилии студентов, не имеющих зачета более чем по 2 предметам. 
//Сам файл создать нужно самостоятельно, и с него информацию брать для создания нового файла.
//Только на С++ программу делать, не на С.
#include<iostream>
using namespace std;
struct Student
{
    char name[150];
    int osenk[6];
};
void Find(Student *st,int n)
{
    FILE *fn;
        fn=fopen("student2.txt","w");
    if(!fn)
        cout<<"Невозможно открыть файл\n";
    else
    {
    int ch=0;
    for(int i=0;i<n;i++)
    {
        int k=0;
        for(int j=0;j<5;j++)
        {
            if(st[i].osenk[j]<=2)
                ch++;
        if(ch>2&&k==0)
        {
            fprintf(fn,"%s\t%d\t%d\t%d\t%d\t%d\t%d\t\n",st[i].name,st[i].osenk[0],st[i].osenk[1],st[i].osenk[2],st[i].osenk[3],st[i].osenk[4],st[i].osenk[5]);
        k++;
        }
            
        }
    }
    
 
}
    fclose(fn);
}
void main()
{
    int n=10,q=0;
    Student *st=new Student[n];
    setlocale(LC_CTYPE,"Rus");
    FILE *fo;
    fo=fopen("student.txt","r");
    if(!fo)
        cout<<"Невозможно открыть файл\n";
    else
    {
        while(!feof(fo))
        {
            fscanf(fo,"%s%d%d%d%d%d%d",&st[q].name,&st[q].osenk[0],&st[q].osenk[1],&st[q].osenk[2],&st[q].osenk[3],&st[q].osenk[4],&st[q].osenk[5]);
            q++;
        }
    fclose(fo);
    }
    Find(st,n);
    cout<<endl;
    delete [] st;
}
Файл студентов выглядит так
Серов 5 5 5 3 2 2
Белов 2 2 2 2 2 2
Иванов 2 2 2 2 2 2

и т.д.

Добавлено через 40 секунд
использовал не сдал это оценка меньше 2х
yura`
11 / 21 / 0
Регистрация: 09.02.2010
Сообщений: 107
13.05.2010, 23:33  [ТС] #5
Crudelis, программа выдает ошибку...Может я не там работаю где нужно? У меня Dev C++ .
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,277
14.05.2010, 00:20 #6
попробуйте подключить <stdio.h>
и вместо <iostream> попробуйте <iostream.h>
yura`
11 / 21 / 0
Регистрация: 09.02.2010
Сообщений: 107
14.05.2010, 00:50  [ТС] #7
Vorona, у меня ошибку выдает сдесь:
C++
1
2
3
void main()
{
        int n=10,q=0;
Ошибка выглядит так:
`main' must return `int'
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
14.05.2010, 01:00 #8
Цитата Сообщение от yura` Посмотреть сообщение
Ошибка выглядит так:
`main' must return `int'
C++
1
2
3
4
5
...
int main(){
...
    return 0;
}
yura`
11 / 21 / 0
Регистрация: 09.02.2010
Сообщений: 107
14.05.2010, 01:13  [ТС] #9
easybudda, а куда его вставить?
Я уже пробывал по разному...А оно еще больше ошибок...
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,277
14.05.2010, 01:21 #10
работает?
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<iostream>
using namespace std;
struct Student
{
        char name[150];
        int osenk[6];
};
void Find(Student *st,int n)
{
        FILE *fn;
                fn=fopen("student2.txt","w");
        if(!fn)
                cout<<"Невозможно открыть файл\n";
        else
        {
        int ch=0;
        for(int i=0;i<n;i++)
        {
                int k=0;
                for(int j=0;j<5;j++)
                {
                        if(st[i].osenk[j]<=2)
                                ch++;
                if(ch>2&&k==0)
                {
                        fprintf(fn,"%s\t%d\t%d\t%d\t%d\t%d\t%d\t\n",st[i].name,st[i].osenk[0],st[i].osenk[1],st[i].osenk[2],st[i].osenk[3],st[i].osenk[4],st[i].osenk[5]);
                k++;
                }
                        
                }
        }
        
 
}
        fclose(fn);
}
int main()
{
        int n=10,q=0;
        Student *st=new Student[n];
        setlocale(LC_CTYPE,"Rus");
        FILE *fo;
        fo=fopen("student.txt","r");
        if(!fo)
                cout<<"Невозможно открыть файл\n";
        else
        {
                while(!feof(fo))
                {
                        fscanf(fo,"%s%d%d%d%d%d%d",&st[q].name,&st[q].osenk[0],&st[q].osenk[1],&st[q].osenk[2],&st[q].osenk[3],&st[q].osenk[4],&st[q].osenk[5]);
                        q++;
                }
        fclose(fo);
        }
        Find(st,n);
        cout<<endl;
        delete [] st;
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2010, 01:21
Привет! Вот еще темы с ответами:

Работа с файлами - C++
Здравствуйте,помогите пожалуйста с решением задачи, Каждая строка текстового файла содержит название города и число его жи-телей. Используя...

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

Работа с файлами - C++
написал класс fail для чтения из файла class fail { public: fail( int = 0, string = &quot;&quot; ); void setNom( int nomValue );...

Работа с файлами - C++
Программа на TC! Создать файл, содержащий сведения о товарах, хранящихся на складе: шифр, наименование товара, количество единиц,...


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

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

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