C课程设计指导书Word文件下载.docx
- 文档编号:16658683
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:25.11KB
C课程设计指导书Word文件下载.docx
《C课程设计指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《C课程设计指导书Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
5整体功能
a可以随时检索、删除、或增加新记录,保存或取消新的记录
b使姓名可由16位字符和数字的混合编码组成
c使电话号码可由18位字符和数字组成
d将输出信息加上输出信息信息栏,例如
姓名电话性别年龄生日宿舍
李四1234男217月1日东二333
e使用菜单实现功能的正确的选择
f所有节点信息都是动态生成。
6测试程序
应列出测试大纲对程序进行测试;
应保证测试用例测试到程序的各种边缘情况
三、实验(设计)仪器设备和材料清单
1.硬件:
PC机
2.软件:
Dos,TurboC2.0/TurboC++3.0
四、考核形式:
成绩分优、良、中、及格和不及格五等。
考核标准包括:
1.设计态度
2.程序设计是否良好结构性和良好程序设计风格,实用性、通用性、可扩充性如何
3.学生的动手能力,创新精神
4.设计报告
五、实验报告要求
1、只能使用C语言,源程序要有适当的注释,使程序容易阅读。
2、要有用户界面。
要求至少采用文本菜单界面;
鼓励采用图形菜单界面。
3、使用文件保存数据。
4、鼓励自行增加新功能。
5、写课程设计报告(要求正规打印,A4幅面),内容包括:
●课程设计题目、内容、要求。
●总体设计(包含几大功能模块),画出系统功能模块结构图
●详细设计(各功能模块的具体实现,画出相关流程图)
●数据结构设计及用法说明
●程序结构(画流程图)
●各模块(函数)的功能介绍,数据结构设计描述,参数说明等。
●试验结果(包括输入数据和输出结果)
●体会,总结(课程设计完成了哪些功能,有没有什么扩展功能还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)
●参考文献
●附录:
程序清单
六、实验报告参考涉及内容:
●程序系统的结构:
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
●程序描述:
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是否有返回值?
等)。
●说明该程序应具有的功能,说明对该程序的全部性能要求,包括对精度、灵活性等特性的要求。
●给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
●给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式。
●详细说明本程序所选用的算法,具体的计算公式和计算步骤。
●用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
●接口:
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(结构体等)。
●注释,加在模块首部的注释,加在各分支点处的注释,对各变量的功能、范围、缺省条件等所加的注释,对使用的逻辑所加的注释等等。
●限制条件:
说明本程序运行中所受到的限制条件。
●测试计划:
说明对本程序进行单元测试、组装测试的计划,包括对测试的输入数据、预期输出结果等。
●尚未解决的问题:
说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
七、参考设计方法
1.注意采用模块结构,程序由简到繁,各个函数调试通过后再组合一起调试。
2.DOS下菜单显示和命令接受界面设计:
●定义一函数专门显示菜单,并读取返回用户选择
●查阅了解相关文本显示的库函数,包括光标控制,字符显示位置控制,字符颜色,字符显示背景颜色的设置。
●查阅了解相关读取按键数据的库函数,包括上下左右键的读取
3.数据输入操作界面设计:
●定义一函数专门实现该功能,输入为结构指针。
●每项数据输入时,有提示
●数据合法性检验
4.数据链表的操作
●定义一函数专门实现添加节点功能,参考课本例题
●定义一函数专门实现删除节点功能,参考课本例题
●定义一函数专门实现查找节点功能,参考课本例题
●定义一函数专门实现显示链表功能,(注意数据多时要分页显示),输入参数为链表的头指针。
●定义一函数专门实现链表保存功能,输入参数为链表的头指针。
返回值表示成功与否。
●定义一函数专门实现从文件中装载链表功能,输入参数为文件名,返回是已装载好的链表的头指针,如果为NULL表示失败。
5.注意使用调试手段
●单步跟踪:
F7,F8
●全速运行:
CTRL+F9
●断点设置:
CTRL+F8
●变量观察:
CTRL+F7
八、附录:
参考程序和标准库函数
A.菜单设计
一个显示菜单的主函数可以参考
Fun()
{
intx0,y0;
chara;
while
(1)
{
textbackground
(1);
textcolor(14);
clrscr();
a=0,x0=30,y0=3;
gotoxy(x0+1,y0);
puts("
系
统
主
菜
单"
);
gotoxy(x0,y0+=3);
puts("
1:
打开或建立文件"
gotoxy(x0,y0+=2);
2:
录
入
数
据"
3:
删
除
4:
据
查
询"
5:
退
出
系
统"
gotoxy(x0-10,y0+=3);
printf("
请输入数字选择:
"
a=bioskey(0)%256;
switch(a)
case'
1'
:
openfile();
break;
2'
inputdata();
break;
3'
deletedata();
4'
finddata();
5'
closefile();
exit(0);
default:
;
}
}
B.相关链表操作函数(参考课本例题)
1.建立Creat()
2.插入insert()
3.删除Del()
4.实现查找节点功能find()
5.输出显示Print()
C.相关链表文件操作(参考设计)
1.保存链表到文件:
SaveToFile(structstudent*p,FILE*fp)
if(p=NULL)
do{
fwrite(p,sizeof(structstudent),1,fp);
p=p->
next;
}while(p!
=NULL);
2.从文件装载链表
structstuent*head;
intn=0;
intload(FILE*fp,)//读取文件数据,建立链表
{structstudent*p1,*p2;
head=(structstuent*)malloc(sizeof(structstudent));
if(fread(head,sizeof(structstudent),1,fp)!
=1){
free(head);
head=NULL;
return(0);
p2=head;
n++;
while(!
feof(fp)){
p1=(structstuent*)malloc(sizeof(structstudent));
fread(p1,sizeof(structstudent),1,fp);
p2->
next=p1;
p2=p1;
next=NULL;
return(n);
D.相关文本窗口操作函数
以下函数的原型都在conio.h中。
1、window函数:
原型:
voidwindow
(intleft,inttop,intright,intbottom);
原型在conio.h中。
功能:
创建矩形字符文本窗口。
其左上角的坐标由left,top表示;
右下角的坐标由right,bottom表示。
注意:
一旦该函数调用成功,所有定位坐标都是相对于窗口,而非相对于屏幕。
2、clrscr函数
voidclrscr(void);
清除当前字符窗口,将光标定位在左上角(1,1)处。
3、textbackground函数
voidtextbackground(intnewcolor);
设置字符屏幕的背景颜色为newcolor。
4、textcolor函数
voidtextcolor(intnewcolor);
设置字符屏幕下的字符颜色为newcolor。
颜色的枚举说明如下:
enumCOLORS{
BLACK,
/*darkcolors*/
BLUE,
GREEN,
CYAN,
RED,
MAGENTA,
BROWN,
LIGHTGRAY,
DARKGRAY,
/*lightcolors*/
LIGHTBLUE,
LIGHTGREEN,
LIGHTCYAN,
LIGHTRED,
LIGHTMAGENTA,
YELLOW,
WHITE
};
5、gotoxy函数
voidgotoxy(intx,inty);
将字符屏幕的光标移动到x,y所指定的位置。
如果其中有一个坐标值无效,则光标不移动。
6、gettext函数
int
gettext(intleft,inttop,intright,intbottom,void*buf);
将左上角的坐标为(left,top),右下角的坐标为(right,bottom)矩形上的字符拷贝到由buf所指向的内存。
(1)坐标是屏幕绝对坐标,不是窗口的相对坐标。
2columns
(2)保存屏幕上一个区域所需要的内存数量可按照公式:
rows
原因是屏幕上每个字符要求两字节的存储单元,一个字节存放字符本身,另一个字节存放该字符的属性(显示属性)。
7、puttext函数
puttext(intleft,inttop,intright,intbottom,void*buf);
将原来由gettext函数存储到buf所指向的内存中的字符拷贝到左上角的坐标为(left,top),右下角的坐标为(right,bottom)的矩形区域中。
坐标是屏幕绝对坐标,不是窗口的相对坐标。
8、bioskey函数
intbioskey(intcmd);
该函数原型在bios.h中。
bioskey完成直接键盘操作。
cmd的值决定执行什么操作。
如果cmd的值是0,bioskey返回下一个在键盘上键入的值(它将等待到按下下一个键)。
它返回一个16位的二进制数,包括两个不同的值。
当按下一个“普通键”时,它的低8位数存放着该字符的ASCII码。
对于“特殊键”,低8位为0。
特殊键包括箭头键,功能键,shift,Alt键等。
高8位存放该键的扫描码。
当cmd的值是1时,bioskey查询是否已经按下一个键。
当按下时,它返回它返回非0值;
否则返回0。
例如:
while(bioskey
(1)==0);
/*查询是否已经按下一个键,没有按,继续查询。
*/
key=bioskey(0);
/*获取键入的键值*/
key=key&
0xff?
0:
key>
>
8;
if(key==45)exit(0);
/*按Alt+x或Alt+X,退出*/
if(key==30);
/*按Alt+a或alt+A*/
…
…
参考文献:
[1]谭浩强.
C程序设计(第三版).北京:
清华大学出版社,2005
[2]谭浩强.
C程序设计题解与上机指导(第三版).北京:
清华大学出版社,2005
学员信息管理查询系统
一、设计目的
理解程序设计的思路,掌握结构化程序设计的方法,综合使用C语言进行程序编写,巩固常用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培养。
1.学员数据包括:
学号,姓名,性别,电话,生日,宿舍,家庭住址,成绩(数学,英语,物理)
2.使用链表处理的方法。
3.实现功能:
●添加数据
●删除数据
●查询数据
●修改数据
●分组显示数据
●链表数据可以保存在文件中
●链表数据可从文件中读出
●有命令菜单提示
4.编写的程序要求完整实现功能,用户界面友好,程序运行可靠。
实验报告的内容依次为
1.设计名称
2.设计目的
3.设计环境(软件、硬件及条件)
4.设计内容介绍(需求规格说明,要解决什么问题)
5.程序流程图
6.程序测试及使用说明
7.程序清单和注释
8.用A4写实验报告书,封面统一,并提交实验报告的电子文档,按班级刻录成光盘。
以班为单位,每个学生建立自己的目录,资料都放在自己的目录内(目录名包含姓名学号)
6.注意采用模块结构,程序由简到繁,各个函数调试通过后再组合一起调试。
7.DOS下菜单显示和命令接受界面设计:
8.数据输入操作界面设计:
9.数据链表的操作
10.注意使用调试手段
E.菜单设计
F.相关链表操作函数(参考课本例题)
6.建立Creat()
7.插入insert()
8.删除Del()
9.实现查找节点功能find()
10.输出显示Print()
G.相关链表文件操作(参考设计)
3.保存链表到文件:
4.从文件装载链表
H.相关文本窗口操作函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 指导书