还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计任务书计算机科学与技术专业年级—班—
一、设计题目教师信息管理系统设计
二、主要内容教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等教师号不重复试设计一教师信息管理系统,使之能提供以下功能1系统以菜单方式工作2教师信息录入功能输入3教师信息删除功能4教师信息浏览功能--输出5查询和排序功能至少一种查询方式-算法按教师号查询按职称查询等
三、具体要求围绕课程设计得目得和意义,基本要求如下
1、认真阅读《C语言课程设计》指导书,明确课程设计得目得、
2、
2、2教师信息浏览函数p=head2g2链表『显示“还输出所指向得位置中得教师得所有信息P未录入p=p-next过信息”示程詹唯作镌超^为空就就是提供了可以浏览之前保存在文件中得信息得功能,当选择该功能时就调用了一个读取文件得函数该函数只就就是对文件读写得简单应用,详细请看后面第三部分代码,这里不写出其N-S图P中得教师号,选择其她查找方式时类似、、教师信息排序函数225排序也跟查询一样给出多种排序方式并采用菜单栏函数,此处也只head=p2p3-next=p2p2-next=pli=l上当i小于n时序万j=o当j小于n-i时Pl=p2pl-next=p4p2=p2-得对应管竺犬p4=p2-nextp3=plp1二headp2=pl-next调用教师信息浏览函数p3=p2p2=p4Ion gnum;//教师号ch a r name
[20];〃姓名char sex
[5];//性别o intage;//年龄char edu
[20];〃学历c har t itle
[20];//职称o longwa ge;//工资ch ar a d dr
[100];//地址c hartelepfl5];//电话s tmet t e a c he r*next;//指向下一个结点}*h ead=N ULL;v oidk ey//口令检查得函数i n t i;long a;fori=0;i3;i++printf请输入口令还可输入%d次\n,3-i;scanff%1da;b ifa==123456//检查口令就就是否正确p rin t f(欢迎进入系统\n);obre a k;els e print f(口令错误\n);0}i f(i==3)//判断可以输入口令得次数就就是否用完printf(可使用得口令输入次数已用完,将自动退出!\n);()ex it0;voi dsave//把数据存入文件得函数FILE*fp;i n t i;6c har
[20];struct t ea Ch er*p;print f(\n就就是否把此次登录系统录入和修改后得教师信息保存到文件中\n”);p ri nt f n1:【就就是】0【否】n请选择:;scan fn%dn,i;wh i1ei!=0i!=1〃判断输入得选择就就是否有效66print f选择无效,请重新输入正确选项:;s c an f11%d\i;ib ifi==1//判断就就是否选择了要保存p rin tf”\n请输入要保存数据得文件名巧;sc a nfn%sn0;if f p=f o penJwb==N ULL6p r intf\n无法打开文件\n;°exit0;6}forp=he a d;p!=NULL;p=p-nexti ffwr itep sizeofstr u c t teacher,1fp!=1D,0print fn\n此处数据有误\n”;f clos ef p;o exit0;v oidr eadO〃从文件读出数据得函数s tr u c t tea c h er teac h
[299]tem p;,;int i=0F ILE*fp;char
[20];p rintf”\n请输入存有教师信息得文件名sc an f%s iff p=f o pe nJrb==NU LL{p rin t f\n无法打开文件\n”;ex it0;fse ekf p广si zeofst ruc tteach er2;/,将位置指针从文,件末尾后退一个结构体得字节数*/frea dtemp,size of struct teach erJ,fp;/*从所指向得文件中读出数据存储到结构体变量tem p中*/fseek fp,0,0;〃将位置指针移到文件得开头iff readteach[i]si zeo fst ruct teacher1==1/*判断文件开头读入得数据就就是否为空文/p rintf\n存有得教师信息如下:\n;whi1eteach[i]、num!=temp、num//进行循环读取文件6b printf教师号:%1d,姓名:%s,性别:%s,年龄:%d,学历:%sj,teach[i]num teach[口、name^te a c h[i]s ex,tea c h[i]、a ge t e ach[i]、e du;pr i ntf取称:%s\n月薪%ld,住址:%s,电话%s\n二teach[i]tit1e teach[i]、wage t e ach[i]ad dr,t e ach[i]、telep;,i=i+l;f readt e ach[i],s izeofs truct teacher,1,fp;/*从文件中读入数据存储到结构体变量tea Ch[i]中*///输出文件中得最后一个信息printf教师号%1d,姓名%s,性别%S,年龄:%d,学历:%s;:te a ch[i]num,te ach[i]n ame,teach[i]se x te a ch[i]、ag ee ach[i]、edu;p rin tf职称:%s\n月薪%1d,住址:%s,电话:%s\n te ach[i]、tide.teach[i卜wage te ach[i]、add r,te ach[i]、tele;p fclosefp;6e1s ep ri n t f该文件中无教师信息\n;〃文件为空时输出此处void cr ea t//录入教师信息得函数stru c11eaC her*pl,*p2,*p3;°pl=p2=struct teacher*ma1locLEN;/*申请一个结构体字节数得空间用来存储一个教师得信息*/p rint f请输入一位教师得教师号结束录入请输入0:“;s Can fp1—num;i fpl—num!=O//判断用户就就是要结束录入还就就是要存储信息i fhead==NULL h ead=p1;/*判断链表就就是否为空,就就是则将链表头指向pl*/else//链表不为空则将链表尾指向pl6p3=h ead;//p3用来记录链表得尾部w h ilep3—nex t!=N ULL/*若p3不就就是链表尾则将p3指向下一个结点*/0Q0p3=p3-next;p3-n ext=pl;//将最后一个结点指向plwhilepl-num!=0//判断用户就就是否结束录入功能//录入该教师号得教师对应得信息prin t f姓名;0scanf%s11,pl-nam e;print f性另U;°°s Ca nf%s,pl—sex;printf“年龄”;s c anfH%d H,pl—a ge;°printf学历;sea nf%s p l-ed u;printf职称巧;s canf”%s npl-t it1e;sprintf月薪:;sea nf%Id,pl-wage;p rintf住址D;scan fn%s11,pl-a d dr;,p rintf电话”;scan f11%s p1—te1ep;n=n+l;//给统计录入得教师数n加一/*判断就就是否为第一个录入得信息,就就是则将链表头指向p1,否则将p2指向pl*/ifn==1head=p1;else p2-n ext=pl;p2=pl;//p2用来记录链表得最后一个结点pl=s truc tteach er*mallocLEN;//重新申请空间意义和要求;
2、快速总结C程序设计语言得精髓,如:函数得概念、函数得设计和函数得调用;
3、快速熟悉Tuber C或C++得上机环境能熟练进行高级编辑操作(特别就就是字块操作);熟悉步进式、断点跟踪得程序调试方法,提高工作效率
4、根据“课程设计题目”,采用结构化得程序设计思想,确定系统得总体设计方案、确”定时间进度如果就就是多人共一题,则要首先完成小组内得人员分工及安排,不允许重题现象
5、学习并了解良好得程序设计风格按质、按量、并按时间完成课程设计得任务
6、提供可运行得课程设计系统,参加上机面试答辩本次课程设计得重点就就是:学会设计并编写函数,掌握好各函数之间得调用关系;利用文件操作函数,建立数据库并完成对数据库得各种操作;掌握几种典型算法得应用(如:冒泡法、选择排序法和折半查找法)同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档得综合处理能力,从
四、进度安排实践中学习并体会程序设计得结构化思想和设计方法bpr i ntf(请输入一位教师得教师号(结束录入请输入0):);()°sc a nf%ld,p1-num;p2—n ex t=NU LL;//将最后一个结点指向空v oi dp ri n%//输出教师信息得函数str uc ttea c her*p;i nt i;s p=head;if(head!=NULL)//判断链表就就是否为空°p rin tf(\n这%(1位教师得信息为、n,n);s do6(…pr i ntf(教师号:%ld,姓名%s,性别:%s,年龄:%d,学历:%s,职称:%s\nn,p-num p-n ame,p-s ex,p-a gc,p-ed u,p-tit,);1eo printf(H月薪:%ld,住址%S)电话:%s\n11p-wage,p-a ddr,p-5telep;°°p=p-n ex t;//将下一个结点得首地址赋给p}whilep!=NU LL;//到链表尾时结束循环ie Ise//链表为空时执行以下部分6pr i nt f”\n您此次登录系统还没有录入教师信息,可进行以下操作:\n;p rin t ff1:【浏览以前保存在文件中得教师信息】2:【开始录入教师信息】\n;…p ri ntf3:【退出系统】4:【返回菜单】\n;printf”请选择巧;s canf11%d,i;°w hilei114print f选择无效,请重新输入正确选项:;S canfH%d,i;bifi==l read;//调用从文件读取数据得函数ifi==2crea t0;//调用录入信息得函数ifi==3exitO;//退出系统6}voi ddel//删除教师信息得函数°str ucttea cher*pl,*p2;6lo ng i;i fhea d二二NULL//判断链表就就是否为空606printf\n还未录入过教师信息、n;//链表为空时输出r e tu rn;p rintf”请输入要删除教师信息得教师号n;%scan f”ld”,i;p l=head;w hi1ei!=pl-n um〃直到p1指向得结点就就是要删除得信息位置i fpl—n ext==NULL b r ea k;//pl得下个结点为空则退出循环p2二pl;//p2用来记录p1得前一个结点pl=pl-ne xt;//pl指向下一个结点6}ifi==pl-n um//判断p1就就是否为要删除得信息if pl==h e ad h e ad=pl-nex t;/*若pl为头结点则将头指针指向pl得下一个结点*/66el s ep2-next=pl-next;/*p1非头结点则将pl后面得结点连接到pl前一个结点得后面*/printf”\n已删除教师号为%1d得教师信息\n”,i;n记录教师数得n要减一//pl不就就是要删除得信息则表示要删除得信息不再链表中6e1se p rint f\n已录入得教师信息中没有教师号为%ld得;\n,ivoid so r tl//按教师号进行排序得函数struct teac her*p1,*p2,*p3,*p4;7i nt i,j;s i fhead==NULL{p ri ntf\n还未录入过教师信息、n”;o r e tu rn;0i fhe a d-n ext!=NULL//判断就就是否只有一个信息{//用冒泡法排序白pl=he a d;//p1记录用来比较得两个结点中得前面一个p2=he a d-ne xt;//p2记录比较得两个结点中得后面个f o ri=l;i n;i++//实现n-1趟比较得外循环6for j=0;j n—i;j++//在每一趟中进行n—i次比较得内循环o01°i fpl—num p2-num/*比较相邻两个结点中教师号大小*/{//当pl得教师号大时则对调两个结点得位置ifpl==h ea dh ea d=p2;66else p3-n ext=p2;/*pl为头结点时则将头指针指向p2,否则就将p2连接到用来记录pl前一个结点得p3得后面*/p4=p2—nex t;//p4用来记录p2后面得结点660p2-n ext=p1;//pl得结点换到原来p2得位置pl-n ext=p4;//原来p2后面得结点连接到p1b°b o p3=p2;//p3记录下p2得位置b p2=p4;//p2指向原来位置得下一个结点000}°e1s e/*pl中教师号没有打过p2中教师号,则将pl,p2都指向她们各自位置得下一个结点*/00Jp3=pl;//记录pl后移一位后她前个结点得位置o oop2=p2—n ext;0}6}6pl=h ea d;//pl指向链表头,开始下一趟外循环得准备b°°p2=pl—ne xt;〃p2指向链表第二个结点6}pr i ntf”\n按教师号排序后得教师信息如下\nn;print;//调用教师信息浏览函数v Olds ort2//按月薪排序得函数,算法跟按教师号排序得一样]struct tea cher*pl,*p2,*p3,*p4;int i,j;if he a d==NULL6{pr intf\n还未录入过教师信息、n;return;if h ead-next!=NULLpl=head;p2=h ead-n ext;00fo ri=1;in;i++boforj=O;j n-i;j++i fp1—wage p2-wageooi fpl—head he ad—p2;0else p3-n ext=p2;b;p4=p2-nex tbp2-n ext=p1;o Dpl-nex t=p4;;°p3=p2P2=p4;oo els e000{;000P3=pl;0°P1=P2o o o oop2=p2-next;00};o pl=h eadop2=p1-next;60}pr i ntf\n按月薪排序后得教师信息如下:\n”;p rin t;VO id so rt3//按年龄排序得函数,算法跟按教师号排序得一样°s truct teacher*pl,*p2,*p3,*p4;in t ij;ifhead==N ULLp rintf\n还未录入过教师信息\n;return;0if head-n ext!=N ULLb1b pl=head;op2=head-nex t;for i=1;in;i++o forj=0;jn-i;j++0{0if pl-a gep2-age060{ifp1==head head=p2;beo©1se p3-n ext=p2;p4=p2-ne xt;o0b依照教学计划,课程设计时间为3周按照软件工程得思想,软件系统得分析设计至关重要,并要充分重视书写“文档”避免甚至杜绝“拿到题目就编码”得现象建议将时间分为三个阶段第一阶段,根据题目要求,拿出系统得总体设计方案:即构思各程序模块得算法,并画出相应得N—S图,同时编写相应得文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过得各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩三个阶段时间分配得大概比例就就是35:45:20o
五、完成后应上交得材料
1、课程设计得题目、系统得总功能和各子模块得功能;
2、题目得设计思想或算法简述;
3、主要程序得框图要求用N-S图;
4、源程序代码要求在关键得位置有注释,从而增加程序得可读性;
5、课程设计得总结报告,主要包括以下内容1课程设计中遇到得主要问题和解决方法;2您得创新和得意之处;3设计中存在得不足及改进得设想;ooop2-next=pl;pl-n ext=p4;6p3=p2;p2=p4;B00}o else00{p3=p1;op1=p2;op2=p2-n ext;00}00};o bpl=h eadop2=pl-ne xt;0b printf”\n按年龄排序后得教师信息如下:\n Hpr intQ;void chooSei//选择排序方式得函数;*in tip rintf排序方式\n”;p rintf1【按教师号排序】2:【按年龄排序】n”;p rintf3:【按月薪排序】\n;6printf请选择;sea nfn%d,i;,whneil||i3printf选择无效,请重新输入正确选项:;scanf“%d,i;0}sw it chi白case1:sort!Q;b reak;case2:s ort3;b reak;case3sort2Q;b reak;vo id searchi0//按教师号查找得函数st ruct teach er*p;long i;//存储用户输入得想要删除得教师号ifhea d==NULLpri ntf”\n还未录入过教师信息n”;oretu rn;ib pri ntf请输入要查找得教师信息得教师号:;scanf%ld,i;f or p=head;p!=N ULL;p=p—ne xt//p顺序指向结点与i比较,找出有i得数据得结点并输出0b i fp—n um==ip rintf教师号:%1d,姓名:%s,性别:%s,年龄:%d,学历:%s)职称%s\n n,p-num p—n amep-sex,p,);—age,p—e du,p-t itle5pri ntf(n月薪:%ld,住址:%s,电话:%s\n H,p-w age p-a)ddp-telep;ret urn;bprintf(已录入得教师信息中不存在该教师号\n”);void search2()//按姓名查找得函数5tract teacher*p;chari
[20];//记录用户输入得想要删除得姓名int尸0;//j用来记录找到了多少个信息()if head==N ULL{aprin tf(H\n还未录入过教师信息、n);o ret u rn;printff请输入要查找得信息得教师姓名”);;scan f11%s,i°fbrp=head;p!=NULL;p=p-next°°ifstrcmpp-nam e,i==0//比较p指向得结点中得姓名跟i得就就是否一致,就就是则输出0{printf教师号%ld,姓名:%s,性别%s,年龄:%d,学历:%s,职称:%s\n,p-n um,p—na m e,p—sex,p-ag e,p-edu,p-titie;66p rintf月薪:%ld,住址:%s,电话:%s\n,p-w age,p-a ddr,p-telep;j=j+1;//每输出一个教师得信息则j加一ifj==0p rintf已录入得教师信息中不存在该姓名得教师\n;void search3//按职称查找得函数,算法与按姓名查找得一样s truct teacher*;Dcha ri
[20];;0in tj=oo ifhead==NUL L0{op rintf11\n还未录入过教师信息\n;oreturn;printf请输入要查找得信息得教师辞称”;scanfH%s forp=head;p!=NULL;p=p-n ext°ifstrcmp p-tide,i==0p intf”教师号:%1d,姓名%s,性别%s,年龄:%d,r学历%$,职称%$\11”狂1111111刀-n ame,p-sex,p-a ge,p-e du,p-title;…prin tf”月薪:%1d,住址:%s,电话:%s\n”,p—wa ge,p-a ddr,p-te1ep;产j+l;001if(产二0)p rintf(”已录入得教师信息中不存在该取称得教师iivo id sear ch4//按年龄查找得函数,算法与按教师号查找得一样st ruc ttea cher*p;inti,j=0;ifh ead二二NULL{a6printf\n还未录入过教师信息\n;return;6printf请输入要查找得信息得教师年龄巧;;s canf11%d,i;f orp=h eadp!=NULL;p=p-n ext°b ifp—age==i6p rintf教师号:%ld,姓名:%s,性别%s,年龄%d,学历:%s,职称:%s\n H,p-num p—name p—sex,p-agep-e du p-title;pr intf月薪:%ld,住址:%s,电话%s\n)—wage,p-addr,p—telep;;60J=j+l6)if(j==O)p rintf(已录入得教师信息中不存在该年龄得教师);\nv oidchoose2()//选择查找方式得函数inti;prin tf(n查询方式\n”);print f(“1【按教师号查询】2:【按姓名查询】n”);printf(H3:【按职称查询】4:【按年龄查询】n”);pri ntf(请选择);°s Canf%d,i;whi1e il||i4°p rintf选择无效,请重新输入正确选项scan f%d,i;0}sw it chicase l:searchlQ;b reak;case2:se arch2;b reak;o case3:s earch3;b reak;b case4:search4;break;iv oidmenu//菜单栏函数inti;pr intf菜单\n H;printfn1:【教师信息录入】2:【教师信息输出】\d;pr intf3:【教师信息删除】4:【查询个人信息】\n”;p rintf5:【排序】6:【退出系统】\nH;prin tf请选择;sea nfn%d11i;5whil ei1||i66printf选择无效,请重新输入正确选项:“;sea nf”%d”,i;65wi tchi;case1:c reatbre ak;case2:print;break;cas e3:de1;bre ak;c ase4:choo se2Q;br eak;ca Se5:choosel;break;4本次课程设计得感想和心得体会以上完成得源程序及相关文档,填写在《课程设计说明书》上,要求干净整洁,符合课程设计得要求和规范
82、
922、4教师信息查询函menuQ;void main//主函数;key0menuQ;程序运行效果图、登陆界面41■,E:$原程序\课程设计\5\Debug\2010314124琮金小xe,请输入口令(还可输入次〉3■E:\iI®\^W\5\Debug\2010314124^^J.exe-情输入口令(还可输入次》:3123456陕迎进入系统菜单「【整师信息录入】3息人统【赘姓后息删除】5:师询出出【排序】饕退、录入功能43・E UI程序\谖理设计\5\Debug\2010314124琮等J.exb菜单「【教师信息录入】息师询出饕退出请选择1请艳入一位教师的教师号(结束录入请输入进0)2各陈全性剧:男年龄23学办主科职也配及教师月薪:3000住V一---I---t-工-佛,山b・市禅・城・・bbP-区--------------江--------------湾-一▼路--1-VV8号▼电话:34234233234需输入一位教师的教师号〈结束录入请输入〉菜单0息人统出饕退情选择:[[[[[[[[[UUJ1课程削\5\Debug\2010314124除的ij.exb电话34234233234请输入一位教师的教师号(结束录入请输入〉0菜单出1±1息人统国录息师询出、【排序】5入】、45k言息删除】青选择2图位教师的僚鼬:教师删除号星老味全,月薪特才、耳万驾2师木学一.住址:3000功能湾朝江龄区年城1[录删出3[自3自心息息5[师询出、*、4-IV师师序请选择.1m=m=,32:„/lnpn,
8.]t182332U•E:\源程序\课程设计\5\Debug\2010314124除金利,exe”【赘州弱、录出息1息人统【物楣息删3:出饕退【排序】5请选择3请输入要删除教师信息的教师号:已删除教师号为的教师信息3菜单【婺师信息录入】出息息师解专息删除】询出薯退请选择:、查询功能46闻T-I•E:\iI®\il^;Si+\5\Debug\2010314124^^iJ.exew出息人统息入除师询出录删自心自8请选择量退4【助姓若拿闸】币号查询】4接年器查询】1尔查询】请选择1A*A,舞鸳量师信息的袈:瞿弱学历:研究生,职称:讲师月薪住址:怕云区,电话4000,__________菜单力【整师值息录入】23-寤瘠息删除】4请选择U[[[642,E:\i唳程序\课程设计ODebugHOKBUlZd陈金利.exe-五.总结报告菜单1:【整婀值悬录入】富野息删除】
3、课程设计中遇到得主要问题和解51【韭6主排序方式【按年龄排序】1L决方法2:L3:青选择1在这次得C语言课程设计得编程中,由于以前对链表和文本币划整李住币号、学最干簟心称职高级鬣本lull夏件这两部分得内容了解过币月舌职叱尘希名名也弓、研全剂丁土号押生整龄江龄餐研考月金年区年堇科舜区少,因此在编程中涉及到这两主力号单究电月究历螯方面得内容时,麻照成了很大得阻碍,退入除录删麻自3自少息师询制序菜最主要就就是在对链表得结出点进行交换,对文件某些特殊得读写不清楚而且由于第一次接触这类比较复杂一点得题目,在循环方面得应用有所不足,这也就就是一个问题在遇到这些问题叱对于每一个问题在实在无思路叱我首先会查阅相关得书籍,像文件中末尾读起得方法,在通过查看C语言得书后我才知道原来有专门得库函数可以用;在查阅完书籍确定该了解得基本内容已2/Hi/ni/ni3⑶⑸Q00rul005314■■00I:-^-40■mU3-34HHU240HU::134:432238124341255442443642114了解之后,自己再重新思考算法,然后不断得在VC++中调试,根据她得提示修正错误,直到编译无错且运行得结果正确为止、您得创新和得意之处52这个教师信息管理系统不仅按要求可以让用户自己选择要实现录入,浏览,查找,删除,排序中得任一种功能,而且在退出系统时为用户提供能就就是否要保存该次得信息到文件中得选择且在浏览中当检查到用户该次登录还未录入过信息叱提供了就就是否要查看以前保存得文件得功能、设计中存在得不足及改进得设想53在设计过程中,由于对C语言得理解不够透彻,特别就就是链表和文件方面边查书边调试才写出来得,所以导致程序在一定程度上得不严密,例如浏览其她文件得信息只有在检测到该次登录还未录入过信息时才会提供用户选择之类得当然,最主要得原因就就是由于第一次接触这种较复杂点得题目,在算法得设计上不好,才导致程序过于冗长不严谨得程序在查找和排序时其实可以不用每种方式都写一个函数得,这样程序就不会显得过于冗长而且系统提供功能选择方面也可以再调整得更完善、本次课程设计得感想和心得体会54从拿到题目到完成得三周时间里,我了解到了原来在C语言得方面得应用我所存在得不足,更掌握了很多之前不懂得知识在此次得课程设计中,刚接触到题目时我就发觉了一个被我遗忘了得严重问题,那就就就是编程得能力只有通过不断敲写代码才能保持和提高得由于过长时间没有写过代码得缘故,在拿到以前已经编过得简单题目时我也得查找书籍才最终编写完成,这重新提醒了我在编程方面实践得重要由于第一次拿到设计一个系统这样比较复杂得题目,尽管最后设计出来得系统很简单,当中间我所遇到得问题还就就是很多,甚至比学C语言时做过得所有题目遇到得还多因此在编程时我几乎又把C语言得整本书重新看了一遍,有了更深刻得认识另外,在这次得编写中,我了解到了以前所未了解得一个很重要得地方,就就就是设计算法得能力因为以前所接触得题目都比较简单,所以没有专门想过设计算法,跟没有意识到其重要性,这次得题目让我明白了要编写出一个好得程序,设计一个好得算法就就是非常必要得由于开始我在设计算法方面得意识不足,导致这次写出来得代码很累赘很繁琐,这时非常不好得另外,我发现细节得注意不管就就是多熟悉编程了都很必要得,即使到最后快完成得时候我也会犯下缺函数得括号,语句缺冒号之类得小错误虽然这次完成题目得结果不太好,但能够自己独立完成还就就是带给了我很大得喜悦这次课程设计使我意识到自己得多处不足,让我有机会去改进,为以后得编程之路打好基础,以后我还会自己多些找题目来实践,以提高我得能力
375、4本次课程设计得感想和心得体会一.题目设计思想简述如上图所示,该教师信息管理系统主要就就是一个以动态链表得应用为基础来实现对教师信息得录入,查询,删除等功能定义教师结构体如下str uctte acher1on gnum;//教师号char name
[20];//姓名cha rse x
[5];//性别intage;//年龄°ch ar cdu
[20];//学历cha rtit1e
[20];//职称long wage;//工资o chara ddr
[100];//地址char telep
[15];//电话S tructteacher*next;}*head=NULL;主函数只进行口令函数和菜单栏函数得调用,主要工作通过菜单函数实现口令为123456O菜单栏函数通过用SW itch语句实现不同功能得选择,不同得功能用不同得子函数实现录入教师信息通过建立动态单链表来实现浏览教师信息则通过将链表所有数据顺序输出来实现查询功能只要从链表头开始不断往下一个结点读取信息跟所要查找得信息比较,直到读取到得信息跟所要查找得信息相同或链表尾为止,并把此结点得信息输出删除教师信息得函数就就是通过查找链表中有该信息得结点后将该结点移出链表和使该结点前一个结点直接指向该结点后面得结点来达到删除信息得目得排序函数就就是通过交换结点在链表中得位置来实现得,即使得各结点在链表中得位置便就就是所要得到得排序该信息应在得位置,这样直接顺序输出链表得信息时就能按所要得排序输出了二.程序得N—S图子函数主要包括教师信息录入,教师信息浏览,教师信息删除,教师信息查询和教师信息排序等5个在退出系统时调用了一个保存信息到文件中得函数,该函数只就就是简单得应用了文件得读写功能,在此不写出其N—S图全局变量,用来统计链表得结点数,以下出现得n都就就是同一个。
个人认证
优秀文档
获得点赞 0