




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长江大学工程技术学院C语言课程设计实习报告 学生成绩管理系统的设计 学生姓名:熊奇 学号:201160255 序号:36 专业班级:测控61101 指导老师:孟宪婷 报告日期:2012年7月6日 第一部分 课程设计的题目与要求 1、问题的提出内容:1)怎样查询及显示库存物品信息?2)怎样按不同方式将库存物品信息排序?3)怎样统计各物品总价,以及计算所有物品的总价?4)如何才能实现商品的出库?5)如何修改库存物品信息?2、功能要求内容:(1)对仓库中库存的物品信息实现查询和显示功能:a)按物品名查询该物品的详细信息。b)查询库存数量不足的物品(库存数量=30)。c)显示全部物品信息。将满足查询条件的商品显示在屏幕上。(2)对物品信息实现排序功能a)按商品名排序。b)按商品的分类排序。将排序后的结果显示在屏幕上。要求至少实现一种排序方式。 (3)统计仓库中所有物品的总价。用C语言创建一个数据文件,用该文件来存放统计后的结果。(4)实现物品的出库。当要求从仓库中提取某种物品时,先查询该物品的库存数量是否满足所购要求。若满足,则允许出库,此时要将物品出库信息写入物品出库信息文件中。并修改物品的库存信息。 (5)实现物品库存信息的修改功能。先查询出要修改的记录,然后选择要修改的字段名,并输入新的字段信息。将新的字段信息写入文件中。本功能为选做内容。 第二部分 课程设计题目功能1. 系统功能模块版图设计内容:程序设计模块图输出主操作页面功能1功能2功能3功能4功能5开始查询库存数量不足的物品统计所有物品的总价按物品分类排序显示物品信息按物品排序显示全部物品信息显示全部物品信息实现物品的出库修改商品名修改商品类型修改商品价格修改商品数量修改某商品全部内容按物品名查询该物品的详细2.数据结构说明内容:声明数据类型、程序中使用的各变量的类型及作用#include /*头文件*/#define N 8 /*带参数的宏定义*/#include #include #include /*有助于后面调用时间函数*/struct store /*定义结构体类型的同时定义结构体变量*/ double total;/*用来存放给各物品的总价*/char name30;char type10; float price;int num; storeN,temp;/*temp中间变量,用来交换结构体中数组的位置*/char str1100; /*main函数中定义字符数组来存放文件中第一行字符*/void detail(char *p1) /*指针变量p1得到main函数中str1传来的字符串*/char str100/*用来判断输入的字符串在库存中是否存在*/FILE *fp1; /*定义文件指针变量*/double s=0; /*将所有商品累加的和赋给s*/char str110,str210;/* void changeall()函数中str1和str2得到的字符串分别复制给结构体数组中的某一元素*/ int k,m; /* void changeall()函数中n和m得到的数字分别赋给结构体数组中的某一元素*/ char str1100/*void out(char *p6)函数中的str1得到系统的时间与日期*/ void out(char *p6)/*形参为指向字符型的指针变量*/一、内容:模块功能说明1)菜单的编程和调用void main() /*主函数*/void main() /*主函数*/ int n,i; char str1100;FILE *fp1; /*定义文件指针变量*/ if(fp1=fopen(CK0136_store.txt,r)=0) /*判断文件是否能打开*/printf(Cannot open file!n);exit(0); /*表示正常退出该系统*/ fgets(str1,100,fp1); for(i=0;iN;i+) /*用循环从文件中读出其中的数据并给每行数组中的元素赋值*/ fscanf(fp1,%s%s%f%dn,,storei.type,&storei.price,&storei.num);/*字符串数组前面不能加取地址符号*/ fclose(fp1); /*关闭打开的文件*/ loop: printf(*n); printf(*n);printf( 小型仓库管理系统 n); printf(*n);printf(*n); printf(*n);printf( 1、按物品名查询该物品的详细 n); printf( 2、查询库存数量不足的物品(库存数量=30) n);printf( 3、显示全部物品信息。 n);printf( 4、按物品排序显示全部物品信息。 n);printf( 5、按物品分类排序显示全部物品信息。 n); printf( 6、统计所有物品的总价。 n); printf( 7、实现物品的出库。 n); printf( 8、实现物品库存信息的修改功能。 n); printf( 9、退出。 n); printf(*n); printf(*nn); printf(-n); printf(请从条件1、2、3、4、5、6、7、8、9中选择一个满足您所需的条件n); printf(-n); printf(请输入正确的操作编号:); scanf(%d,&n); printf(-n); if(n=9) exit(0);switch(n) /*选择使用不同的函数来实现不同的功能*/ case 1 : detail(str1);break;/*调用前面已定义的函数;数组名str作为实参*/ case 2 : lack(str1);break;/*break的作用是强制地跳出switch语句体*/ case 3 : all(str1);break; case 4 : ad(str1);break; case 5 : td(str1);break; case 6 : ap();break; case 7 : out(str1);break; case 8 : change();break; default:printf(您输入的不正确 !nn); /*若没按要求输入条件,就执行此语句*/ goto loop;/*若没按要求输入条件,则转移至loop构成循环;否则不执行goto语2).从文件中读出库存信息以及将文件写进结构体main() /*文件读取库存数据*/ FILE *fp1; /*定义文件指针变量*/ if(fp1=fopen(DX0102_store.txt,r)=0) /*判断文件是否能打开*/printf(Cannot open file!n);exit(0); /*表示正常退出该系统*/ fgets(str1,100,fp1); for(i=0;iN;i+) /*用循环从文件中读出其中的数据并给每行数组中的元素赋值*/fscanf(fp1,%s%s%f%dn,,storei.type,&storei.price,&storei.num);/*字符串数组前面不能加取地址符号*/fclose(fp1); /*关闭打开的文件*/3).实现函数功能的思路:a. void main() 通过显示一个主菜单选项,选择其中的条件实现不同的功能,当用户如入的条件不满足显示的条件时,吸取先提醒用户输错,然后使用goto语句跳转到loop处,请用户再次输入正确的条件。b. void detail(char *p1) /*查询所需要的商品名*/当用户错选择执行这函数时可以选择返回到主显示页面也可以继续查询物品的详情,通过实参传址使形参得到主函数中的得到的字符串。先判断库存中是否有该商品,有的话则输出该商品的所有信息,否则,查询不到该商品。c. void lack(char *p2) /*查询库存数量少于30的物品*/在执行此函数之时用户可以选择查询与返回。首先找到所查物品数量不足的位置,然后显示在屏幕上,用户可以选择退出与返回主显示菜单。d. void all(char *p3) /*显示全部物品信息*/在执行此函数之时用户可以选择显示与返回。用循环将结构体中的所有元素都显示出来,在现实物品信息之前,将指针变量p3的得到的字符串先显示出来。e. void ad(char *p4) /*按物品名称排序显示全部物品信息*/用选择法依次找出字符串较小的元素,并将其按由小到大的顺序排列。用循环与if语句结合,找出每次循环中最小的字符串。再用循环显示出重新排序的商品信息。f. void td(char *p5)函数 /*按物品分类排序显示全部物品信息*/思路同e所述的类似。g. void ap() /*所有物品的总价*/先定义文件指针变量,然后用fopen()函数打开文件指针变量所指向的文件,接着用循环计算出各物品的总价,再用循环将不同商品的总价写入到文件,以及累加所有商品的总价,写入到文件。再将所有的不同商品名及总价以及所有商品的总价显示出来。最后用户可以选择返回主显示页面以及退出。h. void out(char *p6) /*商品出库*/先判断库存中是否有该商品,有的话,再判断该商品在库存中足不足,足够的话,可以输入要出库的商品数量,接下来将出库前后有关该商品的全部信息写入文件指针变量所指向的文件中,以及将出库的日期与时间也写到文件中,方便用户对比前后该商品的有关信息。之后用户可以选择继续查询或返回主显示页面。否则,查询不到该商品,不过用户可以选择继续出库其他商品,可以选择返回主显示页面以及退出。i. void change() /*修改商品的信息*/ 用switch()语句让用户自行选择修改商品的哪些类容,然后调用不同修改功能的函数,达到用户的修改目的。 j. void changename() /*更改商品的名称*/当用户选择执行此修改功能的时候,先判断库存中是否有该商品,有的话,提醒用户输入新名称将其给一个数组,让后再用strcpy()语句将数组中的字符串复制给要修改的商品名,让后再将更新后的内容写到文件中,之后用户可以选择继续修改或返回主显示页面或退出。否则提醒用户该商品不存在,进而执行其它的语句。k. void changetype() /*改变商品的类型*/方法同j所述的相同。l. void changeprice() /*改变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蓝领员工绩效管理办法
- 产品打样保密管理办法
- 专职董事监事管理办法
- 中医诊疗服务管理办法
- 西游记团队管理办法
- abc类物料管理办法
- 财务内控人员管理办法
- 中外科研合作管理办法
- 个人广告接入管理办法
- 人防工程审批管理办法
- 2024年甘肃省武威市中考数学真题含解析
- 2024年分割公司股权离婚协议正规范本
- DB22T 277-2011 建筑电气防火检验规程
- 广东省执法证网上考试系统题库及答案
- 苏教版四上劳技表格式教案
- 《建筑设计基础》全套教学课件
- 苏教版(2024)科学一年级上册教学设计(附教材目录)
- 山东省潍坊市寒亭区2023-2024学年七年级上学期9月入学测试数学试卷(含答案)
- 带电作业用便携式核相仪
- DL/T5315-2014水工混凝土建筑物修补加固技术规程(完整)
- 高一数学必修二球的体积与表面积课件
评论
0/150
提交评论