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

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

Войти
Регистрация
Восстановить пароль
 
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
#1

Чтение исходных данных из текстового файла - C++

08.03.2011, 18:53. Просмотров 911. Ответов 0
Метки нет (Все метки)

Доброго времени суток.
В общем задача такова, переделать программу (задача исходной программы - получение исходных данных с клавиатуры, сортировка по алфавиту, и вывод только девушек-студенток), чтобы в качестве входных данных использовался текстовый файл, вместо данных с клавиатуры.
В файле, формат данных: 1 человек в 1 строке,например:
[QUOTE]
Иванов Иван Иванович М 19 2 // фамилия, имя, отчество, пол, возраст, курс соответственно
Иванова Юлия Ивановна Ж 17 1
[QUOTE]
Среда Visual Studio 2008/2010.
Дополнительные пожелания:Минимальное изменение программы, использование FILE *fopen (char *filename, char *type) - для открытия файла, fgets,fscanf - для чтения из файла.

Собственно сама программа:
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
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <iostream>
#include <windows.h>
 
#define n 100 //максимально числа фамилий
#define stp ""
 
using namespace std;
 
struct w
{
char Name[15]; //Поле имени в структуре
char Surname[15]; //фамилии
char Patronymic[15]; //Отчества
char Sex[2]; // Пола
int Age; // Возраста
int Course; // Номера курса
};
 
int main()
{
setlocale(LC_ALL, "Russian");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int i=0,a,k;
struct w Table[n], tmp[n];
puts("Введите фамилию: ");
while (strcmp(gets_s(Table[i].Surname),stp)!=0 && i<n) // ввод фамилий пока не встретится пустая строка(stp) или i<100 (см. #define)
{
    puts("Введите Имя: ");
    gets_s(Table[i].Name);
    puts("Введите отчество: ");
    gets_s(Table[i].Patronymic);
    puts("Введите пол (М или Ж): ");
    gets_s(Table[i].Sex);
    puts("Введите возраст: ");
    cin>>Table[i].Age;
    puts("Введите курс: ");
    cin>>Table[i].Course;
    while(getchar() !='\n');
    if(i<n)
        cout<<"Введите следующую фамилию: "<<endl;
    i++;
}
k=i; // k - кол-во введенных фамилий
for (int i=0; i<k-1; i++) //начало сортировки по алфавиту
{
    for (a=i+1; a<k; a++)
    {
        if  (strcmp(Table[i].Surname, Table[a].Surname)>0)
        {
            tmp[i]=Table[a];
            Table[a]=Table[i];
            Table[i]=tmp[i];
        }
    }
}// конец сортировки
puts("Cписок студенток в алфавитном порядке: ");
for (i=0; i<k; i++)
{
    if(strchr(Table[i].Sex, 'F')!=NULL || strchr(Table[i].Sex, 'f')!=NULL || strchr(Table[i].Sex, 'Ж')!=NULL ||strchr(Table[i].Sex, 'ж')!=NULL) //условие вывода только девушек(основная задача программы)
    {
        printf("Фамилия: %s\n Имя: %s\n Отчество: %s\n Пол: %s\n Возраст: %d \n Курс: %d \n", Table[i].Surname, Table[i].Name, Table[i].Patronymic, Table[i].Sex, Table[i].Age, Table[i].Course);
    }
}
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 18:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение исходных данных из текстового файла (C++):

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Чтение данных из текстового файла - C++
здравствуйте. программа считывает координаты, но как мне считать строки, которые чередуются с координатами? помогите пожалуйста считать...

Чтение данных из текстового файла - C++
Помогите пожалуйста! Питаюсь создать консольную програму и никак не пойму как прочесть из файла, ну например: есть файл noname.txt и в ньом...

Чтение данных из текстового файла в структуру - C++
Добры вечер новичках и профессионалам! Изучаю C++ только четыре месяца и сейчас разбираюсь с записью из файла (библиотека fstream). И...

Как правильно реализовать чтение данных из текстового файла? - C++
char buff; ifstream sho; sho.open(&quot;Мафіни.txt&quot;); if (!sho.is_open()) { cout &lt;&lt; &quot;Error!!!\n&quot;; } else { cout &lt;&lt;...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2011, 18:53
Привет! Вот еще темы с ответами:

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение из текстового файла - C++
Добрый день. Проблема моя в следующем: есть текстовой файл примерно следующего содержания a 10 2 2 b 5 5 1 c 3 7 0 d 5 22 0 ...

Чтение из текстового файла - C++
Нашел программу для чтения из файла информации: Номер предмета, Наименование, Фамилия. Помогите создать текстовый документ под программу,...

Чтение текстового файла - C++
здравствуйте. у меня не получается считать текстовый файл. сам файл имеет имеет жесткую структуру: первая строка число(по сути колличество...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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