level 2
a2529161737
楼主
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct patient
{
char ID[10];
char name[10];
char bingli[300];
int cost[3];
struct patient * next;
}Node1;
typedef struct storage
{
int price[3];
}Node2;
Node2 init(Node2 temp)
{
temp.price[0]=5;
temp.price[1]=10;
temp.price[2]=15;
return temp;
}
void mainmeun()
{
printf("\n");
printf("欢迎使用医院管理系统\n");
printf("************************************\n");
printf("1 注册新病人信息\n");
printf("2 查询单个病人信息\n");
printf("3 列出所有病人信息\n");
printf("4 病人消费\n");
printf("5 保存现有信息\n");
printf("6 查询库存\n");
printf("0 退出\n");
printf("************************************\n");
}
Node1 * create(Node *p1)
{
struct patient * p1;
char a[10];
char enter[5]=":\n";
Node1 *p;
p=(Node1 *)malloc(sizeof(Node1));
printf("请输入病人ID\n");
scanf("%s",p->ID);
while(p1->ID&&strcmp(p1->ID,p->ID))
{
p1=p1->next;
}
if(p1==NULL)
{
int a,b,c;
printf("请输入病人姓名\n");
scanf("%s,p->name");
printf("请写病历:\n");
scanf("%s",bingli);
strcpy(p->bingli,bingli);
strcat(p->bingli,enter);
p->cost[0]=a;
p->cost[1]=b;
p->cost[2]=c;
scanf("%d,%d,%d",&a,&b,&c);
p->next=NULL;
printf("已注入您的信息\n");
return p;
}
else
{
printf("输入病人ID已存在,注册失败\n");
return p;
}
}
Node1 * insert(Nodel * head,Node1 *p)
{
Node1 *p1;
if(head==NULL)
{
head=p;
p=>next=NULL;
}
else
{
p1=head;
while(p1->next)
{
p1=p1->next;
}
p1->next=p;
p->next=NULL;
}
return(head);
}
int sum;
void search(Node1 *p1)
{
char a[10];
printf("请输入病人ID\n");
scanf("%s",a);
while(p1->ID&&strcmp(p1->ID,a))
{
p1=p1->next;
}
if(p1)
{
printf("ID:%s\n",p1->ID);
printf("姓名:%s\n",p1->name);
printf("病例:%s\n",p1->bingli);
printf("消费记录:\n");
if(p1->cost[0])
printf("第一次消费\t%d\n",p1->cost[0]);
if(p1->cost[1])
printf("第二次消费\t%d\n",p1->cost[1]);
if(p1->cost[2])
printf("第三次消费\t%d\n",p1->cost[2]);
sum=p1->cost[0]*5+p1->cost[1]*10+p1->cost[2]*15;
printf("总费用\t%d\n",sum);
}
esle
printf("该病人没有注册\n");
}
void list(Node1 *p)
{
if(p==NULL)
printf("尚无病人信息\n");
else
{
do{printf("病人ID:%s\n",p->ID);
printf("病人姓名:%s\n",p->name);
printf("病人病历:%s\n",p->bingli);
printf("病人第一次消费:%d\n",p->cost[0]);
printf("病人第二次消费:&d\n",p->cost[1]);
printf("病人第三次消费:&d\n",p->cost[2]);
printf("\n");
p=p->next;
}while(p!=NULL);
}
}
Node1* load(Node1 *p)
{
FILE *fp;
fp=popen("information.txt","r");
while(!feof(fp))
{
int n;
n++;
}
fclose(fp);
return p;
}
void save(Node1 *p)
{
FILE *fp;
fp=fopen("information.txt","w");
if(p!=NULL)
do{
fprintf(fp,"%s\n",p->ID);
fprintf(fp,"%s\n",p->name);
fprintf(fp,"%s\n",p->bingli);
fprintf(fp,"%d\n",p->cost[0]);
fprintf(fp,"%d\n",p->cost[1]);
fprintf(fp,"%d\n",p->cost[2]);
p=p->next;
}while(p!=NULL);
fclose(fp);
}
Node2 spend(Node1 *p,Node2 temp)
{
char i[10];
printf("请输入病人ID\n");
scanf("%s",i);
printf("总消费:%d",sum);
return temp;
}
chose()
{
Node1 *head=NULL,*p;
Node2 temp;
temp=init(temp);
while(1)
{
int a;
mainmeun();
scanf("%d",&a);
switch(a)
{
case 1:p=create(head);head=insert(head,p);break;
case 2:search(head);break;
case 3:list(head);break;
case 4:spend(head);break;
case 5:save(head);break;
case 6:;break;
case 0:printf("谢谢使用\n");return(0);
default:printf("输入有误,重新输入\n");break;
}
}
}
void main()
{
chose();
}
2016年06月21日 09点06分
1
#include<string.h>
#include<stdlib.h>
typedef struct patient
{
char ID[10];
char name[10];
char bingli[300];
int cost[3];
struct patient * next;
}Node1;
typedef struct storage
{
int price[3];
}Node2;
Node2 init(Node2 temp)
{
temp.price[0]=5;
temp.price[1]=10;
temp.price[2]=15;
return temp;
}
void mainmeun()
{
printf("\n");
printf("欢迎使用医院管理系统\n");
printf("************************************\n");
printf("1 注册新病人信息\n");
printf("2 查询单个病人信息\n");
printf("3 列出所有病人信息\n");
printf("4 病人消费\n");
printf("5 保存现有信息\n");
printf("6 查询库存\n");
printf("0 退出\n");
printf("************************************\n");
}
Node1 * create(Node *p1)
{
struct patient * p1;
char a[10];
char enter[5]=":\n";
Node1 *p;
p=(Node1 *)malloc(sizeof(Node1));
printf("请输入病人ID\n");
scanf("%s",p->ID);
while(p1->ID&&strcmp(p1->ID,p->ID))
{
p1=p1->next;
}
if(p1==NULL)
{
int a,b,c;
printf("请输入病人姓名\n");
scanf("%s,p->name");
printf("请写病历:\n");
scanf("%s",bingli);
strcpy(p->bingli,bingli);
strcat(p->bingli,enter);
p->cost[0]=a;
p->cost[1]=b;
p->cost[2]=c;
scanf("%d,%d,%d",&a,&b,&c);
p->next=NULL;
printf("已注入您的信息\n");
return p;
}
else
{
printf("输入病人ID已存在,注册失败\n");
return p;
}
}
Node1 * insert(Nodel * head,Node1 *p)
{
Node1 *p1;
if(head==NULL)
{
head=p;
p=>next=NULL;
}
else
{
p1=head;
while(p1->next)
{
p1=p1->next;
}
p1->next=p;
p->next=NULL;
}
return(head);
}
int sum;
void search(Node1 *p1)
{
char a[10];
printf("请输入病人ID\n");
scanf("%s",a);
while(p1->ID&&strcmp(p1->ID,a))
{
p1=p1->next;
}
if(p1)
{
printf("ID:%s\n",p1->ID);
printf("姓名:%s\n",p1->name);
printf("病例:%s\n",p1->bingli);
printf("消费记录:\n");
if(p1->cost[0])
printf("第一次消费\t%d\n",p1->cost[0]);
if(p1->cost[1])
printf("第二次消费\t%d\n",p1->cost[1]);
if(p1->cost[2])
printf("第三次消费\t%d\n",p1->cost[2]);
sum=p1->cost[0]*5+p1->cost[1]*10+p1->cost[2]*15;
printf("总费用\t%d\n",sum);
}
esle
printf("该病人没有注册\n");
}
void list(Node1 *p)
{
if(p==NULL)
printf("尚无病人信息\n");
else
{
do{printf("病人ID:%s\n",p->ID);
printf("病人姓名:%s\n",p->name);
printf("病人病历:%s\n",p->bingli);
printf("病人第一次消费:%d\n",p->cost[0]);
printf("病人第二次消费:&d\n",p->cost[1]);
printf("病人第三次消费:&d\n",p->cost[2]);
printf("\n");
p=p->next;
}while(p!=NULL);
}
}
Node1* load(Node1 *p)
{
FILE *fp;
fp=popen("information.txt","r");
while(!feof(fp))
{
int n;
n++;
}
fclose(fp);
return p;
}
void save(Node1 *p)
{
FILE *fp;
fp=fopen("information.txt","w");
if(p!=NULL)
do{
fprintf(fp,"%s\n",p->ID);
fprintf(fp,"%s\n",p->name);
fprintf(fp,"%s\n",p->bingli);
fprintf(fp,"%d\n",p->cost[0]);
fprintf(fp,"%d\n",p->cost[1]);
fprintf(fp,"%d\n",p->cost[2]);
p=p->next;
}while(p!=NULL);
fclose(fp);
}
Node2 spend(Node1 *p,Node2 temp)
{
char i[10];
printf("请输入病人ID\n");
scanf("%s",i);
printf("总消费:%d",sum);
return temp;
}
chose()
{
Node1 *head=NULL,*p;
Node2 temp;
temp=init(temp);
while(1)
{
int a;
mainmeun();
scanf("%d",&a);
switch(a)
{
case 1:p=create(head);head=insert(head,p);break;
case 2:search(head);break;
case 3:list(head);break;
case 4:spend(head);break;
case 5:save(head);break;
case 6:;break;
case 0:printf("谢谢使用\n");return(0);
default:printf("输入有误,重新输入\n");break;
}
}
}
void main()
{
chose();
}