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

Программа работы с файлами. Информация о студентах. - C++

Восстановить пароль Регистрация
 
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
21.12.2013, 12:40     Программа работы с файлами. Информация о студентах. #1
Нужно создать программу, которая обрабатывала б базы данных, считывала информацию с файла, редактирвала эту информацию, удаляла часть инфы, и сохраняла обратно в файл, а так же поиск в базе по фамилии. В базе данных использовать информацию о студентах, а именно: ФИО, адресс, возраст и группу. Я сделал часть, где нужно считать с файла и поиск по фамилии. А вот остальное я пока не знаю как.
Код проги:
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 <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <string.h>
# define n 3
//using namespace std;
struct FIO
{
char name [20];
char fam [20];
char ot [20];
};
struct student
{
  char name [50];
  char adress [50];
  int age;
  int group;
  struct FIO f1;
};
void main()
{
   struct student a[3];
   clrscr();
   int i, j, ind;
   char first [20];
   ifstream in;
   in.open ("c:\\Base_o.txt");
   if (in.bad())
    {
     cout<<"Error";
     return;
    }
  // ofstream out ("c:\\Base_o.txt");
   //poisk po familii
   for(i=0;i<3;i++)
   {
   in>>a[i].f1.fam;
   in>>a[i].f1.name;
   in>>a[i].f1.ot;
   in>>a[i].adress;
   in>>a[i].age;
   in>>a[i].group;
   cout<<a[i].f1.fam<<"\t"<<a[i].f1.name<<"\t"<<a[i].f1.ot<<"\t"<<a[i].adress<<"\t"<<a[i].age<<"\t"<<a[i].group<<endl;
   }
   cout<<"vvedite familiyu dlya poiska\n";
   scanf("%s", first);
   j=0;
   for(i=0;i<n;i++)
   if(strcmp (a[i].f1.fam, first)==0)
   {
   cout<<"\n FIO:\n "<<a[i].f1.fam<<" "<<a[i].f1.name<<" "<<a[i].f1.ot<<"\n age="<<a[i].age<<"\n adress="<<a[i].adress<<"\n group - "<<a[i].group;
  j=1;
 }
 if(j==0)
 cout<<"\n zapisey net";
 getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
21.12.2013, 13:13     Программа работы с файлами. Информация о студентах. #2
Цитата Сообщение от Веталя Посмотреть сообщение
struct FIO
{
char name [20];
char fam [20];
char ot [20];
};
struct student
{
* char name [50];
* char adress [50];
* int age;
* int group;
* struct FIO f1;
};
В структуре студента вместо дублирования поля "name" лучше вести поле "id"

Добавлено через 19 минут
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
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <set>
#include <string>
 
struct FIO
{
    char name [20];
    char fam [20];
    char ot [20];
};
 
std::istream& operator >> (std::istream &in, FIO &value) {
    in >> value.name >> value.fam >> value.ot;
    return in;
}
 
std::ostream &operator << (std::ostream &out, const FIO &value) {
    out << value.name << " " << value.fam << " " << value.ot << std::endl;
    return out;
}
 
struct student
{
    char name [50];
    char adress [50];
    int age;
    int group;
    struct FIO f1;
};
 
std::istream& operator >> (std::istream &in, student &value) {
    in >> value.name >> value.adress >> value.age >> value.group >> value.f1;
    return in;
}
 
std::ostream &operator << (std::ostream &out, const student &value) {
    out << value.name << " " << value.adress << " " << value.age 
        << " " << value.group << " " << value.f1
        << std::endl;
    return out;
}
 
int main(int argc, char *argv[])
{
    student s;
    std::cin >> s;
    std::cout << s;
 
    return EXIT_SUCCESS;
}
Чтение\запись
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
21.12.2013, 13:29  [ТС]     Программа работы с файлами. Информация о студентах. #3
Цитата Сообщение от outoftime Посмотреть сообщение
C++
1
2
3
#include <iostream>
#include <sstream>
...
а можно как то попроще? Просто такое мы еще не учили. Или это единственный способ?
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
21.12.2013, 13:48     Программа работы с файлами. Информация о студентах. #4
Цитата Сообщение от Веталя Посмотреть сообщение
#include <sstream>
Лишний

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
#include <iostream>
#include <fstream>
#include <cstdlib>
 
struct FIO
{
    char name [20];
    char fam [20];
    char ot [20];
    
    void read(std::istream &in) {
        in >> name >> fam >> ot;
    }
    void write(std::ostream &out) {
        out << name << " " << fam << " " << ot << std::endl;
    }
};
 
struct student
{
    char name [50];
    char adress [50];
    int age;
    int group;
    struct FIO f1;
    
    void read(std::istream &in) {
        in >> name >> adress >> age >> group;
        f1.read(in);
    }
    void write(std::ostream &out) {
        out << name << " " << adress << " " << age << " " << group << " ";
        f1.write(out);
        out << std::endl;
    }
};
 
int main(int argc, char *argv[])
{
    student s;
    s.read(std::cin);
    s.write(std::cout);
 
    return EXIT_SUCCESS;
}
Аналогично

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
....
int main(int argc, char *argv[])
{
    student s;
    std::ifstream in("input.txt");
    s.read(in);
    s.write(std::cout);
 
    return EXIT_SUCCESS;
}
вот так с файлом
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
21.12.2013, 16:37  [ТС]     Программа работы с файлами. Информация о студентах. #5
Цитата Сообщение от outoftime Посмотреть сообщение
return EXIT_SUCCESS;
что оно возвращает?
Цитата Сообщение от outoftime Посмотреть сообщение
#include <cstdlib>
Такое вродь не учили. Но если нужно, оставлю, только поясните, для чего эта библиотека?
Ну, остальное понятно. А можете вместе с моей частью и Вашу соединить? Заранее спасибо.

Добавлено через 2 часа 36 минут
Можете еще помочь?
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
23.12.2013, 13:10     Программа работы с файлами. Информация о студентах. #6
Веталя, http://lmgtfy.com/?q=c%2B%2B+EXIT_SUCCESS&l=1
http://lmgtfy.com/?q=c%2B%2B+EXIT_FAILURE&l=1
http://lmgtfy.com/?q=c%2B%2B+cstdlib&l=1
Yandex
Объявления
23.12.2013, 13:10     Программа работы с файлами. Информация о студентах.
Ответ Создать тему
Опции темы

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