资源描述:
《c语言职工信息管理系统(链表)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《程序设计综合训练》设 计 报 告专业:数字媒体技术班级:11媒体Z学号:11145107姓 名:朱毅指导教师: 陈湘军陈明霞成 绩:计算机工程学院2012年10月第一部分题目:1.编写函数inthamming(intx,inty,chara[],charb[])实现以下功能:先将形参x和y分别转换为2个合法代码并按从低位到高位的顺序为别保存2个合法代码的码距,函数返回该码距。2.编写函数main()函数实现以下功能:声明字符数组a、b和变量m、n输入两个整数冰保存到m和n中,若m、n的值在0~32767范围内则用m、n和数组a、b做实参调用haming函
2、数,计算由m和n生成的两个合法代码的码距输出的到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。来自:2009年(秋)上机试卷(03)的编程题。解题的基本思路:子函数就是将形参X,Y分别转换为2个合法的代码并按从低位到高位的顺序分别保存2个合法代码到a和b指向的数组中,在计算a数组和b数组中的两个合法代码的码距,函数返回码距。主函数就是调用子函数,并输出结果。设计方案:主函数main()(1)功能模块框图:调用子函数:hamming()子函数调用函数:bin()主函数(2)程序流程图:入口读文件创建文件,输入m,n调用函数ham
3、ming()返回count;出口用hamming()调用函数bin()Hamming函数循环体Bin函数循环体循环体算法设计:(1)算法描述:由于hamming函数需要分别将两个整数转换为合法代码,因此编写函数“voidbin(intn,charstr[])”。Bin函数的功能是将形参n转换为合法代码并保存到b指向的一维数组中。Hamming函数先两次调用bin函数,分别将形参X和Y转换为合法代码并分别保存到a和b指向的一维数组中,在用循环语句从前向后遍历a和b指向的数组各元素,函数最后返回统计结果。(2)实现方法:用VC6.0软件进行调试,分析,输入m,n两个值
4、,进行分析,调用函数hanmming(),在从hanmming()函数中调用函数bin(),返回count的值,输出,a,b数组中的值和返回值count的值。源代码:#includevoidbin(intn,charstr[]){inti=15,j;while(n!=0){str[i--]=n%2+'0';n/=2;}for(j=0;j<=i;j++)str[j]='0';str[16]=' ';}inthamming(intx,inty,chara[],charb[]){intcount=0,i;bin(x,a);bin(y,b);for(i
5、=0;i<16;i++)if(a[i]!=b[i])count++;returncount;}voidmain(){chara[17],b[17];intm,n,x;FILE*fp;fp=fopen("myf2.out","w");if(fp==NULL)printf("error");do{scanf("%d,%d",&m,&n);}while(m>32767&&m<0&&n>32767&&n<0);x=hamming(m,n,a,b);printf("%s%sdistanceof%dand%dis%d",a,b,m,n,x);fprintf(f
6、p,"%s%sdistanceof%dand%dis%d",a,b,m,n,x);fprintf(fp,"11145107");fclose(fp);}程序调试:就是输入的时候,n和m的值范围问题,当输入范围不正确时候跳不出来解决方法:用一个do{}while;循环条件为大于32767和小于0的时候退出。测试:第二部分职工信息管理系统(1)题目名称:职工信息管理系统内容:职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:1、职工信息录入功能(职工信息用文件保存,也
7、可不用)2、职工信息浏览功能3、排序:按工资排序4、查询或排序功能:(至少一种查询方式:顺序、折半查找)按工资范围查询5、职工信息删除、修改功能(任选一项)(2)解题的基本思路程序采用模块化,每一个模块对应一种功能,调用函数予以实现,分别为7个模块,分别是创建与添加模块、显示模块、查找模块、修改模块、删除模块、存档模块、文件统计模块、退出模块,把复杂的问题分成每一个独立功能的小问题来解决。(3)设计方案1、功能模块图菜单开始根据菜单输入序号值选择程序结束是否继续进行NY2修改职工信息3浏览职工信息4分类查找职工信息5删除职工信息6从文件读取信息0退出1录入职工信息
8、按职工号查