欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    c语言程序设计实验报告.docx

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

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

    c语言程序设计实验报告.docx

    1、c语言程序设计实验报告西安郵電學院C语言课程设计报告题 目:超市管理系统院系名称:计算机学院专业名称:网络工程班 级:网络1001班学生姓名:李婷婷学号(8位):04102016指导教师:张 红 英设计起止时间:2011年6月13日2011年6月22日 一. 设计目的1.掌握带头节点的链表的工作原理和处理方法。2.会使用malloc、free等函数对链表进行创建、增加、删除、查询、统计等操作。3.加深理解模块化的编程思想,将一个程序划分成不同的函数来编写,掌握函数之间有效的调用关系。4.会使用C语言对文件进行读取、修改等操作,掌握文件的读、写操作。5.了解商品管理中所需处理的信息以及县官的处理

    2、方法6.掌握简单的加密方法,同时对密码加密。二. 设计内容本程序主要分为六个模块:主模块、信息输出修改模块、新建信息模块、排序模块、统计模块、打印模块。1) 主模块:通过调用各分模块实现功能;2) 信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3) 新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;4) 排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5) 打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;6) 统计模块:统计商品信息。 三概要设计 1功能模块图;2各个模

    3、块详细的功能描述。 1重新输入管理员信息 1.升序输出 2.输出管理员基本信息 2.降序输出3.查询管理员基本信息 1.按姓名查询 管理员信息 4.删除管理员信 2.按管理号 5.统计管理员信息 1.增加管理员 6.修改管理员信息 2.修改管理员 7.读取链表到文件超市管理系统 1.输入/输出商品信息 1.升序输出 2.商品排序 2.降序输出 3.添加商品信息 1.按编号查询商品信息 4.查询商品信息 2.按名称查查询 5.修改商品信息 3.按生产单位查询 6.删除商品信息 1.按种类统计 7.统计商品信息 2.按生产日期统计 8.读取文件信息 3.按价格统计四详细设计1功能函数的调用关系图2

    4、各功能函数的数据流程图修改商品信息流程图查询商品信息流程图对商品信息排序流程图输入商品信息流程图输出商品信息流程图打开文件流程图统计商品信息流程图删除商品信息流程图添加商品信息流程图3重点设计及编码商品信息的你排序/降序排序struct good *jiangxu(struct good *h) struct good *p1=h-next,*p2,*p; while(p1-next!=NULL) p=p1; p2=p1-next; while(p2!=NULL) if(strcmp(p-num,p2-num)next; if(p!=p1) exchange(p,p1); p1=p1-next

    5、; return h;/升序排序struct good *shengxu(struct good *h) struct good *p1=h-next,*p2,*p; while(p1-next!=NULL) p=p1; p2=p1-next; while(p2!=NULL) if(strcmp(p-num,p2-num)0) p=p2; p2=p2-next; if(p!=p1) exchange(p,p1); p1=p1-next; return h;void exchange(struct good *p,struct good *p1) char cdata50; strcpy(cda

    6、ta,p1-num);strcpy(p1-num,p-num); strcpy(p-num,cdata); strcpy(cdata,p1-name);strcpy(p1-name,p-name); strcpy(p-name,cdata); strcpy(cdata,p1-kind);strcpy(p1-kind,p-kind); strcpy(p-kind,cdata); strcpy(cdata,p1-price);strcpy(p1-price,p-price); strcpy(p-price,cdata); strcpy(cdata,p1-unit);strcpy(p1-unit,p

    7、-unit); strcpy(p-unit,cdata); strcpy(cdata,p1-quantity);strcpy(p1-quantity,p-quantity); strcpy(p-quantity,cdata); strcpy(cdata,p1-pro_time);strcpy(p1-pro_time,p-pro_time); strcpy(p-pro_time,cdata);统计商品信息/按种类统计tongji1(struct good *p) int flag=0,i=0; char spkind20; printf(请输入种类:); scanf(%s,spkind); wh

    8、ile(p-next!=NULL) p=p-next; if(strcmp(p-kind,spkind)=0) i+; flag=1; if(flag=0) printf(no find!); if(flag=1) printf(这个种类的商品有%d个.n,i); 删除商品信息/删除商品信息函数int shanchu(struct good *p0) char num10; struct good *p; p=p0-next; printf(请输入删除的商品号:); scanf(%d,&num); while(p!=NULL) if(strcmp(p-num,num)=0) p0-next=p

    9、-next; free(p); return 1; printf(删除后的商品信息:n); printf(商品编号:%s n,p-num); printf(商品名称:%s n,p-name); printf(商品类型:%s n,p-kind); printf(商品价格:%s n,p-price); printf(商品生产单位:%s n,p-unit); printf(商品数目:%s n,p-quantity); printf(商品生产日期:%s n,p-pro_time); printf(*n); p0=p; p=p-next; printf(删除失败!); return 0;五测试数据及运行

    10、结果1正常测试数据和运行结果要求提供3组正常测试数据和运行结果2异常测试数据及运行结果六调试情况,设计技巧及体会1改进方案对于密码的设计以及加密把握不太准确,调试时经常会出现密码不匹配的情况。对于排序函数的设计采用交换指针内容而不会采用交换节点来实现。对文件的读写还需进一步的改进。2体会在调试的过程中多使用单目跟踪的方法,这样可以更快更方便的找到自己的错误。在编程的过程中采用分模块编写,可以是思维更加清晰,七参考文献C语言程序设计案例实践,C语言程序设计教材八附录:源代码(电子版)/*超市管理系统*/#include #include #include #include #define N s

    11、izeof(struct good)void exchange(); struct good /*商品结构体类型*/ char num10; char name20; char kind40; char price10; char unit10; char quantity10; char pro_time10; struct good *next; /*定义结构体指针类型*/typedef struct manage /管理人员信息结构体 char name20; char numb15; char key20; struct manage *next;manage;/管理人员基本信息的创建

    12、函数struct manage *creat1(void) struct manage *p1,*p2,*l; int i,m,j,k=0; char key30; printf(nn); printf( *nn); printf( 请输入要存入管理人员的人数:); scanf(%d,&m); l=p2=(struct manage*)malloc(sizeof(struct manage); for(i=0;inumb); printf(n请输入姓名:); scanf(%s,p1-name); printf(n请输入密码:); for(j=0;jkey,key); p2-next=p1; p

    13、2=p1; p2-next=NULL; printf(nn); printf(*nn); return l;/输出管理员信息void print1(struct manage *h) int x,i; printf(nnn); printf(*公寓楼管理员信息*nn); h=h-next; while(h!=NULL) printf(管理号:%-8s姓名:%-8s密码:,h-numb,h-name); x=strlen(h-key); for(i=0;inext; printf(nn); printf(*nn);struct manage *sort1(struct manage *p) st

    14、ruct manage *r,*s; r=p-next; p-next=NULL; while(r!=NULL) s=r-next; r-next=p-next; p-next=r; r=s; free(r); free(s); return p; /用姓名查找管理人员信息函数lookname(struct manage *h) int leaf=0,x,i; char name15; printf(nn); printf(*nn); printf(请输入要查找的管理员姓名:n); scanf(%s,name); while(h-next!=NULL) h=h-next; if(strcmp(

    15、h-name,name)=0) printf(管理号:%-8s姓名:%-8s密码:,h-numb,h-name); x=strlen(h-key); for(i=0;inext!=NULL) h=h-next; if(strcmp(h-numb,numb)=0) printf(管理号:%-8s姓名:%-8s密码:,h-numb,h-name); x=strlen(h-key); for(i=0;inext; printf(nn); printf(*nn); printf(请输入要删除的管理员姓名:n); scanf(%s,name); while(j!=NULL) if(strcmp(j-na

    16、me,name)=0) h-next=j-next; free(j); printf(删除成功!n); leaf=1; break; h=j; j=h-next; if(leaf=0) printf(未找到要删除的管理员!n); printf(nn); printf(*nn);/增加管理人员信息函数add(struct manage *h ) struct manage *p; char key30; int i; p=(struct manage*)malloc(sizeof(struct manage); printf(nn); printf(*nn); printf(请输入要增加的管理员

    17、信息:n ); printf(请输入姓名:); scanf(%s,p-name); printf(请输入管理号:); scanf(%s,p-numb); printf(请输入密码:); for(i=0;ikey,key); printf(nn); printf(*nn); while(h-next!=NULL&strcmp(h-next-name,p-name)next; p-next=h-next; h-next=p; printf(it is ok!nn); system(pause);/修改管理人员信息函数revise1(struct manage *h ) struct manage

    18、*d; int l=0,choice4,i,j=0,k=0,m=0,leaf=0; char name20,name120,numb15,key10,key110,identity20; d=h-next; printf(nn); printf(*nn); strcpy(identity,guanliyuan); printf(请输入要修改人的姓名:n); scanf(%s,name); while(d!=NULL) d=d-next; if(strcmp(d-name,name)=0) l=1; while(m!=3) m+; printf(请输入你要修改人原来的密码:nn); for(i=

    19、0;ikey,key)=0) printf( it is ok!nn); system(pause); do system(cls); printf(nn); printf( 可修改项目为:n); printf(*nn); printf( 1:姓名nn); printf( 2:管理号nn); printf( 3:密码nn); printf( 0:返回.nn); printf( 请选择 (0-3):nn); printf(*nn); printf( 您的选择是:nn); fflush(stdin); scanf(%d,&choice4); switch(choice4) case 0:break; case 1: printf(请输入你修改后的名字:); scanf(%s,name1); strcpy(d-name,name1); system(pause);break; case 2: printf(请输入你修改后的管理号:); scanf(%s,numb); strcpy(d-numb,numb); system(pause);break; case 3: printf(请输入你修改后的新密码:); for(i=0;i20;i+) keyi=getc


    注意事项

    本文(c语言程序设计实验报告.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开