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

下载本文档

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

文档简介

数据结构课程设计报告设计题目:个人帐簿管理系统设计专 业 网络工程 班 级 网络102班 学 生 学 号 指导教师 起止时间 2012.7.22012.7.6 2012年 春季 学期 目录第一章 具体任务1第二章 运行环境2第三章 算法设计思路2第四章 流程图4第五章 源代码6第六章 运行结果 15第七章 收获及体会22第八章 参考文献23五 源代码#include#includetypedef struct int mouth; / 月份 float food; / 食品消费 float house; / 房租 float edu; / 子女教育费用 float water; / 水电费 float cure; / 医疗费 float save; / 储蓄 float pay; / 工资 float total; / 总支出Datatype;typedef struct char name20; / 用户姓名 Datatype data12; int len;SeqList;void Menu(SeqList *); / 菜单SeqList *Input(SeqList *,int *); / 输入函数void Change(SeqList *,Datatype); / 修改函数void Add(SeqList *,int *); / 添加函数void Delete(SeqList *,Datatype,int *); / 删除函数void Sort(SeqList *); / 排序函数void Find(SeqList *,Datatype); / 查找函数void Output(SeqList *); / 输出函数void Save(SeqList *); / 保存函数SeqList *Read(SeqList *); / 从文件中读出int mouth(int *); / 月份int system(const char *string); / 清屏函数int main() / 主函数 SeqList *L; int a12=13,14,15,16,17,18,19,20,21,22,23,24; Datatype x; int sel; L=(SeqList*)malloc(sizeof(SeqList); L-len=0; do Menu(L); printf(请输入您的选择n); scanf(%d,&sel); switch(sel) case 1: /输入函数 L=Input(L,a); break; case 2: /删除函数 Output(L); printf(请输入需要删除的月份n); scanf(%d,&x.mouth); Delete(L,x,a); break; case 3: /修改函数 Output(L); printf(请输入需要修改的月份n); scanf(%d,&x.mouth); Change(L,x); break; case 4: /添加函数 Add(L,a); break; case 5: /排序函数 Sort(L); break; case 6: /查询函数 printf(请输入需要查找的月份n); scanf(%d,&x.mouth); Find(L,x); break; case 7: Output(L); break; case 8: Save(L); break; case 9: L=Read(L); while(sel!=0); return 0;void Menu(SeqList *L) / 菜单 printf(*欢迎进入个人账簿管理系统*n); printf( 1 输入数据 2 删除数据nn); printf( 3 修改数据 4 添加数据nn); printf( 5 数据排序 6 数据查找nn); printf( 7 输出数据 8 保存数据nn); printf( 9 文件中读出 0 退出nn);SeqList *Input(SeqList *L,int *a) / 输入函数 int i,x; printf(请输入用户名:); scanf(%s,L-name); printf(n请输入需要录入月份的个数:); scanf(%d,&L-len); for(i=0;ilen;i+) printf(n请输入月份:); scanf(%d,&x); ai=x; while(x12|xdatai.mouth=x; printf(n工资:); scanf(%f,&L-datai.pay); printf(n食品消费:); scanf(%f,&L-datai.food); printf(n房租:); scanf(%f,&L-datai.house); printf(n子女教育费用:); scanf(%f,&L-); printf(n水电费:); scanf(%f,&L-datai.water); printf(n医疗费:); scanf(%f,&L-datai.cure); printf(n储蓄:); scanf(%f,&L-datai.save); L-datai.total=L-datai.food+L-datai.house+L-+L-datai.water+L-datai.cure+L-datai.save; system(cls); return L;void Change(SeqList *L,Datatype x) / 修改函数 int i=0,n; while(ilen&(L-datai.mouth!=x.mouth) i+; if(iL-len) printf(月份不存在!n); else printf(请选择需要修改的项目:n1.食品消费 2.房租 3.子女教育费用 4.水电费 5.医疗费 6.储蓄 7.工资 0.退出nn); do printf(请选择:); scanf(%d,&n); switch(n) case 1: printf(n食品消费:); scanf(%f,&L-datai.food); break; case 2: printf(n房租:); scanf(%f,&L-datai.house); break; case 3: printf(n子女教育费用:); scanf(%f,&L-); break; case 4: printf(n水电费:); scanf(%f,&L-datai.water); break; case 5: printf(n医疗费:); scanf(%f,&L-datai.cure); break; case 6: printf(n储蓄:); scanf(%f,&L-datai.save); break; case 7: printf(n工资:); scanf(%f,&L-datai.pay); break; while(n!=0); printf(nn); L-datai.total=L-datai.food+L-datai.house+L-+L-datai.water+L-datai.cure+L-datai.save;void Add(SeqList *L,int *a) / 添加函数 int n,i,x; printf(请输入需要添加月份的个数:); scanf(%d,&n); if(L-len+n12) printf(内存已满!n); else for(i=L-len;ilen+n;i+) printf(n请输入月份:); scanf(%d,&x); ai=x; while(x12|!mouth(a) printf(月份输入错误,请重新输入!n); scanf(%d,&x); ai=x; L-datai.mouth=x; printf(n工资:); scanf(%f,&L-datai.pay); printf(n食品消费:); scanf(%f,&L-datai.food); printf(n房租:); scanf(%f,&L-datai.house); printf(n子女教育费用:); scanf(%f,&L-); printf(n水电费:); scanf(%f,&L-datai.water); printf(n医疗费:); scanf(%f,&L-datai.cure); printf(n储蓄:); scanf(%f,&L-datai.save); L-datai.total=L-datai.food+L-datai.house+L-+L-datai.water+L-datai.cure+L-datai.save; L-len+=n; printf(nn); / 添加函数void Delete(SeqList *L,Datatype x,int *a) / 删除函数 int i=0,j; while(ilen&(L-datai.mouth!=x.mouth) i+; if(iL-len) printf(月份不存在!nnn); else for(j=i+1;jlen;j+) /*删除元素X*/ L-dataj-1=L-dataj; ai=99; (L-len)-; if(L-len!=0) printf(删除后:nn); Output(L); else printf(无信息存在!nnn); void Sort(SeqList *L) / 排序函数 Datatype x; int i,j; for(i=0;ilen;i+) for(j=0;jlen-2;j+) if(L-dataj.totaldataj+1.total) x=L-dataj+1; L-dataj+1=L-dataj; L-dataj=x; printf(开支排序后的情况如下:n); printf(用户名:%sn,L-name); printf(月份 食品消费 房租 子女教育费用 水电费 医疗费 储蓄 总收入 总支出n); for(i=0;ilen;i+) printf( %d%9.1f%9.1f%9.1f%12.1f%7.1f%7.1f %7.1f%8.1fn,L-datai.mouth,L-datai.food,L-datai.house,L-,L-datai.water,L-datai.cure, L-datai.save,L-datai.pay,L-datai.total); printf(nn);void Find(SeqList *L,Datatype x) / 查找函数 int i=0; while(ilen&(L-datai.mouth!=x.mouth) i+; if(iL-len) printf(月份不存在!n); else printf(开支情况如下:n); printf(用户名:%sn,L-name); printf(月份 食品消费 房租 子女教育费用 水电费 医疗费 储蓄 总收入 总支出n); printf( %d%9.1f%9.1f%9.1f%12.1f%7.1f%7.1f %7.1f%8.1fn,L-datai.mouth,L-datai.food,L-datai.house,L-, L-datai.water,L-datai.cure,L-datai.save,L-datai.pay,L-datai.total); printf(nn);void Output(SeqList *L) / 输出函数 int i; printf(开支情况如下:nn); printf(用户名:%snn,L-name); printf(月份 食品消费 房租 子女教育费用 水电费 医疗费 储蓄 总收入 总支出n); for(i=0;ilen;i+) printf( %d%9.1f%9.1f%9.1f%12.1f%7.1f%7.1f %7.1f%8.1fn,L-datai.mouth,L-datai.food,L-datai.house,L-,L-datai.water,L-datai.cure,L-datai.save,L-datai.pay,L-datai.total); printf(nn);void Save(SeqList *L) / 保存函数 int i; FILE *fp; fp=fopen(D:test.txt,w); fprintf(fp,%sn,L-name); for(i=0;ilen;i+) fprintf(fp, %d%9.1f%9.1f%9.1f%12.1f%7.1f%7.1f %7.1f%8.1fn,L-datai.mouth,L-datai.food,L-datai.house,L-,L-datai.water,L-datai.cure,L-datai.save,L-datai.pay,L-datai.total); fclose(fp); printf(保存成功nnn);int mouth(int *a) / 统计月份函数 int

温馨提示

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

评论

0/150

提交评论