C语言设计报告模版

上传人:ren****ao 文档编号:157485571 上传时间:2022-09-29 格式:DOC 页数:36 大小:313.52KB
返回 下载 相关 举报
C语言设计报告模版_第1页
第1页 / 共36页
C语言设计报告模版_第2页
第2页 / 共36页
C语言设计报告模版_第3页
第3页 / 共36页
点击查看更多>>
资源描述
本模板是课程设计报告模板,请各位同学认真阅读以下要求:1. 本页为设计报告要求页,不必打印。(制作好报告后输出时将本页删除)2. 本模板的各种字体及页面设置请同学们不要改动。3. 本设计报告左侧装订。在虚线处装订。4. 在课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。5. 在课程设计评定表一页上用宋体小四填写班级、学号、姓名、项目组、项目组长、项目组组员、本人工作简介。组长评语一栏应由组长来给出。6. 在课程设计任务书一页的开头应按照给定的设置(黑体三号)填写好你的班级,在第五项时间安排里面应用宋体五号加粗来填写好日期范围。7. 从程序基本框架结构图开始到设计报告的最后一页都要求有页眉,内容为你的课程设计题目,宋体小五居中。页脚中的页码已经设置好,同学们不必改动。8. 在程序基本框架结构图采用WORD中的自选图形绘制程序基本框架结构图,也就是程序流程图。9. 在程序设计说明书中应该描述程序的设计思想,重点描述自己做的那部分的设计思想。字体用宋体小四。10. 在代码清单中打印程序已经调试好的可运行的程序代码。要求字体为宋体 五号。(页数可增加)11. 报告的最后一部分是设计总结,应在程序代码之后另起一页,主要写通过一周课程设计你自己的体会,包括你学到了什么,哪里遇到了困难解决的办法以及今后的目标。字体用宋体小四。12. 报告的各个部分都可以不为规定的一页,自己可增加页数,但要保证开始另外一项要另起一页。13. 服务课程名称:本科添写:C语言;/专科添写:计算机语言(c)14. 报告完成后,要更新目录。方法为:单击目录左侧,选定整个目录后,按F9键更新目录。课 程 设 计服务课程名称: C语言 系: 能源与动力工程系 专业: 热能与动力工程 班级: 热动本111 学号 2011101127 姓名:肖国宁 指导教师: 姚大鹏 课程设计周次: 17 起始日期:2012.6.18 至2012.6.22 目录C语言课程设计成绩评定表1C语言课程设计任务书2程序设计思路3程序基本框架结构图4系统运行界面截图5源代码清单6课程设计总结7C语言课程设计成绩评定表班级热动本111学号27姓名肖国宁项目组项目组长肖国宁项目组组员本人工作简介:组长评语:成绩评定标准ABCDE理论基础很好好比较好一般不好报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序创意很好好比较好一般不好所选模块完成情况很好好一般较差不好所选算法难易程度复杂比较复杂一般简单很简单程序可操作性很好好一般较差不好答辩表现很好好一般较差不好最后成绩优秀A=5B=3C=3B=4C=1B=2C=4D=1E=0及格A=0B=0C=4不及格A=0B=0C=0D=4负责指导教师: (签名)指导教师: (签名)C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料2、遵守课程设计时间安排3、按时上机,认真调试程序4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮2、目录3、课程设计成绩评定表4、课程设计任务书5、程序基本框架图 6、程序设计说明书7、源代码清单8、课设总结与心得四、设计题目_五、时间安排(一周:从 6 月 18 日到 6 月 23 日 )1、查阅资料及程序设计(1天)2、程序编制及调试(3天)3、成绩评定(0.5天)3、打印报告(0.5天)六、参考文献1、C语言程序设计李淑华/李贞编 大连理工大学出版社2、C语言程序设计孙连科/姚大鹏编 辽海出版社3、C+时尚编程百例网冠科技编.机械工业出版社4、TURBO C 实用大全徐金梧等编. 机械工业出版社程序设计思路在我们小组设计的“商品物资管理系统”中我负责商品的排序和对所有程序进行整合两部分。 排序部分:我所用的排序方法是插入排序的方法。首先建立一个了链表,此链表包括插入函数和排序函数。 首先编辑插入函数,在定义相应的指针变量。然后if (fscanf(fp, %s %s %s %s %d %d %dn,&wpmc, &wpgg, &sccj, &ccrq, &dj, &sl, &je) 0) 进行排序。排序:PRO *follow = head, *next, *q = head-next;/插入排序。在链表中间找到位置if (q-je t-je)。输入节点的金额是最大的if (q-next = NULL) 。将商品按商品名称进行排序。 程序整合:程序整合就是将本小组成员所做的程序很好的集结在一起,需要在系统开始部分做一些调用函数,以及主菜单的设计,让整个系统可以正常运行。并使系统所要表达的内容具体、明确。程序基本框架结构图仓库管理管理系统管理系统退出系统数据修改数据删除数据查询数据浏览数据录入返回按查询按查询系统运行界面截图源代码清单#include#include#include#include #define MAX 20typedef struct product /* 定义结构体 */ char wpmcMAX; /* 物品名称*/ char wpggMAX; /*物品规格*/ char sccjMAX; /*生产厂家*/ char ccrqMAX; /*出厂日期*/ int dj,sl,je; /*单价,数量,金额*/ struct product *next; /* 定义指针,指向其后继 */PRO; / PRO变量名表列 void input(); /输入void output(); /输出void search(); /查询void searchwpmcgg(PRO *L);/按物品名称+规格查询void searchsccj(PRO *L);/按物生产厂家查询void searchccrq(PRO *L);/按物品生产厂家查询void searchwpsl(PRO *L);/按物品数量查询void searchwpmc(PRO *L);/按物品名称查询void modi(); /修改void dele(); /删除void sort(); /排序void delewpmcgg(PRO *L);/按物品名称+规格删除void delewpmc(PRO *L);/按物品名称删除void sortwpmc(PRO *L);/按物品名称排序 void main() int x; while(1)/*主菜单*/ system(cls); /清屏 printf(n); printf(n); printf(n); printf(n); printf(tttn); printf(ttt 欢迎使用 n); printf(ttt n); printf(ttt 商品物资管理系统 n); printf(ttt n); printf(tttn);system(pause); system(cls); printf(n); printf(n); printf(n); printf(tttn); printf(ttt 1. 输入 n); printf(ttt 2. 输出 n); printf(ttt 3. 追加 n); printf(ttt 4. 查询 n); printf(ttt 5. 修改 n); printf(ttt 6. 删除 n); printf(ttt 7. 排序 n); printf(ttt 0. 退出 n); printf(tttn); printf(ttt选择0-7:); scanf(%d,&x); switch(x) case 1:input();break; /调用输入函数 case 2:output();break; /调用输出函数 case 3:input();break; /调用追加函数 case 4:search();break; /调用查找函数 case 5:modi();break; /调用修改函数 case 6:dele();break; /调用删除函数 case 7:sort();break; /调用排序函数 case 0:exit(0); /退出程序 default:printf(n输入错误,请输入数字0-7n); / 其它的值 getchar(); /从终端读取单个字符 void search() /查找的主菜单 int x;PRO *L;PRO *head,*node;FILE *fout;if(!(L=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elseL-next =NULL;if(!(head=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsehead-next =NULL; L-next =head ;if(!(fout=fopen(c:ckgl.txt,r)/打开库存管理文件printf(打开文件失败n);return;while(!feof(fout) if(!(node=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点); return;elsenode-next =NULL; fscanf(fout,%s %s %s %s %d %d %dn,node-wpmc ,node-wpgg ,node-sccj ,node-ccrq ,&node-dj ,&node-sl ,&node-je );if(node-dj0) head-next =node; head=head-next ; while(1) system(cls);printf(ntttt查询方式n); printf(tttn); printf(ttt 1.按物品名称查询n); printf(ttt 2.按物品名称+物品规格查询n); printf(ttt 3.按生产厂家查询n);printf(ttt 4.按出厂日期查询n);printf(ttt 5.按物品数量查询n);printf(ttt 0.返回主菜单n); printf(tttn); printf(请输入你的选择0-5:); scanf(%d,&x); switch(x) case 1:searchwpmc(L-next );break; /调用按物品名称查找的函数 case 2:searchwpmcgg(L-next );break; /调用按名称+规格查找的函数case 3:searchsccj(L-next );break; /调用按生产厂家查找的函数case 4:searchccrq(L-next );break; /调用按出厂日期查找的函数case 5:searchwpsl(L-next );break; /调用按物品数量查找的函数 case 0:return ; /返回 default:printf(输入错误,请重新输入0-5n); void searchwpmc(PRO *L)/按物品名称查找 PRO *head;char nameMAX;if( L-next !=NULL)head=L-next ;printf(请输入你要查询的物品名称:);scanf(%s,name);while(head&strcmp(head-wpmc ,name)!=0 )head=head-next ;if (head=NULL)printf(文件中无此物品数据n);elsehead=L-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-wpmc ,name)=0) printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ; else printf(文件中无任何物品信息n);printf(n);system(pause);/按任意键继续void searchwpmcgg(PRO *L) /按物品名称+规格查找PRO *head;char nameMAX,guigeMAX;if( L-next !=NULL)head=L-next ;printf(请输入你要查询的物品名称:);scanf(%s,name);printf(请输入你要查询的物品规格:);scanf(%s,guige);while(head&(strcmp(head-wpmc ,name)!=0|strcmp(head-wpgg ,guige)!=0 )head=head-next ;if (head=NULL)printf(文件中没有符合条件的物品数据n);elsehead=L-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-wpmc ,name)=0&strcmp(head-wpgg ,guige)=0) printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ; else printf(文件中无任何物品信息n);printf(n);system(pause);/按任意键继续 void searchccrq(PRO *L) /按出厂日期查找 PRO *head;char beginMAX,endMAX;if( L-next !=NULL)head=L-next ;printf(请输入你要查询的起始日期:);scanf(%s,begin);printf(请输入你要查询的终止日期:);scanf(%s,end);while(head&(strcmp(head-ccrq ,begin)ccrq ,end)0)head=head-next ;if (head=NULL)printf(文件中没有符合条件的物品数据n);elsehead=L-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-ccrq ,begin)=0&strcmp(head-ccrq ,end)wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ; else printf(文件中无任何物品信息n);printf(n);system(pause);/按任意键继续 void searchsccj(PRO *L) /按生产厂家查找 PRO *head;char facMAX;if( L-next !=NULL)head=L-next ;printf(请输入你要查询物品的生产厂家:);scanf(%s,fac);while(head&strcmp(head-sccj ,fac)!=0 )head=head-next ;if (head=NULL)printf(文件中无此生产厂家生产的物品n);elsehead=L-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-sccj ,fac)=0) printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ; else printf(文件中无任何物品信息n);printf(n);system(pause);/按任意键继续 void searchwpsl(PRO *L) /按物品数量查找 PRO *head;int num1,num2;if( L-next !=NULL)head=L-next ;printf(请输入你要查询物品的数量下限:);scanf(%d,&num1);printf(请输入你要查询物品的数量上限:);scanf(%d,&num2);while(head&(head-slsl num2 )head=head-next ;if (head=NULL)printf(文件中没有符合条件的物品数据n);elsehead=L-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(head-sl=num1&head-slwpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ; else printf(文件中无任何物品信息n);printf(n);system(pause);/按任意键继续 void modi() /修改 PRO *L;/引用结构体指向LPRO *head,*node,*temp;/引用结构体指向head,node,tempchar nameMAX,guigeMAX,c;FILE *fout;if(!(L=(PRO *)malloc(sizeof(PRO) /分配空间 return ; /如果上面的条件为假时返回elseL-next =NULL;if(!(head=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsehead-next =NULL;if(!(temp=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsetemp-next =NULL; L-next =head ;if(!(fout=fopen(c:ckgl.txt,r)printf(打开文件失败n);return;while(!feof(fout) if(!(node=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点); return;elsenode-next =NULL; fscanf(fout,%s %s %s %s %d %d %dn,node-wpmc ,node-wpgg ,node-sccj ,node-ccrq ,&node-dj ,&node-sl ,&node-je );if(node-dj0) head-next =node; head=head-next ;fclose(fout);if(L-next -next =NULL)printf(文件中无任何物品信息n);system(pause);elsesystem(cls);head=L-next -next ;printf(ttt产品库存记录n);printf(物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head )printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ;head=L-next -next ;printf(请输入你要修改的物品名称:);scanf(%s,name);printf(请输入你要修改的物品规格:);scanf(%s,guige);while(head&(strcmp(head-wpmc ,name)!=0|strcmp(head-wpgg ,guige)!=0 )head=head-next ;if (head=NULL)printf(文件中没有该物品的数据,无法进行修改操作n);elsehead=L-next-next ;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-wpmc ,name)=0&strcmp(head-wpgg ,guige)=0) printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); break; head=head-next ; printf(n请输入修改后的物品数据:n);printf(物品名称:);scanf(%s,temp-wpmc);printf(物品规格:);scanf(%s,temp-wpgg);printf(生产厂家:);scanf(%s,temp-sccj);printf(出厂日期:);scanf(%s,temp-ccrq);printf(物品单价:);scanf(%d,&temp-dj);while(temp-dj dj);printf(物品数量:);scanf(%d,&temp-sl);while(temp-sl sl);temp-je=temp-sl*temp-dj;printf(确认修改吗?(Y/N);getchar();scanf(%c,&c);while(1) if(c!=Y&c!=y&c!=N&c!=n) printf(请输入正确的选择(Y/N); getchar(); scanf(%c,&c); else break; if(c=N|c=n) ; else if(c=Y|c=y) if(!(fout=fopen(c:ckgl.txt,w)printf(打开文件失败n);return; strcpy(head-wpmc,temp-wpmc); strcpy(head-wpgg,temp-wpgg); strcpy(head-sccj,temp-sccj); strcpy(head-ccrq,temp-ccrq); head-dj=temp-dj; head-sl=temp-sl; head-je=temp-je; node=L-next-next ; while(node) fprintf(fout,%s %s %s %s %d %d %dn,node-wpmc ,node-wpgg ,node-sccj ,node-ccrq ,node-dj ,node-sl ,node-je );node=node-next ; fclose(fout); system(pause); void dele() /删除 int x;PRO *L;PRO *head,*node;FILE *fout;if(!(L=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elseL-next =NULL;if(!(head=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsehead-next =NULL; L-next =head ;if(!(fout=fopen(c:ckgl.txt,r)printf(打开文件失败n);return;while(!feof(fout) if(!(node=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点); return;elsenode-next =NULL; fscanf(fout,%s %s %s %s %d %d %dn,node-wpmc ,node-wpgg ,node-sccj ,node-ccrq ,&node-dj ,&node-sl ,&node-je );if(node-dj0) head-next =node; head=head-next ; while(1) system(cls);printf(ntttt删除方式n); printf(tttn); printf(ttt 1.按物品名称删除 n); printf(ttt 2.按物品名称+物品规格删除 n); printf(ttt 0.返回主菜单 n); printf(tttn); printf(请输入你的选择0-2:); scanf(%d,&x); switch(x) case 1:delewpmc(L-next );break; /调用按物品名称查找的函数 case 2:delewpmcgg(L-next );break; /调用按名称+规格查找的函数 case 0:return ; /返回 default:printf(输入错误,请重新输入0-5n); void input() /输入 PRO *in,*last, *L;char c;int x=1;FILE *fin;if(!(L=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elseL-next =NULL; /否则结点L接到链表尾为空if(!(fin=fopen(c:ckgl.txt,a) / 打开文件, a 向向文本文件尾追加数据printf(打开文件失败n);exit(1); /返回值为1时打开失败 if(!(in=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点);return; /当上面的条件为真时返回last=L; /指针L指向指针lastwhile(last-next !=NULL) last=last-next ; /当指针last指向的下一个位置不为空时while(x) printf(n请输入物品数据:n); printf(物品名称:);scanf(%s,in-wpmc); printf(物品规格:);scanf(%s,in-wpgg);printf(生产厂家:);scanf(%s,in-sccj);printf(出厂日期:);scanf(%s,in-ccrq);printf(物品单价:);scanf(%d,&in-dj);while(in-dj dj);printf(物品数量:);scanf(%d,&in-sl);while(in-sl sl);in-je=in-sl*in-dj; last-next =in;last=last-next ;fprintf(fin,%s %s %s %s %d %d %dn,in-wpmc ,in-wpgg ,in-sccj ,in-ccrq ,in-dj ,in-sl ,in-je );printf(是否继续输入?(Y/N);getchar();scanf(%c,&c);while(1) if(c!=Y&c!=y&c!=N&c!=n) printf(请输入正确的选择(Y/N); getchar(); scanf(%c,&c); else break; if(c=N|c=n) x=0; else if(c=Y|c=y)if(!(in=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点); exit(1); fclose(fin);void output() /输出PRO *head,*node,*L;FILE *fout;if(!(L=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elseL-next =NULL;if(!(head=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsehead-next =NULL; L-next =head ;if(!(fout=fopen(c:ckgl.txt,r)printf(打开文件失败n);return ;while(!feof(fout)if(!(node=(PRO *)malloc(sizeof(PRO) /分配空间 printf(无法分配空间给新结点); return ;elsenode-next =NULL; fscanf(fout,%s %s %s %s %d %d %dn,node-wpmc ,node-wpgg ,node-sccj ,node-ccrq ,&node-dj ,&node-sl ,&node-je );if(node-dj=0)head-next =node;head=head-next ; if(head=L-next-next )=NULL)printf(文件中无任何产品信息n);elsesystem(cls);printf(ttt产品库存记录n);printf(物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head )printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ;fclose(fout);system(pause);/按任意键继续 void delewpmcgg(PRO *L)PRO *head,*node,*temp;char nameMAX,guigeMAX,c;FILE *fout;if(!(head=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsehead-next =NULL;if(!(temp=(PRO *)malloc(sizeof(PRO) /分配空间 return ;elsetemp-next =NULL; if(L-next =NULL)printf(文件中无任何物品信息n);system(pause);elsesystem(cls);head=L-next ;printf(nttt产品库存记录n);printf(物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head )printf(%-10s%-10s%-12s%-12s%-6d%-6d%-6dn,head-wpmc ,head-wpgg,head-sccj,head-ccrq,head-dj,head-sl,head-je); head=head-next ;head=L-next;printf(请输入你要删除的物品名称:);scanf(%s,name);printf(请输入你要删除的物品规格:);scanf(%s,guige);while(head&(strcmp(head-wpmc ,name)!=0|strcmp(head-wpgg ,guige)!=0 )head=head-next ;if (head=NULL)printf(文件中没有该物品的数据,无法进行删除操作n);elsehead=L-next;node=L;printf(n物品名称 物品规格 生产厂家 出厂日期 单价 数量 金额n);while(head ) if(strcmp(head-wpmc ,name)=0&strcmp(head-wpgg ,guige)=0)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


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

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


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