Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программа на С++ На тему "Структуры"

85K
23 сентября 2012 года
Upgrayedd
1 / / 23.09.2012
Дана информация о пяти больных. Запись имеет вид: фамилия, возраст, пол, давление.
Вывести данные о больных с повышенным давлением (больше 140) .
Помогите пожалуйста.
392
03 октября 2012 года
cronya
421 / / 03.01.2009
Код:
#include <iostream>
#include <Windows.h>
using namespace std;

struct Patients
{
    char Surename[15];
    char Sex[2];
    int Age;
    int Pressure;
};

Patients *FeelArray(Patients *Arr);
void FindPatients(Patients *Arr);

int main()
{
    Patients *Arr = new Patients[5];
    Arr = FeelArray(Arr);
    FindPatients(Arr);
    delete []Arr;
    return 0;
}

Patients *FeelArray(Patients *Arr)
{
    FILE *in = fopen("Data.txt","r");
    int pst = 0;   
    while(!feof(in) && pst < 5)
    {
        fscanf(in,"%s",Arr[pst].Surename);
        fscanf(in,"%s",Arr[pst].Sex);
        fscanf(in,"%d",&Arr[pst].Age);
        fscanf(in,"%d",&Arr[pst].Pressure);
        pst++;
    }
    fclose(in);
    return Arr;
}

void FindPatients(Patients *Arr)
{
    cout<<"Patient \tSex \tAge \tPressure"<<endl;
    for(int idx=0;idx<5;idx++)
    {      
        if(Arr[idx].Pressure > 140)
        {
            cout<<Arr[idx].Surename<<"\t"<<Arr[idx].Sex<<"\t"<<Arr[idx].Age<<"\t"<<Arr[idx].Pressure<<endl;        
        }
    }
    system("pause");   
}
Учите структуры, тут нечего нет сложного

Входной файл содержит
 
Код:
Patient_1 m 67 145
Patient_2 f 45 130
Patient_3 m 23 120
Patient_4 f 56 142
Patient_5 f 27 141
Patient_6 f 18 120
Результат
 
Код:
Patient         Sex     Age     Pressure
Patient_1       m       67      145
Patient_4       f       56      142
Patient_5       f       27      141
Для продолжения нажмите любую клавишу . . .
86K
25 октября 2012 года
Edward Arsen Sarkisyan
1 / / 25.10.2012
Цитата: cronya
Код:
#include <iostream> // только ради std::cout ?!
#include <Windows.h> // Зачем?

Patients *FeelArray(Patients *Arr)
{
    FILE *in = fopen("Data.txt","r");
    int pst = 0;   
    while(!feof(in) && pst < 5) // <---!!!!!!
    {
        fscanf(in,"%s",Arr[pst].Surename);
               // ...
    }
    fclose(in);
}
// ....
[/code]


По вашему это C++ код?! Какой FILE, fopen/fscanf/fclose?! Зачем нужен вообще Windows.h?!

392
27 октября 2012 года
cronya
421 / / 03.01.2009
Edward Arsen Sarkisyan, по существу структур есть какие то вопросы?
Вот захотел я использовать Сишную функцию и что? Где-то это запрещается или считается не верным? Тем более, что в университетах начинают изучать сам си, а не си++, поэтому зачем нагружать студенту мозг тем, что возможно он не знает. Задача этого раздела показать, как и что, в простом варианте, а не у кого круче яйца. Есть желание продемонстрировать свои способности, дерзайте, поглядим, что вы предложите!
ЗЫ:
  1. Windows.h остался в исходнике потому, что был другой проект не удалил и что с того, писал не диплом, а всего лишь пример.
  2. Что вам тут не понятно?

 
Код:
while(!feof(in) && pst < 5) // <---!!!!!!
  1. читаем до конца файла
  2. проверяем на переполнения массива, входной файл посмотрим что содержит
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог