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

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

Войти
Регистрация
Восстановить пароль
 
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
#1

Файлы (определения месяца, в котором родилось максимальное количество студентов) - C++

15.12.2012, 11:40. Просмотров 772. Ответов 13
Метки нет (Все метки)

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

Определить индекс столбца, в котором находится максимальное количество нулей C++
Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки) C++
C++ Найти слово, один и тот же символ в котором встречается максимальное число раз
Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). C++
C++ Составить программу для определения самого длинного слова в тексте, в котором нет цифр.
C++ Файлы определения модуля *.def
C++ Структуры: определение месяца, в котором родилось максимальное количество студентов в вашей группе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kit0072
6 / 6 / 2
Регистрация: 14.10.2012
Сообщений: 13
15.12.2012, 11:53     Файлы (определения месяца, в котором родилось максимальное количество студентов) #2
а хоть какие-то наработки есть? если есть напишите, помогу доработать!)
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
16.12.2012, 16:22  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #3
вот есть кода №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
#include <iostream.h>
#include <fstream.h> // ofstream
#include <stdlib.h>  // содержит функцию  exit
int main()
{ char sim;
  // создаётся файл, старый стирается
  ofstream myfile("d:\oop\myfile.txt",ios::out);  
  if(!myfile)
  {
    cerr<<" ошибка открытия myfile.txt"<<endl;
    exit(1);
  }
  for(int i=1;i<10;i++){
    cout<<"введите символ"<<endl;
    cin>>sim;
    myfile.put(sim);     }
  myfile<<endl;
  return 0;
}
#include <iostream.h>
//#include <fstream.h> // ofstream
#include <fstream.h>
#include <stdlib.h>  // содержит функцию  exit
int main()
{ char sim;
  ifstream myfile("d:\oop\myfile.txt",ios::in);
  if(!myfile)
  {
     cerr<<" ошибка открытия myfile.txt"<<endl;
     exit(1);
  }
  int nsim=0, kolstr=0;
  while (myfile.get(sim)){
     if (sim==char("\n"))
        kolstr++;
     else
        nsim++;
     cout.put(sim);     }
  cout<<endl<<endl<<"kolstr="<<kolstr<<" "<<"nsim="<<nsim<<endl;
  cin>>nsim;
  return 0;
}
Добавлено через 22 секунды
и код №2:

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
#include <iostream.h>
#include <fstream.h> // ofstream
#include <stdlib.h>  // содержит функцию  exit
int main()
{ char sim;
  ofstream myfile("d:\oop\myfile.txt",ios::in); // открывается 
  // файл для чтения
  if(!myfile)
  {
    cerr<<" ошибка открытия myfile.txt"<<endl;
    exit(1);
  }
  for(int i=1;i<10;i++){........................}
  cout<<"введите символ"<<endl;
  cin>>sim;
  myfile.put(sim);     }
  myfile<<endl;
  return 0;
}
#include <iostream.h>
#include <fstream.h> // ofstream
#include <stdlib.h>  // содержит функцию  exit
#define size 40
int main()
{ char sim,*filename;
  cout<<"введите имя файла и путь d:\oop\myfile.txt \n";
  filename=new char(size);
  cin.getline(filename,size);
  ofstream myfile(filename,ios::out);
  if(!myfile)
  {
     cerr<<" ошибка открытия myfile.txt"<<endl;
     cin>>sim;
     exit(1);
  }
  for(int i=1;i<10;i++){. . . . . . . . . . }
  cout<<"введите символ"<<endl;
  cin>>sim;
  myfile.put(sim);     }
  myfile<<endl;
  delete[]filename;
  return 0;
}
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.12.2012, 17:12     Файлы (определения месяца, в котором родилось максимальное количество студентов) #4
Максим1827, читаете std::getline целую строку из файла. Потом с помощью boost::split парсите ее. Потом Создаете массив структур(там будет три поля ФИО, группа и месяц). Потом сортируете по группе все элементы(std::sort). Потом внутри каждой группы запускаете 12 раз(для каждого месяца std::count). Определяете который больше встречается. На этом все.
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
16.12.2012, 17:51  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #5
спасибо за советы!но я просто не понимаю как код составить!
Ребят помогите пожалуйста!
ValeryS
Модератор
6486 / 4952 / 456
Регистрация: 14.02.2011
Сообщений: 16,402
16.12.2012, 18:39     Файлы (определения месяца, в котором родилось максимальное количество студентов) #6
сначала создай структуру( класс) где будет все это
Цитата Сообщение от Максим1827 Посмотреть сообщение
факультет, группа, ФИО, домашний адрес, месяц и год рождения.
потом попробуй её заполнить из файла
кстати что значит
Цитата Сообщение от Максим1827 Посмотреть сообщение
В файле хранится информация о студентах института:
как хранится ???
какой формат файла ?
пока ты это не объяснишь думаю никто тебе не поможет экстрасенсов нет

потом когда научишься заполнять одну структуру создай массив структур( по моему лучше динамический, vector)
научись их все заполнять из файла

а уж потом будет поиск
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
16.12.2012, 18:42  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #7
формат файла .txt
в смысле как хранится?просто напечатана в этом файле
ValeryS
Модератор
6486 / 4952 / 456
Регистрация: 14.02.2011
Сообщений: 16,402
16.12.2012, 19:00     Файлы (определения месяца, в котором родилось максимальное количество студентов) #8
Цитата Сообщение от Максим1827 Посмотреть сообщение
в смысле как хранится?просто напечатана в этом файле
как напечатаны?
данные по одному студенту как лежат?
что с начала?
как разделяются имя фамилия и т.д.?
как разделяются записи о разных студентах?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.12.2012, 19:43     Файлы (определения месяца, в котором родилось максимальное количество студентов) #9
Цитата Сообщение от ValeryS Посмотреть сообщение
экстрасенсов нет
Я хоть к ним не отношусь, но по-мойму здесь все очевидно.
- Данные для каждого студента хранятся в отдельной строке.
- Символ разделителя - пробел.
Цитата Сообщение от ValeryS Посмотреть сообщение
что с начала?
Цитата Сообщение от Максим1827 Посмотреть сообщение
факультет, группа, ФИО, домашний адрес, месяц и год рождения.

Не по теме:

Здесь помочь нужно человек, а не пытаться завалить вопросами, выставляя человека в не лучшем свете.

Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
16.12.2012, 23:42  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #10
Цитата Сообщение от ValeryS Посмотреть сообщение
как напечатаны?
данные по одному студенту как лежат?
что с начала?
как разделяются имя фамилия и т.д.?
как разделяются записи о разных студентах?
ValeryS, go правильно сказал, именно так все и расположено

Добавлено через 3 часа 44 минуты
Ребят, помогите пожалуйста код составить!не могу разобраться!Пожалуйста!

Добавлено через 11 секунд
вверх
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
17.12.2012, 19:27  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #11
Вот сам файл, с которым будет работать код
Вложения
Тип файла: txt Новый текстовый документ.txt (974 байт, 5 просмотров)
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
17.12.2012, 19:32  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #12
Группа всегда одинакова!
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
17.12.2012, 21:17     Файлы (определения месяца, в котором родилось максимальное количество студентов) #13
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <clocale>
using namespace std;
struct student
{
    char fio[100], month[30];
};
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char m[][10] = {"январь", "февраль" ,"март", "апрель", "май", "июнь", "июль", 
                    "август" ,"сентябрь", "октябрь", "ноябрь" ,"декабрь"};
    student obj[100];
    int i=0;
    ifstream f("C://data.txt");
    char bufstr[1001];
    int ii=0;
    bool flag = true;
    while (f.good())
    {
        char* tmp = new char [100];
        f>>tmp>>tmp>>obj[ii].fio>>tmp>>tmp>>tmp>>tmp>>obj[ii++].month;
        f.getline(bufstr,100);
        if (flag)
        {
            flag = false;
            ii--;
        }
    }
    f.close();
    char mth[10]={0};
    int kol=0,buf=0;
    for (int j=0; j<ii; j++)
    {
        for (int k=0; k<ii; k++)
            if(strstr(obj[k].month, m[j]))
                buf++;
        if (buf>kol)
        {
            kol=buf;
            strcpy(mth,m[j]);
        }
        buf=0;  
    }   
    cout<<"Наибольшее количество ("<<kol<<") родилось: "<<mth<<'\n';    
 
    system("pause");
    return 0;
}
Вложения
Тип файла: txt data.txt (974 байт, 3 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 21:20     Файлы (определения месяца, в котором родилось максимальное количество студентов)
Еще ссылки по теме:

C++ Составить программу для вычисления среднего балла студентов, если количество студентов и оценки вводятся с клавиатуры.
C++ Задача (язык С + +). Составить программу определения времени года за порядковым номером месяца
Дан массив студентов ВУЗа: ФИО, возраст, регион, факультет. Вывести на экран результирующую таблицу: регион, количество студентов из этого региона C++
C++ Файлы. С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв
C++ Используя класс list, в котором храняться фамилии студентов группы, организовать поиск по фамилии

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

Или воспользуйтесь поиском по форуму:
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
17.12.2012, 21:20  [ТС]     Файлы (определения месяца, в котором родилось максимальное количество студентов) #14
Спасибо тебе огромнейшее!!!!
Yandex
Объявления
17.12.2012, 21:20     Файлы (определения месяца, в котором родилось максимальное количество студентов)
Ответ Создать тему
Опции темы

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