一道c语言编程题。。急。。。
一道c语言编程题。。急。。。实现病历查询功能。具体要求如下:定义一个结构体描述病人病历信息(病历号,姓名,症状);完成功能如下:1)输入功能:输入5个病人的信息;2)查询...
一道c语言编程题。。急。。。实现病历查询功能。具体要求如下:定义一个结构体描述病人病历信息(病历号,姓名,症状);完成功能如下:1)输入功能:输入5个病人的信息;2)查询功能:输入姓名,在5个病历中进行查找,如果找到则显示该人的信息,如果没有找到,则显示“查无此人”。 假设病历类型名为patient,要求使用指针,并使用以下两个函数(函数的实现自行完成):void readin(patient *p);//用来输入病人信息。void search(patient *p,char *x);//根据姓名查询病人病历信息,并打印出来。提示:请注意输入函数的用法。
展开
2个回答
展开全部
实现病历查询功能的代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//病人结构体
struct patient
{
char patientNum[20]; //病例号
char patientName[20]; //病人姓名
char patientInfo[20]; //病例
}myPatient[5] = {"","",""};
//输入函数
void readin(patient *p)//输入
{
printf("请输入5个病人的:病号,姓名,病例:\n");
for (int i = 0; i < 5; i++)
{
printf("请输入第%d位病人信息:\n", i + 1);
scanf("%s%s%s", p[i].patientNum, p[i].patientName, p[i].patientInfo);
}
}
//查询函数
void search(patient *p, char *x)
{
int i;
for ( i= 0; i < 5; i++)
{
if (strcmp(x, p[i].patientName) == 0)
break;
}
if (i == 5)
printf("查无此人\n");
else
{
printf("病号\t\t姓名\t\t病例\n");
printf("%s\t\t%s\t\t%s", p[i].patientNum, p[i].patientName, p[i].patientInfo);
}
}
//点我头像,入群.
int main()
{
readin(myPatient);
char searchName[20];
while (1)
{
printf("请输入要查询的病人姓名:\n");
scanf("%s", searchName);
search(myPatient, searchName);
printf("是否继续查询?(y/n)\n");
fflush(stdin);
int choice = getchar();
if (choice == 'n' || choice == 'N')
break;
}
return 0;
}
运行效果如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询