程序设计实验报告.docx

上传人:b****3 文档编号:10400879 上传时间:2023-05-25 格式:DOCX 页数:21 大小:505.40KB
下载 相关 举报
程序设计实验报告.docx_第1页
第1页 / 共21页
程序设计实验报告.docx_第2页
第2页 / 共21页
程序设计实验报告.docx_第3页
第3页 / 共21页
程序设计实验报告.docx_第4页
第4页 / 共21页
程序设计实验报告.docx_第5页
第5页 / 共21页
程序设计实验报告.docx_第6页
第6页 / 共21页
程序设计实验报告.docx_第7页
第7页 / 共21页
程序设计实验报告.docx_第8页
第8页 / 共21页
程序设计实验报告.docx_第9页
第9页 / 共21页
程序设计实验报告.docx_第10页
第10页 / 共21页
程序设计实验报告.docx_第11页
第11页 / 共21页
程序设计实验报告.docx_第12页
第12页 / 共21页
程序设计实验报告.docx_第13页
第13页 / 共21页
程序设计实验报告.docx_第14页
第14页 / 共21页
程序设计实验报告.docx_第15页
第15页 / 共21页
程序设计实验报告.docx_第16页
第16页 / 共21页
程序设计实验报告.docx_第17页
第17页 / 共21页
程序设计实验报告.docx_第18页
第18页 / 共21页
程序设计实验报告.docx_第19页
第19页 / 共21页
程序设计实验报告.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序设计实验报告.docx

《程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《程序设计实验报告.docx(21页珍藏版)》请在冰点文库上搜索。

程序设计实验报告.docx

程序设计实验报告

保安值班系统设计报告

物理与电子工程学院光信息科学与技术专业09光信1班姓名:

吴刚学号:

0911030063

一.题目:

保安值班安排系统

某公司有7名保安人员:

赵、钱、孙、李、周、吴、陈。

由于工作需要进行轮休制度,一星期中每人休息一天。

预先让每一个人选择自己认为合适的休息日。

请编制一程序,打印轮休的所有可能方案。

当然使每个人都满意,例如每人选择的休息日如下:

赵:

星期二、星期四

钱:

星期一、星期六

孙:

星期三、星期日

李:

星期五

周:

星期一、星期四、星期六

吴:

星期二、星期五

陈:

星期三、星期六、星期日

二.系统功能模块结构图

三. 程序结构(画流程图)

 

 

 

 

 

四.试验结果(包括输入数据和输出结果)

当所有可能的输入正确时,可以得到7人保安值班的各自情况和信息。

五.体会

通过这次程序设计训练,我感悟很深,觉得我了解的东西太少了,缺乏用自己的思维去写程序,还有自己写的出现错误太多,由于了解得不深,好多错误都难以自己修改,只好请其它同学帮忙和上网参考资料,才得以完成设计,但总觉得有些要求没有达到。

总之,觉得实践多练是写程序设计最重要的,也是最难的,同时也是学以自用的最好表现,收获最多的阶段。

六.参考文献

1.C程序设计(第三版)谭浩强著清华大学出版社

2.数据结构(C语言版)严蔚敏著清华大学出版社

七.附录:

程序清单及源程序和执行程序源代码中要有适当和必要的注释,如每个函数的功能、入口参数的作用等;

/*使用TC进行编译;全英文输入与输出;文本界面*/

#include

#include

#include

#include

#include

#include

#include

#definekey_ESC1

#definetotal7

voidinterface();

intget_key();

intcmp();

voidscan();

voidprint();

intDFS(intt,intm);

structperson/*保安名字及休息时间*/

{

charname[20];

intday[7];

}secur[total];

structpersonsecur[total];/*7名保安信息*/

intsum[total];/*结果储存*/

intdata[total];/*每名保安期望休息的天数*/

intdd=1,tt=1;

intkflag=0;/*不满足条件的初值*/

voidsave()

{FILE*fp;

inti;

if((fp=fopen("baoan.txt","wb"))==NULL)

{printf("cannotopenfile\n");

return;

}

for(i=0;i

if(fwrite(&secur[i],sizeof(structperson),1,fp)!

=1)

printf("filewriteerror\n");

if(fwrite(&sum[i],sizeof(structperson),1,fp)!

=1)

printf("filewriteerror\n");

if(fwrite(&data[i],sizeof(structperson),1,fp)!

=1)

printf("filewriteerror\n");

}

fclose(fp);

}

voidload()

{FILE*fp;

inti;

if((fp=fopen("baoan.txt","rb"))==NULL)

{printf("cannotopeninfile\n");

return;

}

for(i=0;i

if(fread(&secur[i],sizeof(structperson),1,fp)!

=1)

{if(feof(fp)){fclose(fp);return;}

printf("filereaderror\n");

}

if(fread(&sum[i],sizeof(structperson),1,fp)!

=1)

{if(feof(fp)){fclose(fp);return;}

printf("filereaderror\n");

}

if(fread(&data[i],sizeof(structperson),1,fp)!

=1)

{if(feof(fp)){fclose(fp);return;}

printf("filereaderror\n");

}

}

fclose(fp);

}

voidinterface()/*用户界面*/

{

inti;

textmode(80);

textattr(WHITE+(BLACK<<4));

clrscr();

window(1,1,1,80);

textattr(WHITE+(BLACK<<4));

clrscr();

gotoxy(1,23);

for(i=1;i<=80;i++)

putch(0x4);

gotoxy(13,24);

printf("1-mon2-tue3-wed4-thur5-fri6-sat7-sun");

printf("ESC-TOEXIT");

}

intget_key()/*读取键盘键码*/

{

unionREGSregs;

regs.h.ah=0;

int86(0x16,®s,®s);

returnregs.h.ah;

}

voidscan()/*读取保安信息*/

{

inti,j;

charc='a';

for(i=0;i

{

gotoxy(10,6);

printf("enterthename(don'tusethespace):

");

/*名字不能有空格*/

scanf("%s",secur[i].name);

getchar();

gotoxy(10,8);

printf("enterthedaywhichhewantstorest(1-7):

");

j=0;

while((c=getchar())!

='\n')

{

if(c!

='')

{

secur[i].day[j]=c-48;/*没有判断输入的合法性*/

j++;

}

}

sum[i]=j;

clrscr();

interface();

}

gotoxy(10,4);

printf("enterthedatasuccessfully");

save();

}

intcmp()/*判断是否满足条件*/

{

inti;

intflag=0;

for(i=1;i

{

if(data[i]!

=data[i-1])

flag=1;

}

returnflag;

}

voidprint()/*输出结果*/

{

inti,j;

introw=1;

intkey;

if(tt>80)

{

gotoxy(15,20);

printf("enteranykeytoseeantherresult");

key=get_key();

interface();

dd=1;

tt=1;

}

if(dd>80)

{

row=10;

for(i=0;i

{

gotoxy(tt,row++);

printf("%d",secur[i].name);

printf(":

");

printf("%d",data[i]);

printf("");

}

tt=tt+10;

}

else

{

for(i=0;i

{

gotoxy(dd,row++);

printf("%s",secur[i].name);

printf(":

");

printf("%d",data[i]);

printf("");

}

}

}

intDFS(intt,intm)/*深度优先搜索*/

{

inti;

intj=0;

if(t==total)

{

if((j=cmp())==1)

{

print();

dd=dd+10;

kflag=1;

return0;

}

return0;

}

for(i=0;i

{

data[t]=secur[t].day[i];

DFS(t+1,m+1);

}

return0;

}

voidmain()

{

intkey=0,l;

for(;key!

=key_ESC;)

{

dd=1;

interface();

gotoxy(10,4);

printf("doyouwanttoloadthedata?

(1or0)");

scanf("%d",&l);

if(l){load();}

else{

dd=1;

interface();

gotoxy(10,4);

printf("enterthedata");

scan();

}

gotoxy(10,6);

printf("enteranykeytoseethesesult");

key=get_key();

interface();

DFS(0,0);

if(kflag!

=1)

{

gotoxy(15,10);

printf("noneofthesesult");

}

gotoxy(15,25);

printf("enterESCtoEXIT");

printf("orenteranykeytomenu");

key=get_key();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2