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

    【2022精编】《软件技术基础》项目实战任务书指导书.docx

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

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

    【2022精编】《软件技术基础》项目实战任务书指导书.docx

    编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第45页 共46页软件技术基础课程设计项目实战任务书指导书胡永祥 编江苏财经职业技术学院2011年5月前 言软件技术基础是高职高专计算机软件技术、计算机应用技术、计算机网络技术、应用电子技术等专业的一门专业基础课,其特点是应用广泛,实践性较强。通过课程设计,可使学生进一步掌握C语言程序设计的基本知识,增强学生利用C语言进行程序设计的实践技能,培养学生综合运用相关知识的能力。一、项目实战的任务和性质1、巩固对所学C语言程序设计基本知识的掌握2、增强学生利用C语言程序设计的实践技能3、培养学生独立分析和解决问题的能力4、培养学生综合运用所学知识解决实际问题的能力二、项目实战的基本要求1、进一步掌握C语言程序设计方法和组织实现的基本技能2、学会分析解决问题的方法,对设计中出现的问题,能通过独立思考、查阅资料等手段寻找解决问题的途径3、熟悉C语言程序调试的方法,对程序中出现的错误能够独立调试解决4、对设计结果能独立进行分析、评价5、培养严肃认真、实事求是的科学作风三、项目实战内容1、选择、熟悉并适应编程编译、调试环境2、选择并确定设计课题3、审阅所选课题、明确实现的具体方法,确定基本算法和编程方法4、编写程序5、上机调试程序,查错、纠错6、撰写课程设计报告7、准备答辩说明:阅读、分析课程设计实例,有助于理解和把握C语言程序设计的一些基本方法、过程和技巧项目实战任务书一、项目实战题目学生成绩管理系统二、项目实战目的1进一步掌握和利用C语言进行行程设计的能力2进一步理解和运用结构化程序设计的思想和方法3初步掌握开发一个小型实用系统的基本方法4学会调试一个较长程序的基本方法5学会利用流程图表示算法6掌握书写程序设计开发文档的能力(书写课程设计报告)三、项目实战具体内容1每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩2. 输入功能:可以一次完成若干条记录的输入3显示功能:完成全部学生记录的显示4查找功能:完成按学号查找学生记录并显示5排序功能:按学生总分进行排序6插入功能:按学号插入一条学生记录7将学生记录保存在文件中8应提供一个菜单来调用各个功能,调用菜单的界面应尽可能清晰美观四、项目实战要求1、用C语言实现系统2、利用结构体链表实现学生成绩的数据结构设计3、系统具有追加,查询,插入,排序等基本功能4、系统的各个功能要求用函数的形式实现5、完成设计任务并书写课程设计报告6、将学生成绩信息存在文件中五、项目实战报告的要求1、目录2、前言3、设计目标4、设计概要(设计思路)5、程序设计(要求一并提交源程序清单及电子文挡)6、测试结果7、结论或体会8、参考文献项目实战指导书一、概要设计1制作这样的一个数据库需要实现以下功能:(1)数据库的安全性。进入数据库需要输入用户的密码,不同的用户可以有不同的权限。(2)数据库的操作界面设计为菜单显示方式。用户通过菜单进行选择。如下图所示:图1 主菜单界面程序的输出格式:图 2 程序的输出格式本程序利用单链表存储结构完成对学生成绩的动态管理,其基本功能模块图如下图所示:主程序输入显示删除查找插入追加保存读入计算拷贝排序索引分类合计图 3 基本功能模块图2各函数流程图(1)creat()函数(2)del()函数(3)display()函数(4)search()函数(5)save()函数(6)load()函数(7)computer()函数(8)copynew()函数(9)modify()函数(10)append()函数(11)sort()函数(12)index()函数(13)fail()函数(14)five()函数(15)average()函数(16)classscore()函数二、详细设计:按照概要设计列出的功能模块,设计出与这些模块一一对应的功能函数,以供主函数使用。(1)函数原型:menu_select()函数功能:主菜单。用户通过菜单进行选择。调用各功能函数。(2)函数原型:student *creat()函数功能:该函数是用来创建单链表。当在主函数中输入1时,即进入创建链表函数,即开始输入学生信息,按照提示信息输入学号、三门课程的成绩,每输入完一个数就按一下回车键,当输入学号为0时结束输入,返回主函数,显示主菜单界面。(3)函数原型:student *del(student *head)函数功能:该函数的作用是删除指定学号的学生记录。首先根据提示信息输入要删除结点的学号,输入后根据学号顺序查找结点,如果没有找到,则输出没有找到的信息;否则,显示找到的信息,然后删除。调用结束返回主函数,显示主菜单。(4)函数原型:void display(student *head)函数功能:该函数的作用是显示单链表。本函数以二维表的形式输出,直观漂亮。调整格式,对齐表格线。(5)函数原型:void search(student *head)函数功能:该函数的作用是查找指定学号的学生记录。根据提示信息输入要查找结点的学号,输入后根据学号顺序查找,如果没有找到,则输出没有找到的信息;否则,显示找到的信息。调用结束返回主函数,显示主菜单。(6)函数原型:void save(student *head)函数功能:该函数的作用是将学生记录保存到指定文件中。在访问链表的过程中将记录写入文件。(7)函数原型:student *load()函数功能:该函数的作用是将学生记录从文件中取出放到链表中。Load和creat函数算法相同,不同点在于creat是从键盘上接受数据,而Load函数是从文件中读数据。(8)函数原型:student *computer(student *head)函数功能:该函数作用是计算每个学生成绩的总分和平均分。(9)函数原型:void copynew(student *head)函数功能:该函数的作用是把学生记录从原来的文件中复制到新文件中。(10)函数原型:void sort(student *head)函数功能:排序。是对链表上的结点按照总分的由大到小的顺序进行排序。(11)函数原型:void modify(student *head)函数功能:修改数据。根据提示信息输入要查找结点的学号,输入后根据学号顺序查找,如果没有找到,则输出没有找到的信息;否则,修改找到的信息。调用结束返回主函数,显示主菜单。(12)函数原型:student *append(student *head)函数功能:添加记录。在链表最后添加一个结点记录,返回主函数。(13)函数原型:void index()函数功能:建立索引。设置索引是为了分类合计。(14)函数原型:void fail(student *head)函数功能:查找不及格学生的信息。顺序查找各结点只要有一门学科分数低于60分就显示该学生的全部信息,返回索引函数。(15)函数原型:void five(student *head)函数功能:查找全年级前五名的学生,并显示他们的全部信息。返回索引函数。(16)函数原型:void average(student *head)函数功能:求各班的平均分。通过学号字段来区分班级,在这个字段内的记录的总分相加,除以人数,算出各班的平均分并显示。完毕后返回索引函数。(17)函数原型:void classscore(student *head)函数功能:显示一个班的学生信息。输入班级号,通过学号控制顺序查找并显示该班全部学生信息。(18)函数原型:void main()函数功能:有机调用各个子函数。使用switch()函数进行菜单的选择。三、调试报告:1在调试菜单函数时,由于文本大小控制不当而出现了乱码,通过几次改正尝试,消除了这个现象。2在调试时经常出现语法错误,一些分号和大括号经常被遗漏,导致产生错误。四、程序清单:#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<mem.h>#include<ctype.h>#include<string.h>typedef struct s1long no;char name10; float score3; float sum; float average; int order; struct s1 *next;STUDENT;int menu_select() char *menu="*MENU*", "1. Enter list", "2. Delete arecord from list", "3. Print list", "4. Search record on number", "5. Save the file", "6. Load the file", "7. Computer the score", "8. Copy the file to new file", "9. Sort data", "10. modify data", "11. Append record to file", "12. Index on number", "13. total on number", "14. Quit" char s3; int c,i; clrscr(); gotoxy(2,2); printf("Press any key enter menu.n"); clrscr(); gotoxy(1,1); textcolor(1); textbackground(0); gotoxy(10,2); putch(0xc9); for(i=1;i<54;i+) putch(0xcd); putch(0xbb); for(i=3;i<20;i+) gotoxy(10,i);putch(0xba); gotoxy(64,i);putch(0xba); gotoxy(10,20);putch(0xc8); for(i=1;i<54;i+) putch(0xcd); putch(0xbc); window(11,3,63,19); clrscr(); for(i=0;i<15;i+) gotoxy(10,i+1); cprintf("%s",menui); textbackground(0); window(1,1,80,50); gotoxy(20,21); do printf(" Enter your choice (0-14):"); scanf("%s",s); c=atoi(s); while(c<0|c>14); return c;int menu_select2() char *menu="*MENU*", "1. The student who fail in test", "2. The first to fifth in grade", "3. Class average on subject", "4. Class total record", "5. Quit" char s3; int c,i; clrscr(); gotoxy(2,2); printf("Press any key enter menun"); clrscr(); gotoxy(1,1); textcolor(1); textbackground(0); gotoxy(10,2); putch(0xc9); for(i=1;i<54;i+) putch(0xcd); putch(0xbb); for(i=3;i<12;i+) gotoxy(10,i);putch(0xba); gotoxy(64,i);putch(0xba); gotoxy(10,12);putch(0xc8); for(i=1;i<54;i+) putch(0xcd); putch(0xbc); window(11,3,63,11); clrscr(); for(i=0;i<6;i+) gotoxy(10,i+1); cprintf("%s",menui); textbackground(0); window(1,1,80,50); gotoxy(20,13); do printf(" Enter your choice (1-5):"); scanf("%s",s); c=atoi(s); while(c<0|c>14); return c;STUDENT *creat() STUDENT *head,*p,*s;float y,z,w; long x; int i; char na15; head=NULL; clrscr(); printf("Please input student's number:"); scanf("%ld",&x); printf("Please input name:"); scanf("%s",na); printf("Please input sc1:"); scanf("%f",&y); printf("Please input sc2:"); scanf("%f",&z); printf("Please input sc3:"); scanf("%f",&w); while(x!=0) s=(STUDENT*)malloc(sizeof(STUDENT); s->no=x; for(i=0;i<10;i+) s->namei=nai; s->score0=y; s->score1=z; s->score2=w; s->sum=0; s->average=0; s->order=0; if(head=NULL) head=s;p=head; else p->next=s; p=s; printf("Please input student's number:"); scanf("%ld",&x); if(x=0)break; printf("Please input name:"); scanf("%s",na); printf("Please input sc1:"); scanf("%f",&y); printf("Please input sc2:"); scanf("%f",&z); printf("Please input sc3:"); scanf("%f",&w); p->next=NULL; return(head);void showTable1()clrscr();gotoxy(10,3);printf("*STUDENT INFORMATION*");gotoxy(1,4);printf("-n");gotoxy(1,5);printf("|rec| no | Name | sc1 | sc2 | sc3 | sum | average |order|n");void showTable2()printf("-n");STUDENT *del(STUDENT *head) STUDENT *p,*q; long n;int flag=0; clrscr(); p=head; q=p;p=p->next; printf("Please input the number you want to delete:"); scanf("%ld",&n); if(q->no=n) head=p;free(q);flag=1; while(p!=NULL) if(p->no=n) q->next=p->next; free(p);flag=1;break; p=p->next; q=q->next; if(flag=0) printf("Not find!n"); printf("Press any key to return.n"); getch(); return(head);void display(STUDENT *head)STUDENT *p; int i=1; p=head; clrscr(); showTable1(); while(p!=NULL) printf("|%3d|%10ld|%12s| %5.1f| %5.1f| %5.1f| %5.1f| %8.1f|%5d|n",i,p->no,p->name,p->score0,p->score1,p->score2,p->sum,p->average,p->order); p=p->next; i+; showTable2(); printf("Press any key to return.n"); getch();void search(STUDENT*head)long str; int i; int rec=1; STUDENT *p;p=head; clrscr(); printf("Please input the number you want to get :"); scanf("%ld",&str); while(p!=NULL) if(str=p->no)i=1; p=p->next; if(i=1) showTable1(); printf("|%3d|%10ld|%12s| %5.1f| %5.1f| %5.1f| %5.1f| %8.1f|%5d|n",rec,p->no,p->name,p->score0,p->score1,p->score2,p->sum,p->average,p->order); showTable2(); elseprintf("Not find!"); printf("Press any key to return!"); getch();void save(STUDENT *head)FILE *fp;STUDENT *p; clrscr(); if(fp=fopen("e:kesheyyp","wb")=NULL) printf("Can't open the file!n"); exit(1); printf("n*Saving file*n"); p=head; while(p!=NULL) fwrite(p,sizeof(STUDENT),1,fp); p=p->next; fclose(fp); printf("Save success!n");STUDENT *load() STUDENT *p,*q,*head; FILE *fp; clrscr(); head=NULL; if(fp=fopen("e:kesheyyp","rb")=NULL) printf("Can't open the file!n"); exit(1); while(!feof(fp) q=(STUDENT *)malloc(sizeof(STUDENT); if(fread(q,sizeof(STUDENT),1,fp)!=1)break; if(head=NULL)head=q;p=head; elsep->next=q;p=q; p=q; p->next=NULL; fclose(fp); printf("load success!"); return(head);STUDENT *computer(STUDENT *head)STUDENT *p;int i; p=head; while(p!=NULL) for(i=0,p->sum=0;i<3;i+)p->sum+=p->scorei; p->average=p->sum/3.0; p=p->next; return(head);void copynew(STUDENT*head)FILE *fp;STUDENT *p; int i; clrscr(); printf("press class number you want to save:(1,2)"); scanf("%d,i"); switch(i) case 1: if(fp=fopen("e:kesheclass1.dat","wb")=NULL) printf("Can't open the file!n"); exit(1); printf("n Saving file.n"); p=head; while(p!=NULL) fwrite(p,sizeof(STUDENT),1,fp); p=p->next; fclose(fp); printf("Save success!n");break; case 2: if(fp=fopen("e:kesheclass2.dat","wb")=NULL) printf("Can't open the file!n"); exit(1); printf("n Saving file.n"); p=head; while(p!=NULL) fwrite(p,sizeof(STUDENT),1,fp);p=p->next; fclose(fp); printf("Save success!n");break; void modify(STUDENT*head)STUDENT *p;float y,z,w; long x,str; int i; char na15; clrscr(); p=head; printf("Please input the number you want to modify :"); scanf("%ld",&str); while(p!=NULL) if(str=p->no) i=1; printf("Please input student's new number:"); scanf("%ld",&x); printf("Please input new name:"); scanf("%s",na); printf("Please input new score1:"); scanf("%f",&y); printf("Please input new score2:"); scanf("%f",&z); printf("Please input new score3:"); scanf("%f",&w); p->no=x; p->namei=nai; p->score0=y; p->score1=z; p->score2=w; p->sum=0; p->average=0; p->order=0; p=p->next; if(i=1) printf("modify success!n"); elseprintf("Not find!"); printf("Press any key to return!"); getch();STUDENT *append(STUDENT*head)STUDENT *p,*s; long x; int i; float y,z,w; char na10; clrscr(); p=head; while(p->next!=NULL) p=p->next; printf("Please input student's number:"); scanf("%ld",&x); printf("Please input name:"); scanf("%s",na); printf("Please input score1:"); scanf("%f",&y); printf("Please input score2:"); scanf("%f",&z); printf("Please input score3:"); scanf("%f",&w); while(x!=0) s=(STUDENT*)malloc(sizeof(STUDENT); s->no=x; for(i=0;i<10;i+) s->namei=nai; s->score0=y; s->score1=z; s->score2=w; s->sum=0; s->average=0; s->order=0; p->next=s; p=s; printf("Please input student's number:"); scanf("%ld",&x); if(x=0) break; printf("Please input name:"); scanf("%s",na); printf("Please input score1:"); scanf("%f",&y); printf("Please input score2:"); scanf("%f",&z); printf("Please input score3:"); scanf("%f",&w); p->next=NULL; return(head);STUDENT *sort(STUDENT *head) int i=0; STUDENT *p,*q,*t,*r; r=head->next; head->next=NULL; while(r!=NULL) t=r; r=r->next; p=head; q=head; while(t->sum<p->sum&&p!=NULL) q=p; p=p->next; if(p=q) t->next=p; head=t; else t->next=p; q->next=t; p=head; while(p!=NULL) i+; p->order=i; p=p->next; printf("sort sucess!n"); return (head);void fail(STUDENT *head)int i,flag=0; int rec=1; STUDENT *p;p=head;clrscr(); printf("Please input the subject number(1,2,3) :"); scanf("%d",&i); showTable1(); while(p!=NULL) if(p->scorei-1<60) flag=1; printf("|%3d|%10ld|%12s| %5.1f| %5.1f| %5.1f| %5.1f| %8.1f|%5d|n",rec,p->no,p->name,p->score0,p->score1,p->score2,p->sum,p->average,p->order); rec+; p=p->next; showTable2(); if(flag=0) printf("No one fail in th

    注意事项

    本文(【2022精编】《软件技术基础》项目实战任务书指导书.docx)为本站会员(飞****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开