程序设计课程设计论文

上传人:321****123 文档编号:158768424 上传时间:2022-10-06 格式:DOCX 页数:58 大小:381KB
收藏 版权申诉 举报 下载
程序设计课程设计论文_第1页
第1页 / 共58页
程序设计课程设计论文_第2页
第2页 / 共58页
程序设计课程设计论文_第3页
第3页 / 共58页
资源描述:

《程序设计课程设计论文》由会员分享,可在线阅读,更多相关《程序设计课程设计论文(58页珍藏版)》请在装配图网上搜索。

1、 课程设计课程名称 程序设设计课程程设计 班级与班级级代码 20111级信信息管理理1班 专 业 信息息管理 指导教师: 胡玉玉平 学 号: 111255110011221 姓 名: 蓝俊杰杰 提交日期: 20012 年年 6 月 233 日日 广东商学院院教务处处 制制姓名 蓝蓝俊杰 课程程设计成成绩 评语:评价内容不及格及格中良优表达精练,格格式准确确,基本本无错别别字内容完整,思思路清晰晰,结构构严谨,设设计科学学,可操操作性强强程序能完成成课程设设计任务务书所规规定的任任务,功功能完善善,独立分析和和解决问问题能力力较好。代码简洁,算算法清晰晰,可读读性强无抄袭现象象且课程程设计报报告

2、体会会深刻 指指导教师师(签名名) 年 月 日说明:指导导教师评评分后,课课程设计计交院(系系)办公公室保存存。课程设计报报告正文文的内容容及排版版要求标题:单位位仪器设设备基本本信息管管理软件件设计1 系统功功能要求求:(一一级标题题:黑体体、四号号)内容:单位位仪器设设备基本本信息管管理软件件设计:采用结结构体数数组或文文件形式式存储每每种设备备的信息息,每个个仪器设设备应包包含如下下几方面面的信息息:设备备编号、设设备名称称、设备备单价、购购进年代代、生产产厂家、该该设备数数量、可可用性。软软件由主主函数(含含欢迎界界面)下列55个功能能模块组组成:(11)购进进功能(被被购进设设备数量

3、量增x);(2)显显示已有有设备;(3)报报废功能能(对“可用性性”信息为为“否”的设备备报废,被被报废设设备数减减x);(3)查查找功能能(需指指定设备备号或设设备名);(5)统统计功能能(统计计每种设设备可用用数、不不可用数数);(66)退出出程序的的运行。2 系统统总体设设计思想想(1)开发发与设计计的总体体思想内容示例:单位仪器设设备基本本信息管管理软件件算法说说明:STEP11 预处处理,定定义结构构体STEP22 进入入欢迎界界面STEP33 选择择某一种种功能STEP44 根据据提示输输入一个个数字STEP55 对于于输入的的数字编辑辑关于购购进、报报废、查查找、统统计功能能的函

4、数数STEP66 如果果输入的的字母表表示退出出,退出出系统(2)系体体模块结结构图欢迎界面主菜单购进设备查找设备报废设备修改设备显示程序保存设备内容示例:退出读取设备(3)系统统文件及及函数组组成、功功能(参参考P1154的的表122-1)源文件函数名或其其他成分分功能facillityy.cmain总控函数 seleect菜单选择menu_sellectt菜单处理quit结束运行Facillityy_addd_ssum.cshowTTablle打印表头show显示所有的的设备信信息addfaacillityy在表尾追加加信息facillityy_Moodiffy_rremoove.cfin

5、dRRecoord 查找到指定定的信息息seekffaciilitty查询指定设设备的信信息removvefaacillityy报废设备modiffyfaacillityy修改设备facillityy.h常数提供常数结构声明设备结构库函数及函函数原型型声明引用库函数数及函数数facillityy_saave_loaad.ccsaveRRecoordss存储信息loadRRecoordss读取信息3 系统统详细设设计思想想 (1) 函数的的描述内容包括:分模块块(函数数)简述述其功能能;函数数中使用用的各变变量的类类型及作作用等(可可参考材材P1555的写写法)。1显示所所有设备备信息函函数函数

6、原型:voiid sshoww (vooid)功能:显示示内存里里的记录录信息参数:vooid 返回值:vvoidd 工作方式:从头部部开始逐逐个显示示记录内内容。要求:报告告是否有有记录及及记录条条数和内内容。2购进设设备函数数函数原型:voiid aaddffaciilitty (vooid)功能:增加加记录参数:vooid 返回值:vvoidd 工作方式:从尾部部开始逐逐个追加加记录。要求:将新新记录追追加在记记录尾部部,并对对记录进进行计数数。3显示所所有设备备信息函函数函数原型:voiid sshowwTabble(voiid)功能:输出出表头信信息参数:vooid 返回值:vvoi

7、dd 工作方式:输出一一行表头头信息。要求:输出出一行表表头信息息。4报废设设备函数数函数原型:voiid rremooveffaciilitty (vooid)功能:把所所选的仪仪器报废废,被报报废设备备数减xx。参数:vooid 返回值:vvoidd 工作方式:根据给给定的关关键字,查查找符合合的记录录并将报报废的设设备删除除。要求:将报报废的设设备数减减去。5显示所所有设备备信息函函数函数原型:intt fiindRRecoord(chaar* tarrgett, iint tarrgettTyppe, intt frrom)功能:查找找指定的的记录参数:chhar* taargeet:

8、欲欲查找记记录的某某一项与与tarrgett相同返回值:iint tarrgettTyppe:表表明通过过哪项来来查找,00为编号号,1为为名称。 iint froom:从从第frrom个个记录开开始找。工作方式:根据给给定的关关键字,查查找符合合记录的的序号。要求:找不不到则返返回11.6查询指指定设备备的信息函函数函数原型:voiid seeekfaacillityy (vooid)功能:查询询指定设设备的信信息参数:vooid 返回值:vvoidd 工作方式:可以按按照编号号、名称称来查询询要求:打打印查询询到的设设备的信信息7修改设设备信息息函数原型:voiid mmodiifyffa

9、ciilitty (vooid)功能:修改改指定设设备的信信息参数:vooid 返回值:vvoidd 工作方式:修改设设备的信信息要求:报告告是否有有记录及及记录条条数和内内容 8、文文件存储储操作函函数 函数原型型:innt ssaveeReccordds (voiid)功能:把信信息存储储进指定定文件中中参数:innt返回值:vvoidd 工作方式:输入文文件名字字并保存存要求:有空空间存储储 9、文文件读取取操作函函数函数原型:intt looadRRecoordss (vvoidd)功能:从指指定文件件中读取取出的记记录参数:innt返回值:vvoidd 工作方式:输入已已经存在在的文

10、件件名字来来读取文文件中的的信息要求:已经经存在文文件可供供读取10主函函数函数原型:intt maain()功能:控制制程序参数:vooid 返回值:vvoidd 要求:管理理菜单命命令并完完成初始始化11菜单单处理函函数函数原型:voiid sseleect(voiid)功能:处理理选择的的菜单命命令参数:vooid 返回值:vvoidd 工作方式:根据命命令,调调用相应应函数要求:给出出结束信信息12菜单单选择函函数函数原型:intt meenu_sellectt( )功能:接收收用户选选择的命命令代码码参数:vooid 返回值:iint 工作方式:返回命命令代码码的整数数值要求:只允允

11、许选择择规定键键,如果果输入不不合要求求,则提提醒用户户重新输输入13结束束程序运运行函数数函数原型:voiid qquitt(vooid)功能:结束束程序运运行参数:vooid 返回值:vvoidd 工作方式:根据要要求决定定在退出出前是否否将修改改的记录录存入文文件要求:结束束运行之之前,询询问是否否对修改改的记录录进行存存储14头文文件函数原型:devvicee.h功能:声明明函数原原型,包包含文件件及自定定义宏和和数据结结构参数:vooid 返回值:vvoidd 要求:报告告是否能能正常打打开文件件执行存存入操作作及存入入记录的的条数 115、文件件 (2)主主要函数数流程图图 1vo

12、oid adddfacciliity(voiid) 22. voiid sseleect(voiid) 3. voiid sshoww(vooid) 4. intt fiindRRecoord(chaar* tarrgett, iint tarrgettTyppe, intt frrom) 5. voiid rremoovfaacillityy(vooid)6. vooid moddifyyfacciliity (vooid)调试结果:(1)欢迎迎界面:输入密密码(2)功能能选择菜菜单(3)购进进新设备备功能而在于设备备数量大大于1000台和和小于1100台台的处理理上,大大于1000台则则直

13、接输输入可用用设备的的数目,而而对于小小于1000台,则则逐台输输入每台台的可用用性不可可用性。(4)显示示已有设设备(5)报废废设备报废功能也也可以按按照名字字和编号号来报废废,报废废前还会会打印出出将要被被报废的的设备信信息再一一次询问问操作者者是否要要删除该该设备。(6)查找找设备按编号查找找按设备名称称查找(7)保存存设备信信息(8)读取取设备信信息本人在程序序设计中中感想 本人在程序序设计的的课程设设计中感感受到:很多的的函数设设计与学学生管理理系统还还是有挺挺大的差差别的。通通过设置置密码可可改变背背景和字字体颜色色的设计计,让我我懂得了了 C语语言还是是有很多多我没有有了解到到的

14、地方方,通过过互联网网上的资资源我们们可以懂懂得的更更多。而而遇到不不懂的地地方就要要耐心的的读懂,实实在不懂懂的就要要谦虚地地问同学学和老师师,例如如在程序序设计过过程中sscannf语句句与geetchhar()语句句混搭容容易出现现跳句,需需要不断断的修改改来完善善。将保保存文件件语句和和读取文文件语句句穿插也也需要注注意,当当记录为为0时直直接调用用savveReecorrd()语句是是保存不不了的,所所以需要要再修改改。通过过实验让让我更加加深刻学学习到了了C语言言的好处处。5 结束语语C语言的程程序设计计实验的的成功实实验,靠靠得不仅仅仅是自自己的努努力,还还有同学学的帮助助,当然

15、然最重要要的还是是老师的的耐心解解答。参考文献1 谭谭浩强,CC程序设设计(第第二版),北北京:清清华大学学出版社社,20001.1 (左左对齐,宋宋体,五五号)2 陈陈朔鹰,CC语言程程序设计计习题集集,北京京:人民民邮电出出版社,220033.6facillityy.h#ifnddef H_SSTUDDENTT_HHH /如果果没有定定义H_STUUDENNT_HHH,继继续执行行#defiine H_SSTUDDENTT_HHH/定定义H_STUUDENNT_HHH,可可避免重重复编绎绎#inclludee #inclludee #inclludee #inclludee /头文件件包含

16、#defiine INIITIAAL_SSIZEE 5 / 数组初初始大小小#defiine INCCR_SSIZEE 5 / 数组每每次增加加的大小小/可根椐椐系统使使用需要要的常量量定义strucct ffaciilitty_iinfoo charr nuumbeer220; /设备备编号charr naame20; /设设备名称称charr maanuffacttoryy200; /设设备生产产厂家 charr yeear20; /设备购购进年代代floaat ggetnnumbberss; /设备购购进数目目 ffloaat uusabble; /可用设设备floaat ppricce

17、; /设备单单价 ;typeddef strructt faacillityy_innfo SBIInfoo;/定义一一个类型型名SBBInffo代表表定义的的结构体体sheebeii_innfoexterrn iint nummStuus; / 记录的的设备数数exterrn SSBInnfo* reecorrds; / 记录录设备信信息的数数组指针针exterrn iint arrraySSizee; / 数数组大小小exterrn ccharr saaveddTagg;/共享的的全局变变量定义义void sellectt(vooid);int mmenuu_seelecct(vvoidd

18、);void adddfacciliity(voiid);void moddifyyfacciliity(voiid);void shoow(vvoidd);void seeekfaacillityy(vooid);void remmoveefacciliity(voiid);void quiit(vvoidd);void shoowTaablee(vooid);int ffinddReccordd(chhar* taargeet, intt taargeetTyype, innt ffromm);int ggetIIndeex(ffloaat ssum);int ssaveeReccordd

19、s(vvoidd);int lloaddReccordds(vvoidd);void coppyReecorrd(SSBInnfo* huum, SBIInfoo* oorc);/函数申申明,注意()里必须须包含对对应函数数形参类类型#endiif / HH_STTUDEENT_HHfacillityy.c#inclludee ffaciilitty.hh#inclludee/* * 初始始化 */int nnumSStuss = 0; / 记录的的学生数数SBInffo *reccordds = NUULL;/ 记录学学生信息息的数组组int aarraaySiize; / 数组组大小cha

20、r ch11155,cch215=JJ;char savvedTTag = 00;/ 信息是是否已保保存的标标志,11为未保保存,00为已保保存/* * 主函函数 */int mmainn()systtem(coolorr 9);/ 初初始化数数组recoordss = (SBBInffo*)malllocc(siizeoof(SSBInnfo)*INNITIIAL_SIZZE);/给数组组分配SStuIInfoo分配INNITIIAL_SIZZE个记记录空间间大小if (reccordds = NNULLL) priintff(mmemoory faiil!); exiit(-1);/如果内

21、内存空间间不够分分配,退出程程序arraaySiize = IINITTIALL_SIIZE; printtf( * nn);printtf( * caallmmeJJJ SINNGLEEJJ BIIRTHHDAYY * nn);printtf( * loovellovee * hanndsoome 19992009299 * nn);printtf(* * * * * *nn);printtf(* * * * * *nn);printtf(* * QQ:496679881400 * * *nn);printtf(* * 嘿我是是蓝俊杰杰 * * *nn);printtf(* * QQ QQQ

22、 QQQ * * * * *nn);printtf(* 手机机:1550 QQQ QQ QQQ 67737998 66737798 *n);printtf(* 15559337988 QQ QQQ QQQ * * *nn);printtf(* * nn);printtf( * * nn);printtf( * 欢迎迎使用 仪仪器设备备基本信信息管理理程序 * n);printtf( * * nn);printtf( * 设计者者 蓝俊杰杰 1225111011121 * nn);printtf( * * * nn);printtf( * * * * nn);printtf( * * * * *

23、 nn);printtf( * * * * nn);printtf( * * * nn);printtf( * * nn);printtf( * nn);prinntf(nn);for(;)priintff(n 进入系系统的密密码是:); getts(cch1); if(strrcmpp(chh1,cch2)=00)brreakk; elsse pprinntf(nn SSORRRY!密密码错啦啦T_TT!nn); prinntf(nntt欢迎迎使用设设备管理理系统!tn);seleect();/* * 菜单单处理函函数 */void sellectt(vooid)for ( ; ; ) sw

24、iitchh(meenu_sellectt()casse 11:adddfaacillityy();brreakk; casse 22:seeekffaciilitty();brreakk;casse 33:reemovvefaacillityy();brreakk;casse 44:moodiffyfaacillityy();brreakk;casse 55:shhow();brreakk;casse 66:saaveRRecoordss();brreakk;casse 77:looadRRecoordss();brreakk; casse 88:quuit();/* * 菜单单选择函函数m

25、eenu_sellectt */int mmenuu_seelecct( )charr s2;int cn=0;prinntf(nn); pprinntf ( t11. 购购进设备备n ); priintff ( tt2. 查找设设备nn );prinntf ( t33. 报报废设备备n );prinntf ( t44. 修修改设备备信息n );prinntf ( t55. 显显示设备备信息n );prinntf ( t66. 保保存设备备信息n );prinntf ( t77. 读读取设备备信息n );prinntf ( t88. 退退出程序序n );prinntf ( nt左边边数字对对应

26、功能能选择,请请选1-8 : );for(; ;)getts(ss);cn = aatoii (ss);iff(cnn88 ) priintff(ntt输入错错误,重重选1-8:);elsse bbreaak;retuurn cn;/*结束运行行,退出出*参数量vvoidd*/void quiit(vvoidd) chhar strr5; iff (ssaveedTaag=1) pprinntf(nn 是是否保存存记录?(Y/n)n); pprinntf( 选择: ); ggetss(sttr); iff(sttr00!=n&sstr0!=NN) saaveRRecoordss(); frre

27、e(reccordds);printtf(n ByyeByye啦啦啦啦啦 nnn);exit(0);facillityy_addd_ssum.c#inclludee ffaciilitty.hh/* * 打印印表头 */floatt geetnuumbeers,useenummberrs_11,ussenuumbeers_2;floatt unnusaablee,ussablle;void shoowTaablee(vooid)prinntf(nnt编编号tt名称tt厂家);prinntf(tt年代tt单价tt数量tt可用数数n);/* * 显示示所有的的设备信信息 */void shoow(

28、vvoidd)int i;if (nummStuus = 00) priintff(n 没有可可供显示示的记录录!nn); rretuurn;showwTabble();if(ggetnnumbberss=1100) foor (i=00; ii1000) ffor (i=0; i= arrraySSizee) / 现现在的数数组空间间不足,需需要重新新申请空空间reecorrds = rrealllocc(reecorrds,(arrrayySizze+IINCRR_SIIZE)*siizeoof(SSBInnfo);/新空空间大小小变为(arrraySSizee+INNCR_SIZZE)记

29、记录大小小,即在原原来基础础上增加加INCCR_SSIZEE个记录录大小iff (rrecoordss = NUULL)pprinntf(meemorry ffailled!);eexitt(-11);arrrayySizze = arrrayySizze+IINCRR_SIIZE; /arrraySSizee修改为为新空间间可保存存的记录录数priintff(n 请输入入设备编编号:);getts(rrecoordssnuumSttus.nuumbeer);priintff( 请输输入设备备名称:);getts(rrecoordssnuumSttus.naame); priintff( 请输

30、输入设备备购进年年代:);getts(rrecoordssnuumSttus.yeear); priintff( 请输输入设备备生产厂厂家:); getts(rrecoordssnuumSttus.maanuffacttoryy); priintff( 请输输入设备备单价:); getts(sstr);prricee = (flloatt)attof(strr);reecorrdsnummStuus.priice=priice;priintff( 购进进设备数数量是否否大于1100台台?(YY/N);getts(sstr);if (sttr00=y | sttr00=Y)prrinttf(n

31、请输输入购进进设备数数量:);geets(strr);geetnuumbeers = (flooat)atoof(sstr);reecorrdsnummStuus.gettnummberrs=ggetnnumbberss; prrinttf( 可可用设备备的数量量有:);geets(strr);ussenuumbeers_1= (flloatt)attof(strr);reecorrdsnummStuus.usaablee=ussenuumbeers_1;elsse iif(sstr0=nn | sstr0=NN) prrinttf( 请请输入购购进设备备数量:); geets(strr);g

32、eetnuumbeers = (flooat)atoof(sstr);reecorrdsnummStuus.gettnummberrs=ggetnnumbberss;unnusaablee=0;usaablee=0;foor(jj=1;j=gettnummberrs;jj+) prrinttf(第%d台设设备的可可用性为为: (设备不不可用请请输入00,设备备可用请请输入11) : ,jj); geets(strr); iff (sstr0 = 0) unnusaablee=unnusaablee+1; ellse if(strr0=1) ussablle=uusabble+1; rrecoo

33、rdssnuumSttus.ussablle=uusabble; uunussablle=00;ussablle=00;nuumSttus+; /输入一一设备记记录后,设备数数加1prinntf(nn 现现在一共共有%dd条设备备信息n,nummStuus);saveedTaag = 1;facillityy_Moodiffy_rremoove.c#inclludee ffaciilitty.hh/* * 查找找指定的的记录 * 参数数:tarrgett:欲查查找记录录的某一一项与ttargget相相同 *tarrgettTyppe:表表明通过过哪一项项来查找找,0为设备备编号,1为设备名称

34、*froom:从从第frrom个个记录开开始找 * 返回回:找到到的记录录的序号号,若找找不到则则返回-1 */int ffinddReccordd(chhar* taargeet, intt taargeetTyype, innt ffromm) intt i; forr(i=froom;ii=0)/ 打印查查询到的的设备的的信息 shoowTaablee(); couunt = 00;whiile(i != -1)coountt+;/查查询到的的设备数数加1prrinttf(t%stt%st%sst%stt%.22ftt%.fft%.fn,reccorddsii.nnumbber,recc

35、orddsii.nnamee,reecorrdsi.mannufaactoory,reccorddsii.yyearr,reecorrdsi.priice,reccorddsii.ggetnnumbberss,reecorrdsi.usaablee); /输出i记录的的各个数数据项 i = ffinddReccordd(taargeet,ttypee,i+1);/从从i+11条记录录起查找找下一条条符合条条件的记记录if (coountt=00) pprinntf(nn 没没有符合合条件的的设备!n); elsse pprinntf(nn 一一共找到到了%dd种设备备的信息息nn,couunt);/* * 删除除指定的的记录 */void remmoveefacciliity(voiid)charr sttr55;charr taargeet220;int typpe;int i,jj; if(nnumSStuss=00)priintff(n 没有可可供删除除的记录录n);rett

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!