数据结构课程设计报告.doc_第1页
数据结构课程设计报告.doc_第2页
数据结构课程设计报告.doc_第3页
数据结构课程设计报告.doc_第4页
数据结构课程设计报告.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

数据结构课程设计数据结构课程设计报告 设计题目:_客户消费积分管理系统_ 姓名 :_ 学号 :_ 专业 :_ _ 院系 :_计算机科学与技术学院 班级 :_1004_ 指导教师:_ _ 目录1 问题描述.32 需求分析.33 概要设计.34 数据结构设计.35 算法设计.46 程序测试与实现.47 测试分析.88 遇到问题及解决办法.99 心得体会.9一、问题描述1 题目内容:运用链表的操作来实现客户消费积分系统管理。1. 基本要求:采用一定的存储结构进行客户信息的存储;2. 对客户的信息可以进行修改、删除、添加;3. 能够根据消费情况进行客户积分的计算;4. 根据积分情况实行不同程度的打折优惠。2 要求从文件中读取通讯录。二、需求分析1采用一定的存储结构进行客户信息的存储;2对客户的信息可以进行修改、删除、添加;3能够根据消费情况进行客户积分的计算;4根据积分情况实行不同程度的打折优惠。三、概要设计本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消费情况。然后将数组写入文件,查询时读取文件,提取相应信息。4、 数据结构设计1.在数组中定义3个字符串nunber、name、money,分别存储客户的顾客号、姓名、消费额。2.修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。3.查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。4.删除函数根据用户输入客户号找到相应文件进行删除5.主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出。五、算法设计 1、算法分析(必须要用语言进行描述)1. 在数组中分别用nunber,name,money来表示客户的号码,姓名和消费数目2.修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。3.查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。 2、算法实现3、算法流程图六、程序测试与实现1、函数之间的调用关系录入删除查看修改删除文件读取文件修改信息存入文件 2、主程序 #include stdio.h#include stdlib.h#include string.h#include conio.h#include mem.h#include ctype.h#include alloc.hstruct score char number8; /*定义3个存储客户信息的字符串*/ char name20; float score6;data,info1000; /*定义数组*/ int i,j,k=0; float n; /*n为折扣值*/ char temp20,ch; FILE *fp,*fp1;void luru() if(fp=fopen(s_score.txt,ab+)=NULL) printf(cannot open this file.n); getch();exit(0); for(i=0;i=0;i+) /*无限循环知道用户选择停止*/ printf(Please input number:); gets(data.number); printf(please input name:); gets(); printf(Please input money:); gets(temp);data.score0=atof(temp); /*不能直接赋值,采用转换函数*/ if(data.score0=5000) /*判断折扣区间*/ n=1; else if(data.score05000)n=0.95; else n=0.9; fwrite(&data,sizeof(data),1,fp); /*写入文件*/ printf(another?(input n to main/anykey to continue)n); /*循环停止判断*/ ch=getch(); if(ch=n|ch=N) break; fclose(fp);void xiugai() if(fp=fopen(s_score.txt,rb+)=NULL|(fp1=fopen(temp.txt,wb+)=NULL) printf(Cannot open this file.n); exit(0); printf(nPlease input shuru xiugai nunber:); scanf(%d,&i); getchar(); while(fread(&data,sizeof(data),1,fp)=1) /*读取文件*/ j=atoi(data.nunber); if(j=i) /*根据输入数值确定客户号*/ printf(nunber:%snname:%sn,data.nunber,); printf(Please input name:); gets(); printf(Please input money:); gets(temp);data.score0=atof(temp); fwrite(&data,sizeof(data),1,fp1); fseek(fp,0L,0); /*0位移*/ fseek(fp1,0L,0); while(fread(&data,sizeof(data),1,fp1)=1) fwrite(&data,sizeof(data),1,fp); /*取代原文件*/ fclose(fp); fclose(fp1);void chazhao() if(fp=fopen(s_score.txt,rb)=NULL) printf(nCannot open this file.n); exit(0); printf(nPlease input number chakan:); scanf(%d,&i); while(fread(&data,sizeof(data),1,fp)=1) j=atoi(data.number); if(i=j) printf(number:%snnamei:%snmoney:%fnjifen:%fnzhekou:%fn,data.number,,data.score0,data.score0,n); getch();void shanchu()if(fp=fopen(s_score.txt,rb+)=NULL|(fp1=fopen(temp.txt,wb+)=NULL) printf(nopen score.txt was failed!); getch(); exit(0); printf(nPlease input number which you want to del:); scanf(%d,&i);getchar(); while(fread(&data,sizeof(data),1,fp)=1) j=atoi(data.number); if(j=i) printf(Anykey will delet it.n); getch(); continue; fwrite(&data,sizeof(data),1,fp1); fclose(fp); fclose(fp1); remove(s_score.txt); /*删除文件*/ rename(temp.txt,s_score.txt); printf(Data delet was succesful!n); printf(Anykey will return to main.); getch();main()while(1) clrscr(); /*清屏*/ printf(*=* n); printf(* 1luru 2xiugai * n); printf(* 3shanchu 4chazhao * n); printf(* 5exit * n); printf(* * n); printf(* -* n); printf( Please input which you want(1-5):n); ch=getch(); switch(ch) case 1:luru();break; case 2:xiugai(); break; case 3:shanchu(); break; case 4:chazhao(); break; case 5:exit(0); default: continue; 3、 测试数据用三个客户的信息进行测试number001002003name张三李四王二money1000021000320004、测试结果七、调试分析通过录入函数对3个字符串循环进行赋值,然后根据消费额使用if语句判断其折扣区间,复制完毕后存入文件s_score.txt。修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。删除函数根据用户输入客户号找到相应文件进行删除。主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出。

温馨提示

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

最新文档

评论

0/150

提交评论