欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程实训设计报告(农民工资系统).docx

    • 资源ID:63281312       资源大小:242.71KB        全文页数:18页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程实训设计报告(农民工资系统).docx

    C语言课课程实训训设计报报告一、 项目概述述我这次实实训的项项目主要要是农民民工资收收入统计计系统,农农民工资资收入统统计系统统主要实实现的是是农民信信息的输输入、输输出,按按农民的的门牌号号排序,实实现农民民信息的的插入、查找、删除等等操作,以以及可以以计算全全村总收收入和人人均收入入,也能能够找出出小康家家庭、中中等家庭庭以及贫贫困家庭庭。这次实训训的项目目主要通通过C语语言来实实现程序序的运行行,主要要通过CC语言中中的函数数调用和和结构体体来做程程序,还还要用到到许多小小的知识识点,例例如:用用冒泡法法实现排排序;sscannf、pprinntf语语句;sstrccpy复复制语句句;iffellse语语句实现现选择等等等。二、 项目分析析和设计计主菜单写入文件找出小康家庭等输入信息输出信息升序排序插入并排序查找并删除总收入与人均收入这个项目目的程序序可分为为几个板板块来做做,每个个板块有有每个板板块的作作用,通通过不同同程序的的不同作作用相互互调用即即可实现现整个程程序的运运行,这这个项目目程序主主要可以以分为以以下几个个板块:1、定义义头文件件: 运用#iinclludee<sttdioo.h>>,#iinclludee<sttdliib.hh>, #inccludde<cctyppe.hh>,#inccludde<sstriing.h>等等头文件件2、定义义结构体体数组: 运运用tyypeddef sttrucct 农农民列表表信息变变量名表表列; 这这种类型型是直接接定义结结构体类类型变量量。3、对调调用函数数进行声声明: 根根据所写写程序对对有些函函数进行行声明,例例如:Voidd shhow_mennu();在程程序中实实现的是是对菜单单函数的的调用。4、主函函数:Voidd maain()为主主函数,在在主函数数中通过过dowhhilee语句和和 sswittchcaase语语句进行行选择和和函数调调用。 VVoidd maain() do sswittch() whiile();5、菜单单函数: 定定义函数数为 vvoidd shhow_mennu() 主主要用pprinntf语语句输出出菜单函函数,并并且还通通过主函函数调用用菜单函函数实现现对农民民信息的的选择。6、输入入农民的的信息: 定定义函数数为innt ccreaate(peaasannt nnu,innt nn)nu为结构构体数组组,在此此函数中中,通过过scaanf语语句实现现农民信信息的输输入,并并用whhilee语句判判断并实实现多余余信息的的清除,以以及判断断是否继继续进行行输入信信息,最最后还有有一个值值返还给给主函数数maiin()。7、输出出农民信信息: 定定义函数数为 vvoidd prrintt(peeasaant nu,iint n) 主主要运用用priintff语句输输出农民民的信息息,并用用forr语句和和if语语句判断断,如果果输入的的信息超超过十个个就停止止输入,若若没有就就继续输输。 用用sysstemm(“pauuse”)清除除界面。8、对函函数进行行排序: 定定义函数数为 vvoidd soort(peaasannt nnu,innt nn) 在在此函数数中,利利用两层层循环按按门牌号号进行排排序,如如果变量量在结构构体中定定义成数数组形式式,就用用strrcpyy语句进进行复制制;如果果定义成成整形就就要新定定义一个个变量作作为中间间函数进进行替换换来实现现数的交交换。9、插入入信息并并排序: 定定义函数数为 iint inssertt(peeasaant nu,iint n) 在在此函数数中,利利用sccanff语句进进行输入入信息,再再调用排排序函数数 ssortt(nuu,n)进行排排序,最最后还要要返回一一个值到到主函数数maiin().10、查查找并删删除记录录: iint dell(peeasaant nu,iint n) 此此程序需需要按姓姓名查找找,所以以输入姓姓名,并并用whhilee实现循循环次数数,用sstrccmp比比较输入入姓名与与原来姓姓名,若若strrcmpp(a,b)=0,即表明明找到该该信息并并且删除除,删除除是通过过forr以及sstrccpy对对查找的的信息进进行删除除,若sstrccmp(a,bb)!=0,即即表明没没有找到到该信息息。11、计计算全村村总收入入以及人人均收入入 定定义函数数为 vvoidd avve(ppeassantt nuu,intt n) 在在此函数数中主要要运用ffor语语句进行行控制,即即可计算算出总收收入以及及人均收收入并输输出。12、找找出小康康家庭、中等家家庭、贫贫困家庭庭 定定义函数数为 vvoidd fiib(ppeassantt nuu,intt n) 在在此函数数中主要要运用iifelsse语句句进行判判断选择择,判断断哪家是是小康家家庭,哪哪家是中中等家庭庭,哪家家是贫困困家庭并并且输出出. vvoidd fiib(ppeassantt nuu,intt n) foor(ii=0;i<nn;i+) iif() pprinntf("nn"); eelsee iff() priintff("n"); eelsee prrinttf(""n""); 13、把把所有程程序写入入文件中中 定义函函数为 voiid pprinntfiile(peaasannt nnu,innt nn) 首先先先定义文文件指针针,用ffopeen(“fillenaame”,“w”)打开开文件并并判断是是否能打打开文件件,最后后再用ffcloose(文件指指针)关关闭文件件。这个程序序大体的的设计便便是如此此,它包包含了我我们学过过的许多多知识,运运用了许许多重要要的内容容,总体体分析即即是如此此。三、项目目关键代代码(加加注释)#inccludde<sstdiio.hh>#inccludde<sstdllib.h>#inccludde<cctyppe.hh>#inccludde<sstriing.h>typeedeff sttrucct /*定义结结构体数数组*/ chaar nnum20; chaar nnamee200; lonng iint inccomee;peaasannt;peassantt nuu11100000;voidd shhow_mennu(); int creeatee(peeasaant nu,iint n);voidd prrintt(peeasaant nu, intt n);voidd soort(peaasannt nnu,innt nn);int inssertt(peeasaant nu,iint n);int dell(peeasaant nu,iint n);voidd avve(ppeassantt nuu,intt n);voidd fiib(ppeassantt nuu,intt n);voidd prrinttfille(ppeassantt nuu,intt n);voidd maain() /*主函数数*/intt n=0;int no; doo shoow_mmenuu(); priintff("ppleaase inpput youur cchoiicen");scannf(“%d”,&nno); swwitcch(nno) ccasee 1: prrinttf(""输入记记录nn"); n=ccreaate(nu11,n);brreakk; ccasee 2: prrinttf(""输出信信息nn"); priint(nu11,n);brreakk; ccasee 3: prrinttf(""按门牌牌号排序序并显示示n""); sorrt(nnu1,n); priintff("排排序成功功!nn"); priint(nu11,n); priintff("ttt");breeak; ccasee 4: prrinttf(""插入信信息并按按门牌号号排序及及显示n"); n=iinseert(nu11,n); priint(nu11,n); priintff("ttt");breeak; ccasee 5: prrinttf(""根据姓姓名查找找并删除除记录n"); n=ddel(nu11,n); priintff("ttt"); ssysttem("paausee");breeak; casse 66: pprinntf("计算算总收入入和人均均收入n"); avee(nuu1,nn);ssysttem("paausee");breeak; ccasee 7: prrinttf(""找出小小康家庭庭,中等等家庭,贫贫困家n"); fibb(nuu1,nn);ssysttem("paausee");breeak; ccasee 8: prrinttf(""循环写写入数据据n""); priintffilee(nuu1,nn); pprinntf("ttt""); ssysttem("paausee");breeak; ccasee 0: prrinttf(""tt谢谢谢使用,祝祝你好运运,再见见!nn"); priintff("ttt"); sysstemm("ppausse"); eexitt(0); whhilee(noo!=00);voidd shhow_mennu() sysstemm("ccls""); /*运行前前清屏*/ priintff("*主主菜单*n"");priintff("*1.输输入农民民工的门门牌号、姓名、收入*n"");priintff("*2.输输出所有有农民工工的信息息*nn");priintff("*3.实实现按门门牌号进进行升序序排序*n"");priintff("*4.实实现农民民信息的的插入,后按门门牌号从从小到大大输出*n"");priintff("*5.根根据姓名名查找,并删除除该信息息*nn");priintff("*6.计计算全村村总收入入和人均均收入*n"");priintff("*7.找找出小康康家庭,中等家家庭,贫贫困家庭庭*nn");priintff("*8.把把所有农农民工信信息写入入到文件件中去*n"");priintff("*0.退退出 *n"");priintff("*n"");int creeatee(peeasaant nu,iint n) /*输入入信息*/ iint i=00; ccharr siign,x110; /*xx100为清清除多余余的数据据所用*/ wwhille(ssignn!=''n'&&&siign!='NN') /*判判断*/ priintff("门门牌号:"); /*交互互输入*/ scaanf("%ss",nnunn+i.nuum); priintff("姓姓名:""); scaanf("%ss",nnunn+i.naame); priintff("收收入:""); scaanf("%dd",&&nun+ii.iincoome); getts(xx); /*清除多多余的输输入*/ priintff("是是否继续续输入?(Y/N)""); scaanf("%cc",&&siggn); /*输入判判断*/ i+;retuurn(n+ii);voidd prrintt(peeasaant nu, intt n) /* 输出结结果*/ iint i; pprinntf("-n""); /*格式头头*/ pprinntf("门牌牌号 姓名 收入 n"); pprinntf("-n""); ffor(i=11;i<<n+11;i+) /*循循环输入入*/ pprinntf("%-10ss%-110s%-100dnn",nnuii-1.nuum,nnuii-1.naame,nui-11.iincoome); if(i>11&&ii%100=00) /*每十个个暂停*/ prrinttf(""-n"); /*格式*/ prrinttf(""tt"); syysteem(""pauuse""); prrinttf(""-n"); prinntf("ttt"");systtem("paausee");voidd soort(peaasannt nnu,innt nn) /*按门牌牌号排序序*/ innt ii,j; chaar tt100; intt s; forr(i=0;ii<n-1;ii+) /*冒冒泡法排排序*/ forr(j=0;jj<n-1-ii;j+) if(strrcmpp(nuuj.nuum,nnujj+1.nuum)>>0) strrcpyy(t,nuj+11.nnum); strrcpyy(nuuj+1.numm,nuuj.nuum); strrcpyy(nuuj.nuum,tt); strrcpyy(t,nuj+11.nnamee); strrcpyy(nuuj+1.namme,nnujj.nnamee); strrcpyy(nuuj.naame,t); s=nnujj.iincoome;nuj.inccomee=nuuj+1.inccomee;nuj+11.iincoome=s; int inssertt(peeasaant nu,iint n) /*插入记记录,并并按门牌牌号升序序排序*/ chaar xx1000; /*清除多多余输入入所用*/ prrinttf(""农民门门牌号:"); /*交互式式输入*/ sccanff("%s",nun.numm); prrinttf(""农民姓姓名:""); sccanff("%s",nun.namme); prrinttf(""农民工工资:""); sccanff("%d",&nuun.inncomme); geets(x); n+; soort(nu,n); /*调用用排序函函数*/ prrinttf(""插入记记录成功功!nn"); /*返回回成功信信息*/ reeturrn(nn);int dell(peeasaant nu,iint n) /*按姓名名查找并并删除记记录*/chaar ss200; innt ii=0,j; prrinttf(""输入农农民的姓姓名:""); /*交互互式问寻寻*/ sccanff("%s",s); whhilee(sttrcmmp(nnuii.nnamee,s)!=00&&ii<n) i+; /*查找找判断*/ iff(i=n) priintff("对对不起没没找到该该农民!n""); /*返返回失败败信息*/ rretuurn(n); foor(jj=i;j<nn-1;j+) /*删除除操作*/ sstrccpy(nuj.numm,nuuj+1.numm); sstrccpy(nuj.namme,nnujj+1.naame); nnujj.iincoome=nuj+11.iincoome; pprinntf("删除除记录成成功!n"); /*返回回成功信信息*/ rretuurn(n-11);voidd avve(ppeassantt nuu,intt n)intt i;flooat aveeragge=00.0;lonng iint summ=0; ppeassantt *p; pp=nuu; ffor(i=00;i<<n;ii+,p+)summ+=pp->iincoome;aveeragge=ssum/n;priintff("全全村总收收入是:%lddn"",suum);priintff("人人均收入入是:%f",aveeragge);voidd fiib(ppeassantt nuu,intt n) innt ii; foor(ii=0;i<nn;i+) iif(nnuii.iincoome>>200000) priintff("是是小康家家庭nn"); eelsee iff(nuui.inncomme>1100000) prrinttf(""是中等等家庭n"); eelsee prrinttf(""是贫困困家庭n"); voidd prrinttfille(ppeassantt nuu,intt n) intt i=0; FILLE *fp; /*定义义文件指指针*/ chaar ffileenamme1100; /*定定义文件件名*/ prrinttf(""循环写写入数据据n""); /*输入文文件名*/ prrinttf(""输入文文件名:"); sccanff("%s",fillenaame); iff(ffp=ffopeen(""fillenaame"","ww")=NNULLL) /*打打开文件件*/ pprinntf("无法法打开该该文件n"); ssysttem("paausee"); rretuurn; fprrinttf(ffp,""%dn",n); /*循环写写入数据据*/ whhilee(i<<n) ffpriintff(fpp,"%-100s%-10ss%-110s%-100dnn",nnuii.nnum,nui.namme,nnuii.iincoome); ii+; fcclosse(ffp); /*关闭闭文件*/ prrinttf(""写入成成功!n"); /*返回回成功信信息*/ 四、项目目调试和和运行(界界面)1、输入入农民的的信息并并显示出出界面2、选择择2,显显示出输输入的农农民的信信息3、按任任意键并并选择33,可以以对输入入的信息息进行升升序排序序4、按任任意键并并选择44,可以以插入一一条记录录并会按按升序排排序显示示出来5、按任任意键并并选择55,可以以查找一一条记录录并会删删除该条条记录6、按任任意键并并选择66,可以以计算出出全村总总收入和和人均收收入7、按任任意键并并选择77,可以以找出小小康家庭庭等8、按任任意键并并选择88,可以以写入文文件图见下面面五、实训训设计的的心得体体会 在为期期将近十十天的CC语言程程序设计计过程中中,我从从中学到到很多,我我受益匪匪浅,感感受很深深,让我我从中了了解到CC语言程程序编程程的奥妙妙,学会会了许多多关于编编程的代代码,我我在这次次编写程程序中,虽虽然有点点累,但但是我从从中也得得到了乐乐趣,我我觉得编编写程序序越来越越有趣。但是在编编写程序序的过程程中并不不是一帆帆风顺、顺顺利利利的,一一开始编编写的时时候并不不知道该该怎么着着手去编编写,很很茫然,但但是后来来经过老老师的提提点以及及提示,我我能够去去试着编编写一个个一个小小片段,当当我把这这些小程程序拼到到一起变变成大程程序时,我我很高兴兴,因为为我毕竟竟做出来来一些内内容了。当我将将这些程程序利用用VC进进行编译译、链接接的时候候,程序序出现了了许多错错误,当当时吓了了一跳,但但我并没没有气馁馁,我试试着去找找这些错错误并改改正,其其中程序序中的错错误有很很多种,比比如有语语法错误误,逻辑辑错误等等。语法法错误例例如:(1)字字符与字字符串应应该用单单引号还还是用双双引号,在在程序中中我将单单引号错错用成双双引号;(2)忘记定定义变量量。在该该程序中中我忘记记了定义义有些所所用变量量。(33)函数数声明与与函数定定义不一一致。在在程序中中我声明明函数时时,将参参数顺序序不匹配配。(44)函数数实参与与形参的的类型不不一致,在在此程序序中,我我将一个个定义成成整型,而而定义另另一个时时却定义义成单精精度型,导导致程序序出错误误。语法法错误还还有很多多,我在在程序中中还改正正了很多多,这些些错误让让我印象象深刻,在在以后的的编写程程序中我我要牢牢牢记住。除了许许多语法法错误外外,还有有很多逻逻辑错误误以及警警告,这这些就要要我们一一步一步步去检查查程序。在这个个程序中中使我印印象最深深刻的错错误是:程序运运行出来来,但是是结果却却一闪而而过,有有些界面面不能显显示出来来,但是是经过老老师的指指导,我我将这个个错误解解决了。在实训训过程中中自己有有时候也也想过放放弃,可可是当自自己看到到这么一一大段代代码是放放弃的心心又被淹淹没了,因因为看到到这长长长的代码码自己的的信心又又被提升升起来,编编写程序序的乐趣趣也有了了。在这次的的实训中中我知道道了要做做一个程程序,首首先要知知道程序序的算法法,在了了解算法法的基础础上要知知道怎样样运用算算法,进进一步说说是怎样样运用算算法写程程序,不不管是大大程序还还是小程程序都要要用到算算法。平平时我们们学习CC语言只只是为了了考试以以及做一一些简单单的题目目,然而而这次我我们做实实训给我我们将所所学知识识运用于于解决实实际问题题的机会会,我们们从中得得到了很很多,在在运用所所学知识识的过程程中,记记住这些些知识,让让我们将将这些知知识应用用到更广广泛的领领域。这次的编编写程序序又让我我感受到到学习编编写程序序可以锻锻炼缜密密的思维维,在平平时我们们只编写写一些小小程序,句句段比较较少,一一些错误误都很容容易被检检查出来来,但是是这次实实训项目目的程序序语段比比较多,难难以检查查,那一一刹那感感到很着着急,但但是改正正了一些些之后,信信心就被被提了上上来,在在经过老老师的指指点,改改正了许许多错误误。 实训不不仅是检检查一个个人知识识掌握了了多少,其其实更重重要的实实检测你你的实践践能力,以以及看你你是否细细心、是是否有缜缜密的思思维,这这次实训训懂得了了只要你你具备以以上几个个条件,那那么你的的实践能能力不会会太差,所所以,在在这方面面我们要要加强锻锻炼,磨磨练自己己,使自自己有更更高的提提高。六、参考考文献 1、CC程序设设计(第第三版) 清清华大学学出版社社 谭谭浩强 编著 2、CC语言程程序设计计实验指指导 人民邮邮电出版版社 张丽华华 主编 3、CC语言程程序设计计案例教教程(习习题解析析与实验验指导) 清清华大学学出版社社 张基温温 编编著

    注意事项

    本文(C语言课程实训设计报告(农民工资系统).docx)为本站会员(you****now)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开