- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
成都信息工程学院计算机系
课程实验报告
实验课程:
C语言程序设计2
实验项目:
职工管理系统
描导教师:
学生姓名:
学生学号:
班 级:
实验地点:
实验时间:
2011年月11日6点~10点
实验成绩:
评阅老师:
一【上机实验目的】
1) 对一定规模的综合软件编程有一定的经历与认识。在做的过程屮,你会 发现,提前的规划即分析与设计重要过编程过程,否则会走很多弯。
2) 综合并结合现实应用使用C语言的他识。这个设计会用到C语言这门 课的全部知识,其屮以文件、数组与链表为主,书屮提到的主要及重点 算法都会使用到。
3) 不仅涉及编程,还涉及到功能分析、模块规划等方面的知识,这些知识 在后续课程学习时,会经常使用。这些知识在学《软件工程》这门课时, 会系统讲解。希望有了这次的经历,你能更好的体会《软件工程》这门 课的意义,并能学好和用好其屮的知识。
4) 每项功能的实现,一般有多种方法,这里都强调使用时空效率最高的方 法,此次实现只是让你有一个初步的认识,在下学期学习了《数据结构》 后,你就知道为什么让你这样做,你也对《数据结构》这门课的作用及 意义有所了解。
二【实验环境】
PC机每人1台
三【上机实验内容】
要求:
职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号 不相等)。试设计一职工信息管理系统,使之能够提供下列功能:
(1) 系统以菜单方式工作
(2) 职工信息录入功能(职工信息用文件保存)
(3)职工信息浏览功能
(4) 职工信息查询功能,查询方式:
1) 按学历查询
2) 按职工号查询
(5) 职工信息删除,修改功能(可选项)。
四【上机调试程序流程图](注:可打印)
四【上机调试程序流程图
](注:可打印)
五【上机调试中出现的错误信息、错误原因及解决办法】
六【上机调试后的源程序及还存在的问题】(注:源程序可打印)
这个问题是每次报错的时候有时会出现小差错,办法是写成循环来控制好。
六【上机调试后的源程序及还存在的问题】(注:源程序可打印)
由于源代码较多,在这只打出部分功能。
int SearchByNo(BOOKBASIC *info,int count) /*按编号查找*/
{
int i,j,k,num,high,low,mid,flag=0;
for(i=0;icount-l ;i++) /* 排序 */
{
k=i;
for(j=i+l ;jcount;j++)
{
讦(((info+k*sizeof(BOOKBASIC))-No) ((info+j*sizeof(BOOKBASIC))-No)) {
k=j;
)
)
if (k!=i) exchange((info+i*sizeof(BOOKBASIC)),(info+k*sizeof(BOOKBASIC)));
}
/*此显示信息只为说明图书已按编号排序,该部分可删除*/
printf(n \nM);
printf(No.\tbook,name\t\tauthor\t\t\tpublisher\nn);
for(i=0;icount;i+4-) printf(u%-8d%-24s%-24s%s\n,(info+i:,:sizeof(BOOKBASIC))-No,
(info+i*sizeof(BOOKBASIC))-name,
(info4-i*sizeof(BOOKBASIC))-author, (info+i*sizeof(BOOKBASIC))-publisher);
printfC -\nM);
printf(H\nPlease input a number you want to search:);
scanf(”%d”,num);
getchar();
low=0; /* 折半法 */
high=count-l;
while((low=high)(flag==0))
{
mid=(low+high)/2;
if (num((info+mid*sizeof(BOOKBASIC))-No))
low=mid+l;
else 讦(num((info+mid*sizeof(BOOKBASIC))-No))
else if (num==((info+mid*sizeof(BOOKBASIC))-No))
flag=l;
}
讦(flag==O)
{
printf(ucan not find the book!\n);
}
else
{
printf( -\nM);
printf(No.\tbookname\t\tauthor\t\t\tpublisher\nn);
printf(H%-8d%-24s%-24s%s\n\(info4-mid*sizeof(BOOKBASIC))-No, (info+mid
文档评论(0)