《程序设计综合训练》

设 计 报 告

专 业: 数字媒体技术

班 级: 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的值。

源代码:

#include

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;i<16;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(m>32767&&m<0&&n>32767&&n<0);

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

职工系统c语言链表,C语言职工信息管理系统(链表)..doc相关推荐

  1. 施工管理系统C语言,《C语言课程设计报告-建筑工地信息管理系统》.doc

    <C语言课程设计报告-建筑工地信息管理系统> C语言课程设计报告 班级:中国地质大学计算机学院192091班 姓名: 序号:192091-28(20091003872) 指导老师:时间:2 ...

  2. 《C语言》课程设计——火车票信息管理系统

    <C语言>课程设计--火车票信息管理系统 一.课题功能描述 二.基本原理 三.程序代码 一.课题功能描述 本课题要求设计一个火车票信息管理系统,主要包括火车时刻信息的录入.火车票查询.统计 ...

  3. c语言课程设计-商场商品信息管理,C语言课程设计商场商品信息管理系统

    C语言课程设计商场商品信息管理系统 1目 录1 系统分析 21.1 课程设计内容 21.2 系统功能需求分析 21.3 数据结构设计 32 系统设计 32.1 总体设计 32.2 详细设计 42.2. ...

  4. c语言程序报告学分信息管理,C语言程序报告学生学籍信息管理系统(总21页

    <C语言程序报告学生学籍信息管理系统(总21页>由会员分享,可在线阅读,更多相关<C语言程序报告学生学籍信息管理系统(总21页(21页珍藏版)>请在人人文库网上搜索. 1.C语 ...

  5. c语言程序报告学分信息管理,c语言程序报告学生学籍信息管理系统.docx

    文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] C语言程序报告学生学籍信息管理系统 C语言课程设 ...

  6. c语言设计之歌曲信息管理系统,C语言课设之歌曲信息管理系统

    <C语言课设之歌曲信息管理系统>由会员分享,可在线阅读,更多相关<C语言课设之歌曲信息管理系统(10页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计目 录1.题目要求2. ...

  7. c语言建筑工地管理系统,C语言课设之建筑工地信息管理系统.doc

    C语言课设之建筑工地信息管理系统 C 语 言 课 程 实 习 报 告 建筑工地信息管理系统 题目要求 <建筑工地信息管理系统>要求要建立与建筑相关的四个文件信息:1)项目2)工地 3)配件 ...

  8. c语言课程设计 职工信息管理系统,C语言课程设计-职工信息管理系统程序设计.doc...

    C语言课程设计-职工信息管理系统程序设计 C语言课程设计报告 设计题目:职工信息管理系统程序设计 课程设计评语2 目 录3 1.课程论文题目4 2.程序设计思路4 3.功能模块图5 4.数据结构设计5 ...

  9. C语言系统讲解,C语言学生信息管理系统讲解.doc

    C语言课程设计报告 学生姓名:田俊 学生学号:0909090610 所在班级: 电气信息0906 课程设计题目: 学生信息管理系统 课程设计目标和要求: 巩固和加强<C语言程序设计>课程的 ...

最新文章

  1. BC#65 T5 ZYB's Prime
  2. VTK:网格之SimpleElevationFilter
  3. 绘图和可视化---matplotlib包的学习
  4. 20个很酷的CSS3导航菜单制作教程
  5. 2018年牛客多校算法寒假训练营练习比赛(第一场)C. 六子冲
  6. 进程控制2--exec族
  7. linux登录界面输入密码时卡住6,centos6.8(虚拟机VNC)输入正确用户名和密码仍跳回登录界面...
  8. linux 跑天龙八部游戏脚本,求推荐天龙八部脚本(能自动打怪,捡包之类的)
  9. SAP License:ERP实施关键问题
  10. 怎么使用systemctl启动rabbitmq_光纤激光切割机已经很久没有使用了。再次重新启动它,该怎么办?...
  11. atitit.为什么 java开发要比php开发速度慢??
  12. Linux 命令行连接蓝牙
  13. 【算法】求n的m次方(快速幂取模)
  14. 树莓派wiringPi输出PMW
  15. free spaces
  16. 【数学建模笔记 07】数学建模的对策论
  17. 20个免费webservice接口
  18. ATALINA_HOME environment variable is not defined correctly问题的解决(Tomcat)
  19. 张栋推荐的machine-learning-for-hackers/
  20. 一文带你读懂Mock测试

热门文章

  1. 14.图像透视——投影几何性质,平行线(Parallel Lines),消失点(Vanishing Point)_3
  2. Google Code Jam 2008 E 日程表(最小割)
  3. 【英语学习】【English L06】U06 Banking L4 I'd like to transfer some money
  4. 【英语学习】【Daily English】U12 E-World L04 I bought it on a Swiss website
  5. 【Python】Python2.7.15 - Windows安装Python以及Python安装目录结构详解
  6. diskgenius 单文件_电脑数据恢复及分区管理软件DiskGenius 英文专业版
  7. centos 安装idea 非可视化_CENTOS 7 安装教程
  8. 正在导出系统过程对象和操作 卡住_开会时CPU 飙升100%同事们都手忙脚乱记一次应急处理过程
  9. java面试题_2020年JAVA最新大厂面试题!
  10. 从零开始构建自己的爬虫代理IP数据库并定期检验IP有效性...