1、计算机科学与应用系课程设计报告3C语言程序设计课 程 设 计 报 告 书题 目:职工档案及简明信息生成系统系 别: 计算机科学与应用 学 号: 101006206 学生姓名: 董小建 指导教师: 薛海燕 完成日期: 2012年5月28日 目录:职工档案及简明信息生成系统 31:程序分析 32:概要设计 33:详细设计 33.1:单链表 43.2:输入职工信息 43.3:显示信息 53.4:删除信息 54:调试分析 65:测试结果 66:总结 7指导教师评语: 9 职工档案及简明信息生成系统1:程序分析 输入部分,要求用户能从屏幕上格式化输入所要求的数据项,例如添加信息的时候输入职工的基本信息:
2、姓名、性别、序号、年龄,本程序为方便调试设定输入职工数为5个职工的信息。 然后通过对链表的操作进行职工信息的添加、显示、删除 ,最终结果将在屏幕上输出职工的简要信息。开始2:概要设计选择功能序号 本程序的流程图如下: 添加、删除、显示保存数据选择退出功能序号3:详细设计 采用C+6.0作为开发工具,用结构体定义单链表,对所要处理的职工信息进行要求操作,分别调用各个功能函数来处理。3.1:单链表 信息的存储用链表实现,具体用结构体来定义,其包含的变量有姓名、性别、序号、年龄、下结点指针,具体实现如下: char name30; char sex10; unsigned int nId; unsi
3、gned int nAge; ; 3.2:输入职工信息输入职工信息,具体实现代码如下:struct wk_long char name30; char sex10; unsigned int nId; unsigned int nAge; ; struct wk_s char name30; unsigned int nAge; ; int Readin(wk_long workerS, int nLength) for (int i = 0; i name); printf(职工性别: %sn, pWorker-sex); printf(职工序号: %-5dn, pWorker-nId);
4、printf(职工年龄: %dn, pWorker-nAge); return 0; int select(wk_long* pWorkers, wk_s* pWks, int nLen) for (int i = 0; i nLen; +i) strcpy(pWksi.name,pWorkersi.name); pWksi.nAge = pWorkersi.nAge; return 0; 3.4:删除信息 方便用户根据需要对数据进行数据修改,本程序提供数据的多次修改功能,具体实现如下: int delwk(wk_s* pWks, wk_long* pWorkers, int nInd) if
5、 (pWksnInd.name0 = 0) printf(The people of the index is not in the simple listn); return 0; memset(&pWksnInd, 0, sizeof(wk_s); memset(&pWorkersnInd, 0, sizeof(wk_long); printf(The Information about the index of the list is deletedn); return 1; 4:调试分析 在调试过程中,主要遇到以下几个问题;(1) 链表悬空,死循环,通过对程序的修改、用户操作提示解决;
6、(2) 界面的美化,同学交流,听取用户意见;5:测试结果 对每一个操作功能调试,结果一切正常,用户可以按照程序的提示,只需输入操作的序号,便可轻松实现所需功能,以下是对本程序结果的一些截屏:添加信息显示所有职工的信息删除信息6:总结 通过对这次程序设计,在指导老师的悉心教导下,我学到了很多,比如面向过程的设计方法,针对单个问题,单独解决,逐步求精等软件分析设计方法,提高了分析问题、解决问题的能力,同时对循环语句有了更好的理解和运用,对函数间的数值传递方法有了进一步的了解 通过这次设计,我明白了数据的存储分析及算法设计在程序设计中占据着十分重要的地位,是程序执行效率的内部体现,也让我在不断克服困
7、难逐步成长的过程中对程序设计产生了更加浓厚的兴趣。借此机会,向敬爱的老师们表达我最诚挚的谢意。指导教师评语: 程序成绩: 报告成绩: 综合成绩: 指导教师姓名: 批 改 日 期: 年 月 日附:源代码#include #include #include struct wk_long char name30; char sex10; unsigned int nId; unsigned int nAge; ; struct wk_s char name30; unsigned int nAge; ; int Readin(wk_long workerS, int nLength) for (in
8、t i = 0; i name); printf(职工性别: %sn, pWorker-sex); printf(职工序号: %-5dn, pWorker-nId); printf(职工年龄: %dn, pWorker-nAge); return 0; int select(wk_long* pWorkers, wk_s* pWks, int nLen) for (int i = 0; i nLen; +i) strcpy(pWksi.name,pWorkersi.name); pWksi.nAge = pWorkersi.nAge; return 0; int delwk(wk_s* pWk
9、s, wk_long* pWorkers, int nInd) if (pWksnInd.name0 = 0) printf(The people of the index is not in the simple listn); return 0; memset(&pWksnInd, 0, sizeof(wk_s); memset(&pWorkersnInd, 0, sizeof(wk_long); printf(The Information about the index of the list is deletedn); int DisplayHelp(void) printf(1.
10、输入数据n); printf(2. 显示原始数据n); printf(3. 制作简明数据n); printf(4. 删除简明数据n); printf(5. Goodbye!n); printf(Input 1-5:n); return 0; int main() wk_long workers5; memset(workers,0,sizeof(workers); wk_s wkShort5; memset(wkShort, 0, sizeof(wkShort); int nInput; int nInd; while (1) DisplayHelp(); scanf(%d, &nInput)
11、; switch(nInput) case 1: Readin(workers, 5); break; case 2: for (int i = 0; i 5; +i) if(workersi.name0 != 0) aprintf(第%d位员工的简明信息:n, i+1); Display(&workersi); break; case 3: select(workers, wkShort, 5); break; case 4: printf(Please Input The delete index:); scanf(%d, &nInd); delwk(wkShort, workers, nInd); break; case 5: return 0; break; default: break; return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1