Переделать программу с использованием указателей - C (СИ)
Формулировка задачи:
Прошу помощи, переделать программу с использованием указателей.
#include <stdio.h> int main() { struct Boln{char FIO[50]; char pol[20]; int davlenie_v; int davlenie_n; int vozrast; } st[100]; int i,k; puts("vvedite kol-vo patients"); scanf("%d",&k); if ((k<1)||(k>40)) {printf("error!\n"); getch(); return;} puts("vvedite svedeniya o patients:FIO, vozrast, pol, davlenie nijnie i verhnie"); for(i=0; i<k; ++i) { printf("familia_FIO "); scanf("%s", st[i].FIO); printf("pol: "); scanf("%s", st[i].pol); printf("age: "); scanf("%d", &st[i].vozrast); printf(" vvedite verhnie_davlenie i nijnyae: "); scanf("%d", &st[i].davlenie_v); printf("na \n"); scanf("%d", &st[i].davlenie_n); printf("\n"); } for(i=0; i<k; ++i) { if ((st[i].davlenie_v >=140) || (st[i].davlenie_n >=140) ) printf("%s %s %d %d %d \n ", st[i].FIO, st[i].pol, st[i].vozrast, st[i].davlenie_v, st[i].davlenie_n); } getch(); return 0;
Решение задачи: «Переделать программу с использованием указателей»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> struct _Boln { char FIO[50]; char pol[20]; int davlenie_v; int davlenie_n; int vozrast; }; typedef struct _Boln Boln; main() { int i,k; Boln *pArray; pArray = (Boln*)malloc(sizeof(Boln)*100); puts("vvedite kol-vo patients"); scanf("%d",&k); if ((k < 1)||(k > 40)) { printf("error!\n"); getch(); return; } puts("vvedite svedeniya o patients:FIO, vozrast, pol, davlenie nijnie i verhnie"); for(i=0; i < k; ++i) { printf("familia_FIO "); scanf("%s", pArray[i].FIO); printf("pol: "); scanf("%s", pArray[i].pol); printf("age: "); scanf("%d", &pArray[i].vozrast); printf(" vvedite verhnie_davlenie i nijnyae: "); scanf("%d", &pArray[i].davlenie_v); printf("na \n"); scanf("%d", &pArray[i].davlenie_n); printf("\n"); } for(i=0; i<k; ++i) { if ((pArray[i].davlenie_v >=140) || (pArray[i].davlenie_n >=140)) printf("%s %s %d %d %d \n ", pArray[i].FIO, pArray[i].pol, pArray[i].vozrast, pArray[i].davlenie_v, pArray[i].davlenie_n); } getch(); }
Объяснение кода листинга программы
- Объявление структуры данных
Boln
с полями: FIO, pol, davlenie_v, davlenie_n, vozrast. - Создание указателя на структуру
Boln
с помощью ключевого слова typedef. - В функции main() создается указатель на массив структур
Boln
с помощью оператора malloc(). - Пользователю предлагается ввести количество пациентов.
- Если пользователь вводит число меньше 1 или больше 40, программа выводит сообщение об ошибке и завершается.
- Пользователю предлагается ввести данные о пациентах: FIO, vozrast, pol, davlenie_v и davlenie_n.
- Данные сохраняются в соответствующих полях структуры
Boln
. - Для каждого пациента проверяется, попадают ли значения davlenie_v и davlenie_n в диапазон от 140 до 280.
- Если хотя бы одно из значений попадает в этот диапазон, программа выводит на экран данные о пациенте.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д