C语言程序设计(医院信息管理系统)附源代码

C语言程序设计(医院信息管理系统)附源代码
C语言程序设计(医院信息管理系统)附源代码

C语言程序设计(医院信息管理系统)附源代码

————————————————————————————————作者:————————————————————————————————日期:

专业设计报告

课程名称: C 语言程序设计课题名称:医院信息管理系统

专业班别:12本计算机科学与技术二班

姓名:

学号:

指导教师:

设计日期:2012-5-25

教师评语:

等级

优良中及格差项目

专业设计目的

设计基本要求

算法分析

源程序代码

源程序代码测试

设计总结

成绩评定:

指导教师签名:

日期:2012 年月日

课程设计题目医院信息管理程序

作者姓名:

同组成员:

摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示

1.专业设计目的

1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历

2、掌握对二进制文件的创建、增添等基本操作。

3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式

2.设计基本要求(

1、使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。

2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息

3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。

4、要求用四个源文件main.c、link.c、find.c、save_load.c

5、系统完成后应实现类似下面所示界面

3、算法分析

1、数据结构

设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:

struct patient{

char id[10];

char name[10];

char casehist[200];

int cost[3];

int transfusion;

int surgery;

struct patient *next;

};

其中cost数组用来存储病人卖药的的个数(总共三种药),casehist存储病历内容,transfusion用来存储病人输液的花费,surgery存储手术的花费。Struct patient *next用来指向下一个病人结构体的起始地址从而形成一个链表。

此外还要用到一个结构体来存储库存中当前的药品情况。

struct storage{

int amount[3];

int price[3];

};

2、函数定义

程序代码有main.c、link.c、find.c、save_load.c四个源文件组成,使用头文件head.h把四个源文件连接起来,四个文件中所包含的函数说明如表所示。

源文件函数原型功能说明

Main.c void test() 检测有无存储病人的二进制文件

void init(struct storage *temp) 初始化库存中的药品,参数为指向struct

storage类型的指针

void printmenu() 打印提示菜单

Void liststock(struct storage

temp)

列出库存中的药品

struct patient *enroll() 注册新病人信息

void freeall(struct patient

*temp)

清除链表内容,参数为指向struct patient类

型的指针

Find.c void search(struct patient

*temp)

查询单个病人的信息,参数为指向struct

patient类型的指针

void listall(struct patient

*temp)

列出所有病人的信息,参数为指向struct

patient类型的指针

Link.c struct patient *insert(struct

patient *head,struct patient

*rea

加入新节点,参数为指向struct patient类型

的指针

void modify(struct patient

*temp)

修改病人病历,参数为指向struct patient类

型的指针

void buy(struct patient

*temp,struct storage *s)

/用于病人的消费处理,参数为指向struct

patient类型的指针与指向struct storage的指

Save_load.c void save(struct patient

*head)

将链表信息保存到文件中,参数为指向struct

patient类型的指针

struct patient *load(struct

patient *head)

将文件信息写入到链表中,参数为指向struct

patient类型的指针

3、处理过程

(1)检查存储病人信息的文件是否存在,若不存在则创建一个新文件并设置flag值为1,以标记现在可以对链表进行操作。

(2)初始化库存令巴米尔、感冒灵、病毒唑3种药的数量分别为20、20、10,价格分别为5、9、16。

(3)输出提示菜单让用户悬着要操作的项目.

1)写病历前先检查是否有可用的链表(此标记为flag的值,若为1则代表可以修改病历,否则要求用户重新做出选择)。确认有可用链表之后进入modify函数。要求用户输入病人的id号码,然后在链表中寻找该病所对应的节点,若无此病人的id则直接输出提示信息后返回:若找到后,先输出原来的病历内容,然后提示用户输入当前日期和新添加的病历内容,调用strcmp函数将新内容追加到原来的casehist字符串数组中。

printf("原有病历: %s\n",temp->casehist);

printf("输入当前日期年份");

gets(a);

printf("输入当前月份");

gets(b);

printf("输入当前日子");

gets(c);

strcat(temp->casehist,a);

strcat(temp->casehist,"/");

strcat(temp->casehist,b);

strcat(temp->casehist,"/");

strcat(temp->casehist,c);

strcat(temp->casehist,":");

printf("请输入新病历的内容\n");

gets(d);

strcat(temp->casehist,d);

········

2)载入链表信息是首先定义一个文件指针,然后以只读方式打开文件。若失败则输出提示信息返

回,成功后调用malloc函数来申请一块内存,用read函数将文件内容写入到节点中,随后调用insert函数将节点加入链表,如此循环下去直到fread函数返回0值,即文件已经读到了末尾时,再将链表的头指针返回给主函数即可。Flag值置为1,用来代表已有可用链表。

if((fp=fopen("data","r"))==0){

printf("文件不存在!");

return head;

}

while(1){

rear=(struct patient *)malloc(sizeof(struct patient));

if(fread(rear,sizeof(struct patient),1,fp))

head=insert(head,rear);

}

else{

free(rear);

flag=1;

break;

}

}

4、源程序代码

/*head.h*/

#ifndef FIRST

#include

#include

#include

struct patient{ //存储一个病人的信息

char id[10]; //id数组存储病人号码

char name[10]; //name数组存储病人姓名

char casehist[200]; //casehist存储病历内容

int cost[3]; //cost数组存储病人买药的个数(总共三种)

int transfusion; //transfusion存储病人输液的花费

int surgery; //surgery存储手术的花费

struct patient *next;

//struct patient *next用来指向下一个病人结构体的起始地址从而形成一个链表};

struct storage{ //存储库存中当前的药品情况

int amount[3];

int price[3];

};

int flag;

void search(struct patient *temp); //查询单个病人的信息,参数为指向struct patient类型的指针

void listall(struct patient *temp); //列出所有病人的信息,参数为指向struct patient类型的指

struct patient *insert(struct patient *head,struct patient *rear);

//加入新节点,参数为指向struct patient类型的指针void modify(struct patient *temp); //修改病人病历,参数为指向struct patient类型的指针void buy(struct patient *temp,struct storage *s);

//用于病人的消费处理,参数为指向struct patient类型的指针与指向struct storage的指针struct patient *load(struct patient *head);

//将文件信息写入到链表中,参数为指向struct patient类型的指针void save(struct patient *head);

//将链表信息保存到文件中,参数为指向struct patient类型的指针#define FIRST

#endif

/*find.c*/

#include "head.h"

void search(struct patient *temp){ //定义search函数,查询单个病人的信息char t[10]; //定义字符数组

int sum; //定义整型变量sum

printf("请输入病人的id\n");

gets(t); /输入字符串

while(temp&&strcmp(temp->id,t)){

//比较字符串temp->id和t,其值和temp逻辑与运算,结果为非0时,执行循环体

temp=temp->next;

}

if(temp){ //temp的值为非0时,执行下列步骤printf("id: %s\n",temp->id);

printf("\n姓名: %s",temp->name);

printf("\n病历: \n%s",temp->casehist);

printf("\n消费记录:\n");

if(temp->cost[0]){

printf("巴米尔%d个\n",temp->cost[0]);

}

if(temp->cost[1]){

printf("感冒灵%d个\n",temp->cost[1]);

}

if(temp->cost[2]){

printf("病毒唑%d个\n",temp->cost[2]);

}

if(temp->transfusion){

printf("输液费%d\n",temp->transfusion);

}

if(temp->surgery){

printf("手术费%d\n",temp->surgery);

}

sum=temp->cost[0]*5+temp->cost[1]*9+temp->cost[2]*16+temp->transfusion+temp->surgery;

//计算sum的值

printf("总费用%d元",sum);

}

else{

printf("无该病人的信息!\n");

}

}

void listall(struct patient *temp){ //定义listall函数,列出所有病人的信息printf("id 姓名\n");

while(temp){

printf("%s %s\n",temp->id,temp->name);

temp=temp->next;

}

}

/*link.c*/

#include "head.h"

struct patient *insert(struct patient *head,struct patient *rear){ /*!!!!!!可以出现重复id*/ struct patient *temp;

if(head){

temp=head;

while(temp->next){

temp=temp->next;

}

temp->next=rear;

rear->next=0;

}

else{

head=rear;

rear->next=0;

}

return head;

}

void modify(struct patient *temp){ //修改病人病历

char t[10],d[200]; //定义字符组

char a[4],b[2],c[2]; //定义字符组

printf("请输入病人的id\n");

gets(t); //输入病人的id

while(temp&&strcmp(temp->id,t)){ //自动查找病人的id

temp=temp->next;

}

if(temp){

printf("原有病历: %s\n",temp->casehist);

printf("输入当前日期年份");

gets(a); //输入年份

printf("输入当前月份");

gets(b); //输入月份

printf("输入当前日子");

gets(c); //输入日期

strcat(temp->casehist,a); //把字符串a接到temp->casehist后面

strcat(temp->casehist,"/"); //把字符“/”接到temp->casehist后面

strcat(temp->casehist,b); //把字符串b接到temp->casehist后面

strcat(temp->casehist,"/"); //把字符“/”接到temp->casehist后面

strcat(temp->casehist,c); //把字符串c接到temp->casehist后面

strcat(temp->casehist,":"); //把字符“:”接到temp->casehist后面

printf("请输入新病历的内容\n");

gets(d); //输入新病历内容

strcat(temp->casehist,d); //把字符串d接到temp->casehist后面

strcat(temp->casehist,"\n"); //把字符"\n"接到temp->casehist后面}

else{

printf("无此病人信息!\n");

}

}

void buy(struct patient *temp,struct storage *s){ //病人消费处理

char t[10];

int a,b,c,d,e;

int flag1;

printf("请输入病人的id\n");

gets(t); //输入病人的id

while(temp&&strcmp(temp->id,t)){ //自动查找病人的id

temp=temp->next;

}

if(temp){

flag1=0;

do{

printf("请输入买入巴米尔的个数:\n");

scanf("%d",&a);

flag1=0;

if(a>s->amount[0]){ //若输入的值大于库存的值,则提示"库存不足"

printf("库存不足!\n");

flag1=1;

}

}while(flag1); //flag1=1时,执行循环体

flag1=0;

do{

printf("请输入买入感冒灵的个数:\n");

scanf("%d",&b);

flag1=0;

if(b>s->amount[1]){ //若输入的值大于库存的值,则提示"库存不足"

printf("库存不足!\n");

flag1=1;

}

}while(flag1); //flag1=1时,执行循环体

flag1=0;

do{

printf("请输入买入病毒唑的个数:\n");

scanf("%d",&c);

flag1=0;

if(c>s->amount[2]){ //若输入的值大于库存的值,则提示"库存不足"

printf("库存不足!\n");

flag1=1;

}

}while(flag1); //flag1=1时,执行循环体

temp->cost[0]+=a; //temp->cost[0]和a的值相加后赋给temp->cost[0]

temp->cost[1]+=b; //temp->cost[1]和b的值相加后赋给temp->cost[1]

temp->cost[2]+=c; //temp->cost[2]和c的值相加后赋给temp->cost[2]

printf("请输入输液费\n");

scanf("%d",&d);

temp->transfusion+=d; //temp->transfusion和d的值相加后赋给temp->transfusion

printf("请输入手术费\n");

scanf("%d",&e);

temp->surgery+=e; //temp->surgery和e的值相加后赋给temp->surgery

s->amount[0]-=a; //s->amount[0]减去a的值后赋给s->amount[0]

s->amount[1]-=b; //s->amount[1]减去b的值后赋给s->amount[1]

s->amount[2]-=c; //s->amount[2]减去c的值后赋给s->amount[2]

printf("\n购买成功!\n");

}

else{

printf("无此病人信息!\n");

}

}

/*main.h*/

#include "head.h"

void test(); //检测有无存储病人的二进制文件

void init(struct storage *temp);

//初始化库存中的药品,参数为指向struct storage类型的指针void printmenu(); //打印提示菜单

void liststock(struct storage temp); //列出库存中的药品

struct patient *enroll(); //注册新病人信息

void freeall(struct patient *temp); //清除链表内容,参数为指向struct patient 类型的指针

void main(){

struct patient *head=0,*rear;

struct storage stock;

char ch;

printf("欢迎使用医院管理系统\n");

test();

init(&stock);

while(1) {

printmenu();

fflush(stdin);

ch=getchar();

fflush(stdin);

switch(ch){

case '1':

if(flag){ //检查是否有可用的链表

rear=enroll();

head=insert(head,rear); //调用insert函数将节点加入链表

printf("注册成功!\n");

}

else {

printf("您没有载入信息不能注册!\n");

}

break;

case '2':

if(flag){ //检查是否有可用的链表

search(head); //查询病人信息

}

else {

printf("您没有载入信息不能进行查询!\n");

}

break;

case '3':

if(flag){ //检查是否有可用的链表modify(head); //修改病人病历}

else {

printf("您没有载入信息不能修改病历!\n");

}

break;

case '4':

if(flag){ //检查是否有可用的链表buy(head,&stock); //病人的消费

}

else {

printf("您没有载入信息不能进行消费!\n");

}

break;

case '5':

if(flag){ //检查是否有可用的链表listall(head); //列出所有病人信息}

else {

printf("您没有载入信息!\n");

}

break;

case '6':

freeall(head); //清除链表内容

head=0;

head=load(head); //文件信息写入到链表

break;

case '7':

if(flag){ //检查是否有可用的链表save(head); //链表信息保存到病历中}

else {

printf("您没有载入信息!\n");

}

break;

case '8':

liststock(stock); //库存中药品列表

break;

case '9':

printf("谢谢使用!\n");

exit(0);

break;

default:

printf("输入有误!\n");

break;

}

}

}

void printmenu(){ //打印提示菜单

printf("\n");

printf("******************************\n");

printf("1.注册新病人信息\n");

printf("2.查询单个病人信息\n");

printf("3.写病历\n");

printf("4.病人消费\n");

printf("5.列出所有病人的信息\n");

printf("6.载入所有病人信息\n");

printf("7.保存现有信息\n");

printf("8.查询库存\n");

printf("9.退出\n");

printf("******************************\n");

}

void test(){ //检测病人有无存储病人的二进制文件FILE *fp;

if((fp=fopen("data","r"))==0){

printf("这是您第一次使用该系统,在退出时不要忘了保存信息\n");

fp=fopen("data","w"); //打开外部文件

flag=1;

fclose(fp); //文件执行后返回fp

}

}

void init(struct storage *temp){ //初始化库存中的药品,参数为指向struct storage 类型的指针

temp->amount[0]=20; //初始化库存令巴米尔数量为20

temp->amount[1]=20; //初始化库存令感冒灵数量为20

temp->amount[2]=10; //初始化库存令病毒唑数量为10

temp->price[0]=5; //初始化库存令巴米尔价格为5

temp->price[1]=9; //初始化库存令感冒灵价格为9

temp->price[2]=16; //初始化库存令感冒灵价格为16 }

void liststock(struct storage temp){ //列出库存中的药品

int i;

printf("药品名数量单价\n"); //输出库存中各药品的数量、价格

for(i=0;i<3;i++){

switch(i) {

case 0:

printf("巴米尔%d %d\n",temp.amount[i],temp.price[i]);

//输出巴米尔的数量、单价

break;

case 1:

printf("感冒灵%d %d\n",temp.amount[i],temp.price[i]);

//输出感冒灵的数量、单价

break;

case 2:

printf("病毒唑%d %d\n",temp.amount[i],temp.price[i]);

//输出病毒唑的数量、单价

break;

}

}

}

struct patient *enroll(){ //注册新病人信息

struct patient *rear;

rear=(struct patient *)malloc(sizeof(struct patient));

printf("请输入病人id:\n");

scanf("%s",rear->id); //获得病人id号码

printf("请输入病人姓名\n");

scanf("%s",rear->name); //获得病人姓名

strcpy(rear->casehist,""); //将注册信息存储进病历

rear->cost[0]=0; //初始化令购买巴米尔的花费为0

rear->cost[1]=0; //初始化令购买感冒灵的花费为0

rear->cost[2]=0; //初始化令购买病毒唑的花费为0

rear->surgery=0; //初始化令手术的花费为0

rear->transfusion=0; //初始化令病人输液的花费为0

return rear;

}

void freeall(struct patient *temp){ //清除链表内容,参数为指向struct patient类型的指针

struct patient *t;

while(temp) {

t=temp;

temp=temp->next;

free(t);

}

}

/*save_load.c*/

#include "head.h"

struct patient *load(struct patient *head){ //将文件信息写入到链表中FILE *fp; //定义一个指向文件的指针变量fp struct patient *rear;

if((fp=fopen("data","r"))==0){ //以r指定的方式打开输入文件datd printf("文件不存在!");

return head;

}

while(1){

rear=(struct patient *)malloc(sizeof(struct patient));

if(fread(rear,sizeof(struct patient),1,fp)){ //从datd文件中读数据

head=insert(head,rear);

}

else{

free(rear);

flag=1;

break;

}

}

fclose(fp);

return head;

}

void save(struct patient *head){ //将链表信息保存到文件中FILE *fp; //定义一个指向文件的指针变量fp struct patient *temp;

temp=head;

if((fp=fopen("data","w"))==0){ //以w指定的方式打开输入文件datd printf("文件已损坏!\n");

}

else{

while(temp){

fwrite(temp,sizeof(struct patient),1,fp); //把数据写进datd文件中

temp=temp->next;

}

}

fclose(fp);

}

5、源程序代码测试

输入1,界面如下:

输入4,界面如下:

输入3,界面如下:

输入2,界面如下:

6、结束语

7、参考文献:

谭浩强.C程序设计(第四版).北京:清华大学出版社,2010

谭浩强.C程序设计(第四版)学习辅导.北京:清华大学出版社,2010 李丹程.C语言程序设计案例实践. 北京:清华大学出版社,2009 ……

……

最新概要设计-医院管理信息系统

题目:医院管理信息系统 概要设计说明书 院(系)软件学院 专业软件工程 年级 姓名学号 指导教师职称

年4月25日

1 概述.......................................................................................................... 3错误!未定义书签。 1.1编写目的与意义................................................................................ 错误!未定义书签。。 1.2项目背景........................................................................................... 3错误!未定义书签。 2 任务简介................................................................................................... 3错误!未定义书签。 2.1项目简介........................................................................................... 3错误!未定义书签。 2.2运行环境 .................................................................................................... 3错误!未定义书签。 2.3系统限制 .................................................................................................... 3错误!未定义书签。 2.4设计原则 .................................................................................................... 3错误!未定义书签。 3 系统功能结构 .............................................................................................. 错误!未定义书签。 3.1人工处理部分 (4) 3.2 门诊管理模块 (5) 3.3 住院管理模块 (8) 3.4 药品管理模块 (10) 3.5 病历管理模块 (13) 3.6 数据字典(DD) (14) 3.7 数据流图 (15) 3.7.1 顶层数据流图 3.7.2 2层数据流图 4 结束心得................................................................................................. 16错误!未定义书签。

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计习题答案(1-5章)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。2011年10月第二版。ISBN:978-7-302-26972-4。售价:35元。 【答案版本】本习题答案为2012年2月修订版本。 一、选择题 1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句执行一次 D. 循环体语句一次也不执行 2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。 A. 运行程序段后输出1 B. 程序段执行无限次 C. 运行程序段后输出0 D. 程序段中的控制表达式是非法的 3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。 A. int a=1,b=2; while(b--); B. int a=1,b=2; do a++; while(a==b); C. int a=1,b=2; while(a=3); D. int a=1,b=2; do b-- while(b==0); 4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。 do{ printf(“%d\n”,i--); } while(i!=0); A. 0 B. 1 C. 5 D. 无限 5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。 A. 0 B. 5 C. 10 D. 无限 6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。 A. break语句用于循环体内,它将结束该循环 B. break语句用于开关语句,它结束该开关语句 C. break语句用于if语句的内嵌语句内,它结束该if语句 D. break语句在一个循环体内可使用多次 7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。 A. 循环体内可以包含有循环语句 B. 循环体内必须同时出现break语句和continue语句 C. 循环体内可以出现选择语句 D. 循环体可以是空语句 8. 以下不是死循环的是D)for(;(c=getchar()!=’\n’);)printf(“%c”,c);。 A. for(; ; x+=i); B. while(1) { x++; } C. for( i=10; ; i--) sum+=i; D. for( ; (c=getchar() )!=’\n’ ; ) printf( “%c”,c); 9. 执行语句”for(i=0;i++<3;);”后,变量i的值为C) 4。 A.2 B. 3 C. 4 D. 5 10.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C)循环4次。 A. 无限循环 B. 循环次数不定 C. 循环4次 D. 循环3次

医院信息管理系统

医院信息管理系统 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

课程设计报告设计题目:医院信息管理系统 专业信息与计算科学 班级 1班 学号 学生姓名 指导教师 设计时间 2013-2014学年3学期 教师评分

2014年 7 月 11 日

目录目录

1.概述 目的 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理门诊信息而设计的。 当前,医院作为病人就诊的地方,有许多信息需要处理和管理。现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于病历等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。 数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个医院管理系统,使医院管理工作规范化,系统化,程序化,避免医院管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改医院情况。 开发门诊管理系统的现实意义:

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言实用程序设计100例流程图

C语言实用程序100例 第一篇基础与提高 实例1利用库函数编写基本显示程序 实例2变量属性 实例3运算符与类型 实例4关于程序结构 实例5显示函数曲线图 实例6二分法选代的应用 实例7多变的立方体 实例8一维整型数组应用(1) 实例9一维整型数组应用(2) 实例10一维整型数组应用(3) 实例11一维整型数组应用(4) 实例12二维数组应用(1)——显示杨辉三角实例13二维数组应用(2)——魔方阵 实例14字符数组应用(1)——逻辑判断 实例15字符数组应用(2)——数据模拟 实例16二维数组应用——字符比较 实例17利用指针进行数据处理 实例18指针与字符串 实例19利用指针处理二维数组 实例20一级指针 实例21利用指针传递参数值 实例22结构体的应用 实例23链表的应用(1)

实例24链表的应用(2) 实例25链表的应用(3) 实例26共用体的应用 实例27枚举类型应用 实例28位运算 买例29义件加密 实例30文件的按记录随机读写 第二篇图形与多媒体 实例31改变文字背景色 实例32及本颜色设置 实例33制作表格 实例34制作多样的椭圆 实例35美丽的透视图形 实例36错位窗口 实例37能移动的矩形 实例38多变的填充矩形 实例39黄黑相间的矩形与圆 实例40六叶图案 实例41特殊图案 实例42国际象棋棋盘 实例43制作楼梯 实例44使用线类型函数设置多个汉字实例45彩色群点 实例46饼图 买例47产品折线图 实例48直方图 实例49变大变色的拒形与国

实例50多变的填充多边形 实例51流星球 实例52小球动态碰撞 买倒53多,曲线 实例54多变的圆与环 实例55优美的球体 实例56运动的小车 实例57统计动画消失次数 实例58运行的时钟 实例59直升飞机 实例60演绎“生命游戏” 实例61猜猜看 买例62艺术清屏 买倒63制作火焰 实例64动态绘制256条不同颜色的直线实例65红绿蓝三原色渐变 第三篇综合小程序 实例66两个矩阵相乘 实例67艺术钟 实例68家庭财务管理小程序 实例69用系统时间实现随机数 实例70闪动的多彩圆 实例71检查系统有无鼠标 实例72圆形光盘与矩形 实例73动态渐变图案 实例74往返两地间的小车 实例75飘扬的红旗

C语言程序设计课后答案罗朝盛

第1章习题参考答案 1. (略) 2 3填空题 (1)main (2)函数的首部、函数体 (3){、} (4)main、main (5)语句、分号(;) 4 5选择题 (1) #include <> main() { int a, b, s; float t; printf("Enter A,B=?\n"); scanf("%d%d", &a, &b); s=a+b; t=a*b; printf("s=%d, t=%f\n", s, t); } (2) #include <> main() { printf("=================\n"); printf(" Hello! \n"); printf(" How do you do \n"); printf("=================\n"); } (3) #include <> main() {

int r, h; float v; printf("Enter R, H=?\n"); scanf("%d%d", &r, &h); v=*r*r*h; printf("v=%f\n",v); } 第2章 习题参考答案 一.(略) 二.填空题 (1) ab e d c b b a 2+ + + (2) (3) 16 (4) 10 (5) 16、16、11 (6) 4、10、6 (7) 18、3、3 (8) sin(65*180)+2*( +exp(y))/(x-y) (9) 25、25 (10) 27 (11) 4 (12) 0 四、编程题 1. #include <> main() { int x, a, b, c; printf("Enter a intger number x=?\n"); scanf("%d",&x); a=x /100; b=x%100/10; c=x%10;

医院信息管理系统--数据库课程设计

东北大学秦皇岛分校 数据库原理课程设计报告 医院信息管理系统 学院数学与统计学院 专业信息与计算科学 学号7110117 姓名王启 指导教师张建波崔向南 成绩 教师评语: 指导教师签字: 2014年1月4日

1绪论 1、背景 随着社会化大生产的不断扩大和社会对产品多样化的需求,人们越来越重视信息在生产经营及企业管理中的作用,并把它当做企业的一种极其重要的资源,人们称之为“信息资源”,信息资源的处理已经成为当今世界上一项主要的社会活动。同样,在医疗系统中也不例外,其中加强对门诊信息的管理,一方面能更好为病人服务,另一方面能加强对医院效益的监控。 当前,医院作为病人就诊的地方,有许多信息需要处理和管理。现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于医历等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。 数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个医院管理系统,使医院管理工作规范化,系统化,程序化,避免医院管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改医院情况。 本系统运用了Microsoft SQL Server2005为后台数据库,以Eclipse为代码开发工具,实现了医生信息管理模块、病人信息管理模块、药物信息管理模块、收费信息管理模块等功能,本系统操作简单、界面友好、灵活、稳定,适合医院信息管理。 2、Eclipse及SQL Sever 2005简介 Eclipse 是一个开放源代码的、基于Eclipse的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Eclipse开发工具(Eclipse Development Kit,JDK)。 虽然大多数用户很乐于将Eclipse 当作Eclipse 集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

《C语言程序设计》课后习题答案(第四版)

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

医院信息管理系统

医院信息管理系统 高晓娟① ①南京同仁医院信息科,211100,江苏省南京市江宁经济技术开发区吉印大道2007号 关键词 信息系统的总体规划 扩展性 重用性 信息标准化 摘 要 医院建设信息系统应有总体的规划设计以及规划时应该注意的问题。 随着全球信息高速公路的兴建,医院信息管理系统的建设已势在必行。实践说明医院信息管理系统的建设与使用对于医院医务人员来说提高了工作效率;对于病人来说,加快了就诊速度,并且做到明白消费;对于医院来说,堵住了收费和药品管理中的漏洞,提高了医疗服务质量。所以医院信息系统(HIS)网络已成为医院现代管理水平的象征,并在绝大多数医院广泛应用。 但是,要建立一个新的医院信息系统或者对原来的医院信息系统进行升级改造都需投入大量的人力物力和财力,(比如前期的调研、协调等等,还有很多基础的工作,比如各个科室做相应的字典等等。)那么怎样能使这些投入都用到实处,获得最大的投入产出比是应该认真总结的问题。 医院信息系统是个庞大的项目,如果在投入实施之前不经过严谨的调查研究、论证分析而草率上线势必引起投资的浪费,造成不必要的损失。怎样才能使得系统的功能正常发挥出来,获得最高的性价比,下面笔者根据自己在多家医院实施项目的经验谈一下个人的看法。

1医院建设信息系统应有总体的规划设计 与建筑学类似,如果软件系统没有一个好的规划设计是不可能成为成功的软件系统的。 作为医院方,医院信息系统的整体规划必须科学、完整、实用、简单、有效。对于软件开发方,必须考虑到它的可扩展性、可重用性以及模块化。 1.1可扩展性 任何一家医院,上信息系统时,都不是一气呵成的,而是循序渐进的。比如第一阶段以经济信息管理为中心,以患者经济及药品管理为重点如药房管理、门诊挂号、划价收费、住院结算等等(目前国内70%—80%的医院处于这一阶段);第二阶段以医疗信息管理为中心,主要包括门诊医生工作站、住院医生工作站、护士工作站、检验科信息管理、手术室管理等等(国内有20%左右的医院正在向这一阶段转变 );第三阶段以行政后勤、科研信息管理为中心,主要有:医务部医疗统计分析、人事管理、设备管理、院长查询系统等等;第四阶段根据自己的实力考虑衔接医学影像与远程会诊系统。 所有这些信息系统,大多数不是同一时间构建的,而且也不是一家IT供应商提供的,所以开发这些软件的工具不同,管理数据所用的数据库也不同,但是我们是一家医院,数据肯定要共享,临床各个科室之间要进行数据交换,这就要求我们的信息系统中的各个模块有很好的扩展性,要有和其他供应商可接口的特点。小到一张表的各个字段,大到各个模块之间的接口关系,都要有个设想构架。比如我们的科室代码,表面上看只不过是个代码,但是一开始编码时,就应该

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

C语言程序设计课程设计报告

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 调试过程及实验结果

C语言程序设计第14章在线测试

A B C D 、以下程序:5) printf( A B C D 、y均为则语句 printf( A B C D 、在函数中定义变量时,若省略存储类型符,系统默认存储类别为 A B C D 、下列选项中关于。 A r egister B 量 C r egister D register

B、p+=2,*++p C、p+=2,*p++ D、p+=2,++*p 2、以下叙述中,错误的叙述是: A、函数的形参都属于全局变量 B、全局变量的作用域不比局部变量的作用域范围大 C、静态(static)类别变量的生存期贯穿整个程序的运行期间 D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值 3、下列选项中关于外部变量的作用域,正确的是( )。 A、外部变量的作用域是所在的源文件 B、外部变量的作用域是整个源程序 C、可以通过extern,将一些外部变量的作用域扩展到多个源文件 D、外部变量若定义为静态的,其他源文件不能使用该外部变量 4、下列选项中关于外部变量,正确的是( )。 A、main函数是主函数,不在main函数内部定义的变量都是外部变量 B、外部变量必须定义在源程序的开始处 C、外部变量必须定义在所有函数的外面 D、定义外部变量时,可以进行初始化 5、下列选项中关于变量的生存期,不正确的描述是( )。 A、auto型变量是静态存储的,其生存期等同于程序的运行期。 B、static变量是动态存储的,函数调用结束时,static变量所占用的内存单 元被释放 C、register变量都是动态存储的 D、外部变量都是静态存储的 第三题、判断题(每题1分,5道题共5分)

医院信息管理系统数据库设计说明

医院信息化是医院应用信息技术及其产品的过程,是信息技术由局部到全局、由战术层次到战略层次向医院的全面渗透,运用于流程管理、支持医院经营管理的过程。信息化的实施从自上而下的角度说,必须与医院的制度创新、组织创新和管理创新结合; 从自上而下的角度说,必须以作为医院主体的业务人员直接受益及其使用水平的逐步提高为基础。 医院信息系统属于世界上现存的企业及信息系统中最为复 杂的一类,这是医院本身的目标、任务和性质决定的;它应用于医院的医疗管理、经济管理等各个方面,牵涉的信息种类十分庞杂;它融合了医院的管理思想和各部门的业务经验,是医院当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于医院当前的运作方式和业务流程:他实施的技术手段与当前快速发展的信息技术密切相关,实施的广度和深度(如电子日历、电子支付等)又受到社会大环境信息化程度的影响,受到国家和有关部委制定的法律法规的影响。 因此,医院信息化建设工作具有长期性、复杂性和内容的多变性;医院信息系统不是一个简单的、封闭的、静止的软件,而是一个复杂的、开放的、在应用的深度和广度上逐步变化和发展的软件系统。

需求分析分为三个部分:需求的文字表述、数据流图、数据字典 一、需求分析 第一部分调查用户需求 本系统的最终用户为医院,我们根据从医院方面取得的图表资料、文字资料以及其他 细节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用 户的下列实际要求: 1、医院的组织机构情况 一所医院的主要构成分为两个部分,一是门诊部门,二是住院部门,医院的所有日常 工作都是围绕着这两大部门进行的。 门诊部门和住院部门各下设若干科室,如门诊部门下设口腔科、内科、外科、皮肤科 等,住院部门下设内科、外科、骨科等,二者下设的部分科室是交叉的,各科室都有相应 的医生、护士,完成所承担的医疗工作,医生又有主治医师、副主任医师、普通医师或教授、副教授、其他之分。 为了支持这两大部门的工作,医院还设置了药库、中心药房、门诊药房、制剂室、设备科、财务科、

相关文档
最新文档