c语言程序报告Word文档下载推荐.docx
- 文档编号:15175077
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:21
- 大小:413.49KB
c语言程序报告Word文档下载推荐.docx
《c语言程序报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言程序报告Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
教师授课信息的添加
教师授课信息的删除
各种数据的查询
如:
查询指定年份的各种教师工作量。
查询制定教师编号,指定年份的工作量。
查询制定教师编号,指定年份的授课信息。
查询制定课程编号,指定年份的授课信息。
2、系统
采用C语言实现,开发环境为VC,可以运行在操作系统windowsXP及以上皆可。
3、运行要求
能不受限制的杜如各种数据。
(课程信息,教师信息,授课信息)
界面友好,操作方便,例如删除前需要提示用户删除提示。
主界面设计美观。
二、总体设计
1、系统流程设计
根据系统要求,设计如下的系统流程
2、系统模块设计
根据系统的功能设计,如下模块
主界面模块:
完成系统菜单的显示
功能选择模块:
根据用户的选择,完成其相应的功能
查询功能1模块:
完成用户从界面输入查询年份,显示相应年份各个教师的工作量。
查询功能2模块:
完成用户从界面输入查询年份,和教师编号,显示相应年份指定教师工作量。
查询功能3模块:
完成用户从界面输入查询年份,和教师编号,显示指定教师授课信息。
查询功能4模块:
完成用户从界面输入查询年份,和教师编号,显示相应教师信息。
添加授课信息模块:
完成用户从界面输入“教师编号,授课时间,班级数量”
并将其保存到data3.txt中。
删除授课信息模块:
完成用户从界面输入需要删除“教师号,授课时间”
并将其从data3.txt文件中删除。
三、详细设计
1、数据结构设计
根据系统要求,系统中需要保存的课程信息,其结构如下:
数据项名称
系统表示
数据类型
数据长度
备注
课程编号
num1
整型
课程名称
Name1
字符串
10
课时
Num2
系统中需要保存的教师信息,其结构如下;
教师编号
num2
教师姓名
Name2
5
教师性别
sex
Num5
职称
call
系统中需要保存的授课信息,其结构如下;
Num4
授课时间
time
班级数量
clase
工作量
在添加授课信息时,创建一个授课信息的节点,将其添加到链表末尾中,示意图如下。
使用C语言创建的结构体如下:
Structteaching/*定义数据结构*/
{
Intnum4;
/教师编号
chartine[10];
/授课时间/
intclase;
/班级数量
doublework;
/工作量
structteaching*next;
};
2、界面设计
主界面:
根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字
用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。
查询界面1:
查询界面2
查询界面3:
查询界面4
添加授课信息界面5
删除授课信息界面;
3、模块实现
主界面实现:
调用printf()函数,在屏幕上打印需要显示的字符信息,需要在显示之前调用system(“cls”)函数将前面的界面清空。
对应的实现函数intmenushow();
功能选择模块实现:
接受从键盘输入的菜单选择,判断并调用相应的功能函数,完成其对应的功能。
实现功能选择。
对应的函数:
intmenuselect();
四个查询功能模块实现:
模块说明:
从键盘接收输入的相应教师编号,查询年份,然后让2个机构梯分别循环,同时也让链表开始遍历,当输入教师编号和查询年份与链表中相等时,则输出相应内容。
模块流程:
对应函数:
voidsearch1(structcourse*p,structteacher*q,structteaching*head);
voidsearch2(structcourse*p,structteacher*q,structteaching*head);
voidsearch3(structteaching*head);
voidsearch4(structteacher*q,structteaching*head);
添加授课时间功能模块实现:
从键盘接收输入授课时间,在动态存储区中创建授课信息的节点,遍历链表,将其添加到链表最后位置。
对应函数:
voidadd(structteaching*head,structteacher*q);
授课信息删除模块实现:
从键盘中输入删除授课信息,让链表开始遍历,当链表中某个节点的信息与输入信息相等时,则删除。
voiddele(structteaching*head);
四、测试结果
1:
查询1功能的测试
分析原因:
输入的查询年分布在1900~~2010之间,则最终无法显示相应的结果。
2:
查询功能2数据测试
输入的教师编号不在(1~~5)之间
输入的查询年份不是年份,同时也不在1990~~2010之间。
3:
查询3功能的数据测试
测试数据:
结果原因分析:
教师编号,查询年份均正确,为何没有结果出现?
主要原因是:
data3.txt文件中不存在“21991-1”或者“21991-2”
的数据。
故执行此功能,也没有正确的结果。
4:
添加授课信息的功能测试
数据测试
测试结果:
当打开data3.txt文件时观察到
虽然“22003-15”这条数据也进入了data3.txt文件中,但首行出现乱码?
主要原因是:
利用头插法构建的链表,首行种什么也没有装,当重新便利链表,并写到文件中去时,将乱码也写进去了。
解决方法:
在遍历链表时将程序段
m=head->
next;
while(m!
=NULL)
{
m=m->
fprintf(fp3,"
%d%s%d"
m->
num4,m->
time,m->
clase);
fputc('
\n'
fp3);
}
改成:
while(m->
next!
五:
课程设计总结:
课程设计感想:
在编程时,感觉到自己程序编写的格式不太美观,对应的不够整洁,无法给以爽心悦目的感觉。
编写程序时,有些变量的名称定义的不够准确,没有达到见此知意得效果,给后面的编译带来麻烦。
有些界面在开始完成时,做得不够温馨,不够人性,输入时缺少必要的提示。
开始完成时,主界面在编译时成功后,没有立即出现主界面,需要按任意键继续,因此显得不够人性化。
设计的亮点:
主界面人性化,将“树,车,星星”等画面加入了主界面中,是界面更加人性化,
在本程序设计要求外,另外添加了两个功能使得该系统更加全面和完善。
将文件中的数据装饰,使得更加显眼。
功能模块中每输入一步,则就有一部提示,即使输入错误,也可将其判别出来,并要求用户重新按照正常方法输入。
课程设计收获
通过本次课程设计,知道了如何来调试和编译大程序。
主要通过分功能,一个一个模块调试,或者在编写程序中,完成一个功能模块,则调试成功。
编译具体方法:
用模块中的指针和变量写入到watch1栏中,一步一步调试,观察指针和变量的变化。
3:
即使再大的程序也是一个一个的功能模块组成,只要晓得功能模块完成,然后用一个菜单函数将其串联起来,一个大的程序便完成了。
在定义变量时,尽量做到准确,使其见词知意,便于后面的调试。
在程序编写时,格式尽量做到有层次,花括号对应准确。
6:
在功能模块中,要提示用户怎样操作,即使操作错误,也能够准确的判断出,这样才使的程序更加人性化。
3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)