- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言职工信息管理系统链表
《程序设计综合训练》
设 计 报 告
专 业: 数字媒体技术
班 级: 11媒体Z
学 号: 姓 名: 朱毅
指导教师: 陈湘军 陈明霞
成 绩:
计算机工程学院
2012年10月
第一部分
题目:
1.编写函数 int hamming(int x,int y,char a[],char b[])实现以下功能:先将形参x和y分别转换为2个合法代码并按从低位到高位的顺序为别保存2个合法代码的码距,函数返回该码距。
2.编写函数main()函数实现以下功能:声明字符数组a、b和变量m、n输入两个整数冰保存到m和n中,若m、n的值在0~32767范围内则用m、n和数组a、b做实参调用haming函数,计算由m和n生成的两个合法代码的码距输出的到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。
来自:2009年(秋)上机试卷(03)的编程题。
算法设计:
(1)算法描述:
由于hamming函数需要分别将两个整数转换为合法代码,因此编写函数“void bin(int n,char str[])”。Bin函数的功能是将形参n转换为合法代码并保存到b指向的一维数组中。Hamming函数先两次调用bin函数,分别将形参X和Y转换为合法代码并分别保存到a和b指向的一维数组中,在用循环语句从前向后遍历a和b指向的数组各元素,函数最后返回统计结果。
(2)实现方法:
用VC6.0软件进行调试,分析,输入m,n两个值,进行分析,调用函数hanmming(),在从hanmming()函数中调用函数bin(),返回count的值,输出,a,b数组中的值和返回值count的值。
源代码:
#includestdio.h
void bin(int n,char str[])
{
int i=15,j;
while(n!=0)
{
str[i--]=n%2+0;
n/=2;
}
for(j=0;j=i;j++)
str[j]=0;
str[16]=\0;
}
int hamming(int x,int y,char a[],char b[])
{
int count=0,i;
bin(x,a);
bin(y,b);
for(i=0;i16;i++)
if(a[i]!=b[i])
count++;
return count;
}
void main()
{
char a[17],b[17];
int m,n,x;
FILE *fp;
fp=fopen(myf2.out,w);
if(fp==NULL)
printf(error);
do{
scanf(%d,%d,m,n);
}while(m32767m0n32767n0);
x=hamming(m,n,a,b);
printf(\n%s\n%s\ndistance of %d and %d is %d \n,a,b,m,n,x);
fprintf(fp,\n%s\n%s\ndistance of %d and %d is %d \n,a,b,m,n,x);
fprintf(fp;
fclose(fp);
}
程序调试:
就是输入的时候,n和m的值范围问题,当输入范围不正确时候跳不出来
解决方法:用一个do{}while;循环条件为大于32767和小于0的时候退出。
测试:
第二部分
职工信息管理系统
(1)题目名称:职工信息管理系统
内容:
职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
1、职工信息录入功能(职工信息用文件保存,也可不用)
2、职工信息浏览功能
3、排序:按工资排序
4、查询或排序功能:(至少一种查询方式:顺序、折半查找)
按工资范围查询
5、职工信息删除、修改功能(任选一项)
(2)解题的基本思路
程序采用模块化,每一个模块对应一种功能,调用函数予以实现,分别为7个模块,分别是创建与添加模块、显示模块、查找模块、修改模块、删除模块、存档模块、文件统计模块、退出模块,把复杂的问题分成每一个独立功能的小问题来解决。
(3)设计方案
1、功能模块图
算法设计
该程序主要分为7个模块,分别是创建与添加模块、显示模块、查找模块、修改模块、删除模块、存档模块、文件统计模块、退出模块
创建与添加模块:该模块的功能是输入职工信息。函数为void Add(Node *woker)
原理:采用尾插法,先建立链表与头结点,新增一个结点,键盘
文档评论(0)