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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление sin, cos, tg, ctg http://www.cyberforum.ru/cpp-beginners/thread253908.html
хотел написать прогу для вычисления sin, cos, tg, ctg по градусной мере. но никак не получается выдаёт не та значения. проверял по таблице брадиса. //#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int main() { double p, z, x;
C++ Не работает код. В чём причина? Как "заставить" работать? Точка входа и т.д. #include <iostream> #include <string> #include "HConsole.h" int main() { HConsole.Write("Привет"); //ОШИБКА №2 и 3 system("pause"); http://www.cyberforum.ru/cpp-beginners/thread253906.html
Написать функцию которая проверяет кратность двух чисел C++
Написать функцию, которая принимает два целых числа N и M, и возвращает результат истина, если N кратно M, результат ложь, если N не кратно M. Добавлено через 20 минут ппц ну решите!
C++ Основы массивов
Изучаю массивы, в книге Объектно-ориентированное программирование в C++ Р. Лафоре. #include <iostream> using namespace std; int main(int argc, char *argv) { int age ; for (int j=0; j<4; j++)
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread253894.html
надо получить матрицу А*В
C++ Программа Определить сумму парных элементов и произведение нечетных элементов введенного с клавиатуры вектора действительных чисел. подробнее

Показать сообщение отдельно
t1maaa
4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15

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

08.03.2011, 18:53. Просмотров 899. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru