2015-10-18 42 views
-4

将健康记录计算机化可以使患者更容易在他们的各种健康护理专业人员中分享他们的健康概况和病史。一个健康诊所需要你的帮助来电脑化病人的健康记录。病人的记录包括名字,中间名,姓(包括SR。JR等),性别,出生日期,身高(英寸),体重(以磅计)。该诊所要求程序的以下功能:数据结构和患者记录

  1. 从文件中读取每个病人的记录是一个单行条目用逗号分隔每个数据
  2. 添加其他记录到文件
  3. 一个函数来计算现有记录并返回患者年龄在3年
  4. 一个函数,计算身体质量指数与给定的公式BMI =(体重磅X 703)/(身高英寸X 2)或BMI =(体重公斤数)/(身高米X 2)
  5. 搜索患者姓名并显示患者信息wi个年龄和BMI值,包括类
  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

请编辑您的代码,无论是C++或C – 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

非常感谢。为什么没有名字? –