软件技术基础项目策划实战任务书指导书_第1页
软件技术基础项目策划实战任务书指导书_第2页
软件技术基础项目策划实战任务书指导书_第3页
软件技术基础项目策划实战任务书指导书_第4页
软件技术基础项目策划实战任务书指导书_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件技术基础课程设计项目实战任务书指导书胡永祥 编江苏财经职业技术学院21年5月前 言软件技术基础是高职高专计算机软件技术、计算机应用技术、计算机网络技术、应用电子技术等专业的一门专业基础课,其特点是应用广泛,实践性较强。通过课程设计,可使学生进一步掌握语言程序设计的差不多知识,增强学生利用语言进行程序设计的实践技能,培养学生综合运用相关知识的能力。一、项目实战的任务和性质1、巩固对所学C语言程序设计差不多知识的掌握、增强学生利用C语言程序设计的实践技能3、培养学生独立分析和解决问题的能力4、培养学生综合运用所学知识解决实际问题的能力二、项目实战的差不多要求1、进一步掌握C语言程序设计方法和组

2、织实现的差不多技能、学会分析解决问题的方法,对设计中出现的问题,能通过独立考虑、查阅资料等手段查找解决问题的途径、熟悉C语言程序调试的方法,对程序中出现的错误能够独立调试解决4、对设计结果能独立进行分析、评价5、培养严肃认真、实事求是的科学作风三、项目实战内容1、选择、熟悉并适应编程编译、调试环境、选择并确定设计课题3、批阅所选课题、明确实现的具体方法,确定差不多算法和编程方法4、编写程序、上机调试程序,查错、纠错6、撰写课程设计报告7、预备答辩讲明:阅读、分析课程设计实例,有助于理解和把握C语言程序设计的一些差不多方法、过程和技巧项目实战任务书一、项目实战题目学生成绩治理系统二、项目实战目的

3、1.进一步掌握和利用语言进行行程设计的能力2.进一步理解和运用结构化程序设计的思想和方法3初步掌握开发一个小型有用系统的差不多方法.学会调试一个较长程序的差不多方法学会利用流程图表示算法6掌握书写程序设计开发文档的能力(书写课程设计报告)三、项目实战具体内容1.每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩2. 输入功能:能够一次完成若干条记录的输入显示功能:完成全部学生记录的显示4查找功能:完成按学号查找学生记录并显示5排序功能:按学生总分进行排序6插入功能:按学号插入一条学生记录7.将学生记录保存在文件中8应提供一个菜单来调用各个功能,调用菜单的界面应尽可能清晰美观四、项目实战要

4、求1、用语言实现系统2、利用结构体链表实现学生成绩的数据结构设计、系统具有追加,查询,插入,排序等差不多功能4、系统的各个功能要求用函数的形式实现5、完成设计任务并书写课程设计报告、将学生成绩信息存在文件中五、项目实战报告的要求1、目录2、前言3、设计目标4、设计概要(设计思路)5、程序设计(要求一并提交源程序清单及电子文挡)、测试结果、结论或体会8、参考文献项目实战指导书一、概要设计1.制作如此的一个数据库需要实现以下功能:()数据库的安全性。进入数据库需要输入用户的密码,不同的用户能够有不同的权限。()数据库的操作界面设计为菜单显示方式。用户通过菜单进行选择。如下图所示:图1 主菜单界面程

5、序的输出格式:图2 程序的输出格式本程序利用单链表存储结构完成对学生成绩的动态治理,其差不多功能模块图如下图所示:主程序输入显示删除查找插入追加保存读入计算拷贝排序索引分类合计图 差不多功能模块图2各函数流程图(1)reat()函数()del()函数(3)diply()函数(4)search()函数()sae()函数(6)ld()函数(7)copute()函数(8)copynw()函数(9)modify()函数(10)pped()函数(11)sort()函数(1)index()函数(3)fil()函数(1)iv()函数(15)avera()函数(16)classscre()函数二、详细设计:按

6、照概要设计列出的功能模块,设计出与这些模块一一对应的功能函数,以供主函数使用。()函数原型:mnu_st()函数功能:主菜单。用户通过菜单进行选择。调用各功能函数。(2)函数原型:sudent *reat()函数功能:该函数是用来创建单链表。当在主函数中输入1时,即进入创建链表函数,即开始输入学生信息,按照提示信息输入学号、三门课程的成绩,每输入完一个数就按一下回车键,当输入学号为0时结束输入,返回主函数,显示主菜单界面。(3)函数原型:tud *dl(tudnt *hed)函数功能:该函数的作用是删除指定学号的学生记录。首先依照提示信息输入要删除结点的学号,输入后依照学号顺序查找结点,假如没

7、有找到,则输出没有找到的信息;否则,显示找到的信息,然后删除。调用结束返回主函数,显示主菜单。(4)函数原型:void spay(studen *head)函数功能:该函数的作用是显示单链表。本函数以二维表的形式输出,直观漂亮。调整格式,对齐表格线。(5)函数原型:void seah(studet *head)函数功能:该函数的作用是查找指定学号的学生记录。依照提示信息输入要查找结点的学号,输入后依照学号顺序查找,假如没有找到,则输出没有找到的信息;否则,显示找到的信息。调用结束返回主函数,显示主菜单。(6)函数原型:void save(studt head)函数功能:该函数的作用是将学生记录

8、保存到指定文件中。在访问链表的过程中将记录写入文件。(7)函数原型:stdeno()函数功能:该函数的作用是将学生记录从文件中取出放到链表中。Lad和reat函数算法相同,不同点在于rat是从键盘上同意数据,而La函数是从文件中读数据。(8)函数原型:sudent *copuer(stent hea)函数功能:该函数作用是计算每个学生成绩的总分和平均分。(9)函数原型:oid cpynew(sudent *a)函数功能:该函数的作用是把学生记录从原来的文件中复制到新文件中。(10)函数原型:vod sort(studen *ead)函数功能:排序。是对链表上的结点按照总分的由大到小的顺序进行排

9、序。(1)函数原型:voiodfy(sudnt*head)函数功能:修改数据。依照提示信息输入要查找结点的学号,输入后依照学号顺序查找,假如没有找到,则输出没有找到的信息;否则,修改找到的信息。调用结束返回主函数,显示主菜单。(12)函数原型:tudent appen(studet*hea)函数功能:添加记录。在链表最后添加一个结点记录,返回主函数。(13)函数原型:voindex()函数功能:建立索引。设置索引是为了分类合计。(1)函数原型:vd fal(stunt *hea)函数功能:查找不及格学生的信息。顺序查找各结点只要有一门学科分数低于6分就显示该学生的全部信息,返回索引函数。(5)

10、函数原型:voifiv(tdnt *had)函数功能:查找全年级前五名的学生,并显示他们的全部信息。返回索引函数。(16)函数原型:void aveag(stdn *head)函数功能:求各班的平均分。通过学号字段来区分班级,在那个字段内的记录的总分相加,除以人数,算出各班的平均分并显示。完毕后返回索引函数。(7)函数原型:void lascore(stuen*hed)函数功能:显示一个班的学生信息。输入班级号,通过学号操纵顺序查找并显示该班全部学生信息。()函数原型:vida()函数功能:有机调用各个子函数。使用swich()函数进行菜单的选择。三、调试报告:1.在调试菜单函数时,由于文本大

11、小操纵不当而出现了乱码,通过几次改正尝试,消除了那个现象。.在调试时经常出现语法错误,一些分号和大括号经常被遗漏,导致产生错误。四、程序清单:#inldecludestdlib.include#nclde#includeicludeypedef stuct s1gno;hr m1; foat sor3; loa m; fltavrage; int order; srut 1 *next;STDEN;nt mnselct() caru*MNU*, . Enter ist,2. Delte aecordfrom list, 3 rint li, . Sch record on er, .S th

12、file, . od the file, 7. Computer th coe, 8. opyhefietnew il, 9 ort data, 1.modifydata, 11.pp rcord file, 1Indeon umb, 3total o be, 4. Quit; chr s3; int c,i; lrscr(); otxy(,2); printf(ressany ey enter mu.); clrsc(); ooxy(1,); textcolor(1); txtbackgroud(); otoy(10,2); putch(0 xc); for(;54;+) putc(cd);

13、 puth(0bb); for(i;i0;+) gooxy(1,i);ptch(xa); gotx(64,i);putch(xba); gtox(10,);tch(0 xc); for(i=;i54;+) putch(0 xcd); puch(xc); wdw(11,3,63,); clrscr(); or(i=0;i15;i+) gooy(1,i+1); cpnf(s,mi); xakground(0); winw(1,1,80,50); gotoxy(20,21); do prinf( Etr your chic (014):); sanf(,s); c=ati(s); whle(c14)

14、; return ;in mn_sele2() char *meu=*ME*, 1. he student who fail n tes, 2. Te first to fth n grae, 3 Cls aerage subect, 4. ass total rcord, 5 Qit; ch 3; itc,; clrscr(); gotoxy(2,2); pritf(Prss ay kyenterenun); lscr(); gotoy(1,1); txtcor(); extackroun(0); goty(0,); puc(x9); for(i1;i54;i+) puc(0 xcd); p

15、uc(0b); for(3;2;+) gtoxy(10,i);utch(0 xba); gotox(,i);tch(0 xb); otoy(0,12);putc(c); o(i=;i4;i) putch(0 x); putc(0 xc); io(11,63,1); lrr(); for(i=;6;i+) gotox(0,i); cint(s,menui); texackgr(0); windw(,1,80,50); gtoxy(20,3); do printf(Enter your choice (1-):); scn(%s,); catoi(s); wh(c);turnc;TUEN *ret

16、() TUDEN *head,p,*;oaty,z,w; onx;it ;chrna15; head=U; lscr(); pntf(Please input tuentsnumr:); sca(ld,&x); pitf(Please inputnae:); scanf(%s,na); rintf(Pleas nu sc:); scanf(%f,&); rif(Pes input sc:); scnf(%,&z); printf(Paseinput sc3:); scan(%,&); hle(x!=0) s(STUDENT*)maloc(izeof(STDN)); no=x; o(i=;ina

17、meina; s-cr0=y; soe1=z; s-oe2=w; ssm=0; saveae=0; s-or=0; if(head=NULL) he=s;pad; els pnext=s; ps; rin(Please inptudnts numb:); scan(ld,x); i(x=0)brek; prntf(lea putna:); scaf(s,na); rit(Pae iut c1:); scanf(%f,&); pinf(le nut sc2:); scanf(%f,&); rntf(Pese input s3:); sanf(%f,&w); p-ntUL; retur(head)

18、;void howable1()clrscr();gotoxy(1,3);printf(*STUDENT INORMTION*);otxy(1,4);prif(-n);gotx(1,5);prntf(| no | ame |sc1 | sc2 | sc3 um| average order|n);void showale2()prinf(-n);STDEN*el(SUDEThead) STENT *p,q;log n;nt flag=0; clr(); p=hd; q=p;p=-net; printf(Plae iutthnumbeyoant to lete:); can(%ld,&n); f

19、(q-no=n) ead=p;free(q);fla=1; whle(p!=NULL) if(p-no) q-net=p-nxt; ree(p);fla=1;break; p=e; -net; (flag=) print(Ntid!!n); printf(Pessany keyo return.n); etch(); reun(had);vod disply(STDN *head)STUDN*;nt =; p=had; clrr(); owTabl1(); wil(p!=UL) print(|%3|10l|%12s| 1f .1f| 5.1f| 51f| %5,i,p-no,p-nam,p-s

20、core0,sor,p-scor2,p-sum,-arg,p-rdr); p=p-next; i+; soTable2(); prntf(Pressany ke to eturn.n); getch();void seach(STDENT*hed)ln st; inti;int re1; STDNT*p;p=hed; clrscr(); intf(ase iput te meryu a t gt :); caf(%ld,&str); whle(p!NU) if(sr=-n)i; pp-nxt; if(i=) shTal(); prntf(|%3|%10ld|2s| %51f| %5f|%.1f

21、| %.1f| %8.1f|%d|,ec,p-o,-name,p-co0,p-scre1,-scre2,-m,p-averae,p-rder); shable2(); lseprtf(No fin!); print(Preny key to run!); getch();oid sav(STUDNT hed)FIL*fp;SUDENT *p; clrscr(); i(fp=fopen(:kesey,w)=NULL) prin(an open he f!n); ext(); prnf(n*Saving fi*n);p=hea; wle(p!=NUL) fwrie(,szeof(STUDENT),

22、1,fp); p=-net; fo(p); printf(Sv success!!);SUDENTad() UDEN,*,he; FILE *p; lrscr(); head=NUL; i(p=fopen(e:kesheyyp,b)=NLL) pntf(Cant oen hefie!n); exit(); whe(!ff(fp) q=(SUDEN*)mloc(sizf(TUDNT); if(fred(,zo(STUDET),1,fp)!=1)break; i(hea=LL)hed;p=he; elep-next=q;p=q; p=q; pnex=NLL; lse(p); print(loasu

23、cess!); turn(ad);STDET*copter(STUENT *ha)STDENT ;int i; =had; hile(p!=NULL) for(i=0,um0;isum+=psoe; p-arage=p-u/.0; p=pnxt; rtu(head);void copynew(STUDENT*e)LE *f;SUDENT *p; int i;clrs(); pintf(pslasnumeryouant t save:(1,));scnf(%,i); wich(i) cas 1: if(fpfopen(e:keshelss1.da,wb)=NULL) printf(atopene

24、file!n); ex(1); printf(n avifl.n); p=ed; whil(p!=NUL) rt(p,szef(SUENT),1,fp); pnext; close(f); t(Save scess!!n);break; ce 2: i(ffopen(e:sheclas.da,wb)=NULL) prntf(Cant opente file!n); ex(1); pitf(n Sngfil.n); =ha; whil(!NULL) fwrite(p,sizef(STUDEN),,);p=p-xt; fcloe(fp); prt(aveucces!!n);bk; voi mof(

25、SUDNT*had)TUNT*p;floaty,z,; lon x,str;n i;char na15; clrscr(); p=head; printf(Plase inutth ueyouwan moi :); scanf(%ld,&str); ile(p!=NULL) if(s=p-no) i=; pritf(Plese inputstdnsnw ubr:); af(%d,); nt(Pleas input newame:); caf(%s,n); print(easinput nw ore1:); saf(%f,y); pntf(Please intnew scre2:); sc(%,

26、&); prntf(Please inu nescor3:); scan(%,&w); po=; p-am=na; -scre0=y; p-sc1=z; p-sre2=w; p-sum=0; p-average=; p-r=0; p-nxt; if(=1) ritf(modiy ucs!); elseint(Not fnd!); pit(Press anyke to return!); et();STUET *pend(STUEN*had)STUDNTp,s; longx; nt i; loaty,,w; char na10; clrsr(); p=head; while(p-next!=NU

27、L) p=-ex; prin(lse iput tuentsubr:); scanf(%l,&x); rintf(Plese input nae:); anf(%,); it(Pee nput score1:); scanf(%f,y); printf(Plase inp score:); scanf(%f,&); pritf(Please nputoe3:); scanf(%f,&); whe(x!0) s=(STDEN*)mlloc(szeof(TUDN); s-no=x; for(i=0;10;i+) -nameiai; s-score0=y; sscore1=z; s-score2=w

28、; s-sum=; s-arge; s-oe=; -ne; ; prinf(Please nut tntnumbr:); scnf(%ld,&x); if(x=) brak; prinf(Plainput name:); nf(%s,); print(Plase npt scoe1:); sca(,&y); prit(Pas iput core:); snf(%f,); pnf(Please input sre3:); scaf(%f,&w); p-nxtNUL; retur(ed);SUDENT *sort(UDNT *head) iti0; STUT *p,*q,*t,*r; r=ha-e

29、x; headex=ULL; wile(r!=NUL) t=r; rr-nex; p=ad; qea; whil(t-sumnet; i(p=q) t-next=p; ed=t; els -nxtp; -next=t; p=had; hil(p!=N) i+; poer=; p=p-next; pint(st sucess!!!n); retr(head);voidil(STUDNT*ea)ini,flag=; int rec=1; STUDNT*p;p=ead;clrscr(); prin(Peas inut tesubjectnmber(1,2,3):); sanf(d,&i); shwT

30、ab1(); wile(p!=NULL) if(p-screi160) flag=1; rit(%d%10d|%1| %5f| %.1f| %.1f| %.1f %81f|5d|n,rec,p-no,p-name,p-score0,psoe1,p-score2,psm,p-averge,-orde); e+; p=p-nxt; showTabl2(); if(fla=0) rint(N ne fail n te ubect!);printf(nPressayey o en!); getch();voidive(STUDEN h)STUET ;nt i;=ort(head); sowTae();

31、 fr(i=0;io,p-ame,p-score0,-scre1,p-sore,p-um,p-average,-rdr); p=ex; sowTabe2(); pritf(Pess n ket return!);getc();vod are(STUENThead)ftum0,ve;int i,j,t; STUN *p;printf(whcls yu an tprnt(1,);scanf(%d,&i); printf(whihsubject you wt to print(1,2,3); canf(%d,&); witch(i) cas 1:p=had; wil(!UL) if(-o20650&-ncrej1; t+; p=ext; bek; case 2:p=ed; while(p!=NULL) f(-no206050600&noorej-; t+; p=p-nex; brk; clsc(); ve=sum/t; pritf(

温馨提示

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

评论

0/150

提交评论