- 博客(0)
- 资源 (5)
- 收藏
- 关注
通讯录的制作(数据结构c语言 代码+报告)
1、问题描述
通讯录的制作:用《数据结构》中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。
2、功能需求分析
本系统应完成一下几方面的功能:
1)输入信息——enter();
2)显示信息———display( );
3)查找以姓名作为关键字 ———search( );
4)删除信息———delete( );
5)存盘———save ( );
6)装入———load( )
设计要求:
1)每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项
2)作为一个完整的系统,应具有友好的界面和较强的容错能力
3)上机能正常运行,并写出课程设计报告
二、概要设计
1、总体设计思路
(1)用菜单函数调用所设立的功能和使用界面的清屏小代码,使程序更加清楚和界面更美观。
(2)采用结构体类型定义和链式存储结构分别对输入信息和双链表定义,充分运用双链表结构的特点。
(3)输入通讯录信息的实现:
思路:先初始化创建双链表,创建头结点来辅助双链表的插入操作,再运用c程序设计中输入输出语句,达到输入信息的功能
(4)对通讯录信息的输出显示功能的实现:
思路:简单运用c程序设计中的输入scanf函数、输出printf函数和for循环。
2016-04-04
用哈夫曼编码实现文件压缩(代码+报告)
数据结构课程设计用哈夫曼编码实现文件压缩:
一、实验题目:
用哈夫曼编码实现文件压缩
二、实验目的:
1、了解文件的概念。
2、掌握线性链表的插入、删除等算法。
3、掌握Huffman树的概念及构造方法。
4、掌握二叉树的存储结构及遍历算法。
5、利用Huffman树及Huffman编码,掌握实现文件压缩的一般原理。
三、实验设备与环境:
微型计算机、Windows 系列操作系统 、Visual C++6.0软件
四、实验内容:
根据ASCII码文件中各ASCII字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。
五、概要设计:
1、数据结构类型定义
/*****Huffman结构定义**********/
typedef struct node
{
long w;//w为权值
short p,l,r; //p为parent,l为左孩子,r为右孩子
}htnode,*htnp;//动态分配数组存储哈夫曼树
/*****Huffman编码表结构定义*****/
typedef struct huffman_code
{
unsigned char len;//长度
unsigned char *codestr;
}hufcode;
typedef char **huffmancode;//动态分配数组存储哈夫曼编码表
2、本程序的构成,共有14个函数,一个菜单函数
int initial_files(char *source_filename,FILE **inp,char *obj_filename,FILE **outp);
//1.初始化文件名
char *create_filename(char *source_filename,char* obj_filename);
//2.创建文件名
int compress(char *source_filename,char *obj_filename);
//3.压缩文件
2016-04-04
汇编课程设计五环图
要求在屏幕上画出彩色的五环图,主要的问题是对圆画法的设计。圆是由点组成的,每画一个点的时候就要考虑画下一个点的位置,这个就是问题的难点。 基本思路:通过对网上资料和图书馆资料的查询,用汇编语言画圆,就必须学习Bresenham画圆算法,这是计算机图形基础的方法。该算法包括利用圆的对称性,用八点对称画法画出8个单像素点,通过循环1/8个圆即可组成一个完整的圆。在画点时,只要使用BIOS中断调用即可显示有颜色点组成的画面。把每个颜色值放入到一个存储单元,每次读取不同数值即可实现5种颜色的显示。画完一个圆之后,通过对圆心平移,画出其他的圆,组成五环图。
在图形中,初始值是固定的,每个圆的圆心坐标、半径和颜色在程序中都有默认值。为扩展题目的内容,还增加了自定义圆环的属性的功能。对于自定义圆心坐标、半径和圆圈的颜色设计,用汇编语言1号功能输入,进行比较、转存数值等处理,分别改变原定义的圆心坐标、半径、颜色中的初始值。对于自定义圆圈的粗细是改变不同坐标画点综合的结果。初始值是“细线”:在画8个点时,每个点只调用一次画点子程序显示点;“粗线”:在画8个点时,每个点在“细线”的基础上,改变横纵坐标,多次调用画点程序,画出“细线”周围的点,最后达到“粗线”的效果。
2015-06-29
汇编学生名次表 报告+完整源代码
输入1是数据录入并输出(包括姓名、学号、成绩);
输入2是排序后的数据输出(包括姓名、学号、成绩、名次);
输入3是可以按学号查找某学生,并输出其成绩,选择修改或不改成绩。
2015-06-29
《学生成绩管理系统的设计》c程序设计
《 C程序设计》课程综合性实验报告
开课实验室: 基础三 2013年 6 月24 日
实验题目 《学生成绩管理系统的设计》
一、实验目的
通过该实验把C语言中基本知识(如:顺序结构、选择结构、循环结构、数组、函数、指针、链表等)得到综合应用。完成学生成绩管理系统基本功能设计,提高学生的编程能力和分析问题、解决问题的能力。
二、设备与环境
硬件:多媒体计算机
软件:Windows系列操作系统、C++语言
三、实验内容
对若干个学生基本信息,包括学号、姓名、至少三门课成绩(如:英语、高数、计算机)。
① 学生基本信息录入;
② 学生基本信息的输出;
③ 求每个人平均成绩;
④ 输出平均分大于80分的同学信息;
⑤ 输出有不及格课程的同学信息;
⑥ 输出平均分最高的同学信息;
⑦ 按学号查询学生信息;
⑧ 按学号修改某学生信息并输出;
⑨ 添加某学生信息;
⑩ 删除某学生信息;
⑪ 根据平均成绩综合排名;(此功能用链表处理的同学可不做)
2、实验要求
a、用结构体数组或链表存储学生信息;
b、基本功能用函数实现;
c、至少完成实验内容中6个功能,学生可以自己增加或减少题目功能;
d、程序能正确执行、输入与输出有必要的提示信息、界面美观;
e、 用菜单调用加分。使用链表加分。
四、实验结果及分析
1.运行结果图
2. 分析程序
数据类型定义:结构体类型
函数:
input(struct student stu[]); 学生基本信息录入
average(struct student stu[]); 求每个人的平均分
print(struct student stu[]); 学生基本信息的输出
chazhao(struct student stu[]); 按学号查询学生信息
paixu(struct student stu[]); 根据平均成绩综合排名
pingjun80(struct student stu[]); 输出平均分大于80分的同学信息
xiugai(struct student stu[]); 按学号修改某学生信息并输出
2014-02-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人