计算机科学与应用系课程设计报告文档格式.docx
- 文档编号:18372388
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:159.98KB
计算机科学与应用系课程设计报告文档格式.docx
《计算机科学与应用系课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《计算机科学与应用系课程设计报告文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
1:
程序分析3
2:
概要设计3
3:
详细设计3
3.1:
单链表4
3.2:
输入职工信息4
3.3:
显示信息6
3.4:
删除信息7
4:
调试分析7
5:
测试结果13
6:
总结16
指导教师评语:
17
职工档案及简明信息生成系统
程序分析
输入部分,要求用户能从屏幕上格式化输入所要求的数据项,例如添加信息的时候输入职工的基本信息:
姓名、性别、工号、年龄,本程序为方便调试设定输入职工数为10个职工的信息。
然后通过对链表的操作进行职工信息的添加、显示、删除,最终结果将在屏幕上输出职工的简要信息。
概要设计
本程序的流程图如下:
.
详细设计
采用C++6.0作为开发工具,用结构体定义单链表,对所要处理的职工信息进行要求操作,分别调用各个功能函数来处理。
单链表
信息的存储用链表实现,具体用结构体来定义,其包含的变量有姓名、性别、序号、年龄、下结点指针,具体实现如下:
{
charname[30];
charsex[10];
unsignedintnId;
unsignedintnAge;
};
输入职工信息
为方便调试之用,本程序设定输入职工数为10,具体实现代码如下:
structwk_long
structwk_s
intReadin(wk_longworkerS[],intnLength)
for(inti=0;
i<
nLength;
++i)
printf("
请输入第%d位职工信息:
\n"
i+1);
printf("
请输入职工姓名(在输入姓名后请按Enter):
);
scanf("
%s"
workerS[i].name);
请入职工性别(在输入性别后请按Enter):
workerS[i].sex);
请输入职工序号(在输入序号后请按Enter):
%d"
&
workerS[i].nId);
请输入职工年龄:
&
workerS[i].nAge);
}
return0;
显示信息
本程序可提供信息输入后的查询显示功能,具体实现如下:
intDisplay(wk_long*pWorker)
\:
%s\n"
pWorker->
name);
职工性别:
sex);
职工序号:
%-5d\n"
nId);
职工年龄:
%d\n"
nAge);
return0;
intselect(wk_long*pWorkers,wk_s*pWks,intnLen)
nLen;
strcpy(pWks[i].name,pWorkers[i].name);
pWks[i].nAge=pWorkers[i].nAge;
删除信息
方便用户根据需要对数据进行数据修改,本程序提供数据的多次修改功能,具体实现如下:
intdelwk(wk_s*pWks,wk_long*pWorkers,intnInd)
if(pWks[nInd].name[0]==0)
printf("
Thepeopleoftheindexisnotinthesimplelist\n"
memset(&
pWks[nInd],0,sizeof(wk_s));
pWorkers[nInd],0,sizeof(wk_long));
TheInformationabouttheindexofthelistisdeleted\n"
return1;
调试分析
程序源代码:
#include<
stdio.h>
stdlib.h>
string.h>
{printf("
scanf("
请输入职工工号(在输入序号后请按Enter):
职工姓名:
职工工号:
intDisplayHelp(void)
1.输入数据\n"
2.显示原始数据\n"
3.制作简明数据\n"
4.删除简明数据\n"
5.Goodbye!
Input1-5:
intmain()
wk_longworkers[10];
memset(workers,0,sizeof(workers));
wk_swkShort[10];
memset(wkShort,0,sizeof(wkShort));
intnInput;
intnInd;
while
(1)
DisplayHelp();
nInput);
switch(nInput)
{case1:
Readin(workers,10);
break;
}
{case2:
10;
if(workers[i].name[0]!
='
\0'
)
{a
第%d位员工的简明信息:
Display(&
workers[i]);
{case3:
select(workers,wkShort,10);
{case4:
PleaseInputThedeleteindex:
"
nInd);
delwk(wkShort,workers,nInd);
{case5:
default:
}
在调试过程中,主要遇到以下几个问题;
(1)在课程设计代码调试过程中出现了不少差错,头文件很容易忽略,一些符号容易忽略。
(2)调试过程中反复出现错误,最后发现了这个问题:
在switch...case...结构中不能在case中定义新变量,除非将定义新变量的case用块{}包住,或者选择将你的新变量在switch之前。
巩固了一些知识。
(3)链表悬空,死循环,通过对程序的修改、用户操作提示解决;
(4)界面的美化,同学交流,听取用户意见;
测试结果
对每一个操作功能调试,修改调试之后,结果一切正常后,用户可以按照程序的提示,只需输入操作的序号,便可轻松实现所需功能,以下是对本程序结果的一些截屏:
添加信息
显示所有职工的信息
总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程通过对这次程序设计,在指导老师的悉心教导下,我学到了很多,比如面向过程的设计方法,针对单个问题,单独解决,逐步求精等软件分析设计方法,提高了分析问题、解决问题的能力,同时对循环语句有了更好的理解和运用,对函数间的数值传递方法有了进一步的了解,巩固了很多以前学习的东西。
通过这次设计,感到程序设计的难度,同时在程序设计过程中所需要的严谨,认真是极其重要的,同时明白了数据的存储分析及算法设计在程序设计中占据着十分重要的地位,是程序执行效率的内部体现,也让我在不断克服困难逐步成长的过程中对程序设计产生了更加浓厚的兴趣。
在此,对老师在程序设计过程中给予的指导表示衷心的谢意。
成绩:
指导教师姓名:
批改日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 应用 课程设计 报告