2015-10-18 3 views
-4

Компьютеризация медицинских записей может облегчить пациентам возможность делиться своими профилями здоровья и историями с их различными специалистами в области здравоохранения. Медицинская клиника нуждается в вашей помощи для компьютеризации медицинских записей пациентов. Записи пациента состоят из имени, отчества, фамилии (включая SR. JR. И т. Д.), Пола, даты рождения, высоты (в дюймах), веса (в фунтах). В клинике требуется следующие функции программы:Данные и данные пациентов

  1. прочитать существующие записи из файла, где каждая запись пациента является одна строкой ввода отделяя каждые данные с запятой
  2. добавить дополнительные записи в файл
  3. функции для вычисления и возвращение пациентов в возрасте 3 лет
  4. функция, которая вычисляет индекс массы тела с данной формулой BMI = (вес в фунтах X 703)/(высота в дюймах X 2) или BMI = (вес в кг))/(высота в метрах X 2)
  5. искать имя пациента и отображать информацию пациента wi го возраста и значение ИМТ в том числе категории
  6. обновление информации пациента на дату рождения, рост и/или веса и сохранить обновления в файл
  7. дисплей все записи в табличном формате

До сих пор, что я сделал это :

#include<stdio.h> 
#include<stdlib.h> 

main(){ 
FILE*fin; 
char name,fname,mname,lname,ename,gender,ch,getch,patient; 
int dob,month,day,year,height,weight; 
fin=fopen("oldrec.c","w");{ 
printf("Error: File does not exists"); 
return 0; 
} 
{ 
printf("Add Record? y/n"); 
ch=toupper(getch); 
if(ch='y') 
break; 
}while (1); 

struct patient{ 
char name; 
char fname[20]; 
char mname[20]; 
char lname[20]; 
char gender; 
int dob; 
int month; 
int day; 
int year; 
int height; 
int weight; 

printf("/n Patient's Name"); 
printf("First Name: "); 
scanf("%s", &patient.fname); 
printf("Middle Name: "); 
scanf("%s", &patient.mname); 
printf("Last Name: "); 
scanf("%s", &patient.lname); 
printf("Gender: "); 
scanf("%s", &patient.gender); 
printf("Date of Birth"); 
printf("Month: "); 
scanf("&d", &patient.month); 
printf("Day: "); 
scanf("&d", &patient.day); 
printf("Year: "); 
scanf("%s", %patient.year); 
printf("Height: "); 
scanf("%d", & patient.height); 
printf("Weight: "); 
scanf("%d", &patient.weight); 

} 

Я сделал еще один файл уже, но когда я запускаю коды, он говорит: «Ошибка: файл не существует». Что не так, и каковы коды для других проблем? Пожалуйста, помогите мне! Это наше окончательное требование к моей теме структуры данных.

+2

пожалуйста редактировать свои теги, либо с ++ или с – amdixon

+5

Медицинская клиника нуждается в моей помощи? О, парень! –

+0

Вам нужно просить форматировать этот код и сделать его возможным скомпилировать. Тогда вам нужно обратиться за помощью по конкретной проблеме, а не «какие коды для других проблем?» Вы не должны просить людей делать домашнее задание для вас. Как вы ожидаете узнать? – ChiefTwoPencils

ответ

2
fin=fopen("oldrec.c","w");{    // no if 
    printf("Error: File does not exists");  // all statements will be executed 
    return 0;     // and function will terminate here 
} 

Конечно, это покажет это сообщение, нет состояния. Независимо от того, успешно ли fopen без if, будут выполнены все операторы.

Поместите его в блок if с условием.

Написать, как это -

fin=fopen("oldrec.c","w");    
if(fin==NULL){     // check if fin is NULL 
    printf("Error: File does not exists"); 
    return 0; 
} 

Другие проблемы эти заявления -

scanf("%s", &patient.fname); 
... 
scanf("%s", &patient.mname); 
... 
scanf("%s", &patient.lname); 
...  
scanf("%s", &patient.gender);  // use %c for reading char variable 
... 
scanf("%s", %patient.year);  // use %d to read int 
      ^whats this 

Написать эти statemetns как этот -

scanf("%s", patient.fname); 
... 
scanf("%s", patient.mname); 
... 
scanf("%s", patient.lname); 
...  
scanf("%c", &patient.gender);  
... 
scanf("%d", &patient.year); 
+0

@MOehm Да, это хорошо, я сделаю это :) – ameyCU

+1

Спасибо. Похоже, теперь, на мой взгляд. :-) –

+0

спасибо. почему нет & на имя? –

Смежные вопросы