C语言备忘录设计_第1页
C语言备忘录设计_第2页
C语言备忘录设计_第3页
C语言备忘录设计_第4页
C语言备忘录设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、学号 之迟 辟智 美创 作2012-2013学年 第二学期高级语言法式设计课程设计陈说题目:备忘录专业:计算机科学与技术班级 :姓名:指导教师 :成 果 :计算机与信息工程系年月日目录1 设计内容及要求2 TOC o 1-5 h z 2 概要设计 3 3 HYPERLINK l bookmark8 o Current Document 2.2 总体法式框图 34 HYPERLINK l bookmark10 o Current Document 33 设计过程或法式代码553.2 对关键代码加以分析说明 7法式调试分析13小结 14 HYPERLINK l bookmark14 o Curre

2、nt Document 致谢 15 HYPERLINK l bookmark16 o Current Document 参考文献 16附:源式301 设计内容及要求备忘录主要根据课程设计要求进行设计,能够进行个人的事件记录,可以将法式使用者的时间安插,重要事件,以及个人行程等事件做出具体详细的记述,并能够使使用者在法式上完成检查时间的功能,足以使得使用者防止忘记一些重要事件,也可以为使用者带来一些便利,帮手使用者节省了时间 .电子备忘录相较于笔记本,其最年夜的好处在于可以不受纸张的限制,并切实的使用者可以在短时间内记述年夜量事件;查询时也可以节省年夜量的时间,使得使用者可以减短查询时间,方便快

3、捷.同时,使用电子备忘录也是一种现代化的代表,将电子科技应用与人们的日常生活中,到达现代实惠的先进水平.该系统功能主要包括三年夜模块:)备忘录的信息录入)备忘录信息的检查3)进出备忘录系统主要利用 C 语言的文件把持能力设计开发一个小型的备忘录系统,至少具有如下功能:备忘录的信息录入,备忘录的信息查询和退出备忘录系统. 把持界面要符合用户的一般习惯,图形或文本界面都可以 .要求:利用 C 语言编写一个备忘录法式,能实现一些基本的把持,到达一些基本的信息录入,查询,提醒以及编写等功能,能根据课程设计的要求,查阅相关文献,为完成设计准备需要的知识; 提高自身用高级语言进行法式设计的能力,重点提高用

4、 C 语言进行文件把持和绘图应用的编程技术水平;初步了解软件开发的一般方法和步伐; 提高撰写技术文档的能力 . 而且对 C 语言的一些基本语句以及功能有一些更加深刻的认识和理解.能够利用C语言解决一些生活中的基本问题 . 2 概要设计该系统的主要功能是实现重要信息的录入,包括录入的以后时间,事件的重要性以及提醒时间 . 能够在设按时间内对使用者提醒,防止使用者忘记重要事件,造成不需要的麻烦2.2总体法式框图备忘录2.3询,先,备忘录主菜单录编出备忘录明踞要关系称提 醒 我叱推备忘备忘通亍能在系口备忘录喙的,时间统内而录入的信息进行查并他目刈重要的主函数包括了所才叫演息进行盘崛忘.各个模块之视”

5、系是相互联系的.首有的子函数主函数是整个法弋的核心.子函数之间也有联系的,对重要的信息查询,必需是在信息录入的情况下进行的.因此对重要事件 信息的录入时非常重要的.在退出备忘录系统的子函数之间是没有多年夜联系的3设计过程或法式代码备忘录开始main()函数开始执行 显示备忘排主菜单ca4e 3调用search_memo()函数显示个室忘查询施单case 2se 1case 1调用input_memo() 函数实现 个人断ase 1case 2调用 modify_memo() 函数显示个人备忘功调用remind_me()函数显示个备忘提醒 隹菜单case 5 调用 exit(0) 退出 法式函数

6、返回值:void)函数名称:input_memo()函数 功能:实现个人备忘内容的输入功能函数参数:void函数返回值:void) 函数 名称:search_memo()函数功能:实现个人备忘内容查询功能的菜单函数参数:void函数返回值:void)函数 名称:search_by_name()函数 功能:实现个人备忘内容通过备忘名称查询的功能函数参数:void函数返回值:void)函数名称:search_by_event_date()函数 功能:实现个人备忘内容通过备忘时间查询的功能函数参数:void函数返回值:void)函数名称:modify_memo()函数功能:实现个人备忘内容修改功能的

7、菜单函数参数:void函数返回值:void)函数 名称:modify_by_name()函数 功能:实现个人备忘内容通过备忘名称修改的功能函数参数:void函数返回值:void)函数名称:modify_by_event_date()函数 功能:实现个人备忘内容通过备忘时间修改的功能函数参数:void函数返回值:void数数函函称能名功remind_me()实现个人备忘的提醒功能函数参数:void 函数返回值:void4设计结果与分析1)运行备忘录程序运行法式,进入备忘录系统的主菜单,依照系统提示进行把持,完成系统 的把持图2)输入数字进行菜功能的选择,输入数字 1,执行输入新备忘的功能, 调用

8、输入新备忘的函数显示结果如下:清布?柔单f器的领T;您输A的敖字是一.- 忘 哥 新 A 轴 请闻果悠相返回上级菜凿,请箱;H一二亲洵儿新的普忘电松雅港二谡程设计请输入新的留至时间的11年7月3目晴郁人守的音忘内容,诺言课程设计很告于如日,月7号上交.咕行?却的备苗讲醒时孙Ml钟坪号您输入的新备忘是:名称:匕吾言律程设计管忘时间罐附1年明3号备忘内容*语言具程设计转告十2。“年哨陪上交提堂时间:加1年用6号泰宫您新备忘己蟀输入成功!请输入另一个新音忘I4如果您想返回上扭菜单,清输入明八请输入新的备忘名郴IFI3)输入数字2,执行个人备忘的查询功能,调用备忘查询函数,显示备忘查询的功能菜单.结果

9、如下: Q:JIM tOFTyCYuYiaFGMyAhTtFrrF 产,户竹 ,忘录干菜单 工输入新备忘2查询备忘*3编辑备忘4据艇我i退出备忘I 请输入菜了彳犷3;“ 您输入的数字是一JI Jt JI a -ft R- 苗忘 JI B Wl- I ;国过备忘名称宣邮E通过甯忘时间杳询; 口返回卜菜里:请输入菜单二的数字J4)输入数字1,执行通过个人备忘的名称查询功能,调用备忘名称查询函数,显示通过备忘名称查询的结果,如下:请输入辛里卜的教字;您输入的数字是,1谓输人需要置询的昔忘名轼(返回上场菜单,清输入口语言课程己经查乱结#如一:忠飞一百一初一落-夏京一; I:语言课程设1 ro*ont_

10、datc 401L年7月3号mnf gm语言理程设报告丁28”年7月7号_.rcnind.dtc ; 2011 年?付6号图5)输入数字2,执行通过个人备忘的时间查询功能,调用备忘时间查询 函数,显示通过备忘时间查询的结果,如下:C:J M 0 FTCV yahbi n-wt&mp.eKe请输入菜重上的数字,伤输入的数字是展输久需萝杳询的旨总时间班回|姻菜单.请输入g EBll年明3已经查到,结臬如下;服潘*山星冢翼二 na除谙言课程设Leuent_date年7月 3 号匕c语言课程设计维告于mum? A吟上交.iPenlnLdrittJ; ZBllT 目 6星图6)返回主菜单,输入数字 3,

11、执行个人备忘的修改功能,调用备忘修改 函数,显示备忘修改的功能菜单.结果如下:D;XJM SO FTAC/uYd nbittrTip.exe-*-*-* 备忘录主菜单 上输入新备忘;会查询&忘:3编辑备忘;4提酷甥退出备忘; 请输入菜复功高而一数一事 您输入的数字是:3 * 编辑备忘 . 1通过备忘名称编5 工通过备忘时间编辑: 3返回上缴菜单二 请输入菜单上的数字、图7)输入数字1,执行通过个人备忘的名称修改功能,调用备忘名称修改 函数,显示通过备忘名称修改的结果,如下: DVMSOFTCdVanbinMUVtfnp.尸 I 回!请输入菜堂上的数字;也输入的数字是T请输入您要修改的苗忘名称语

12、言课程设计已经查到.结果如R一爸百一居一泵一层工nano陛诏言课程设让g”ent_dat :工也1年7月3号c ” n * e r t : d语言课程设计出告干N1311年7月7号上交.r 0 心n d_date : w m_ 1 年 7月 6 号清揄人新备忘京篇又一骗辱三一行一石一版工石看或袒谩汁报告卜交备忘僭输入新智忘的时间二血1年?月3号上.午请输入新备忘的内容9语言课程设计报告上交时间是2耻1年7月?号上午洁输入新备忘的次的时间,而年明号处幽范磨:,编辑颁如8)输入数字2,执行通过个人备忘的时间修改功能,调用备忘时间修改 函数,显示通过备忘时间修改的结果,如下:请输入菜单上为薮字士施输

13、人的数字是;Z清福人名要修改的蓄总时间血L1年7月,号己经查到.结果如不员淆一由面星一星至二be”语言课程设计u wen t _(la t u 二 2自 1年7月 3 =mn强共雅语言避程谴计报告上交时间是现11年7月?Rremin JL.dit c : 2 811 年 7月 S 号pB轴一湍青云6蓄r彳家意高若寂二后高,超设计报告上交时间,忘清衡人所著忘的时间;皿1年明3号上午请输入新备忘的内容女语言课程设计需要在如H年7月吟上午1日;眄卜交 请输入新希忘的提酹时同建011年?月居18翎0赫喜如编辑成曲9)返回主菜单,输入数字 4,执行个人备忘的提醒功能,调用备忘提醒 函数,显示备忘提醒的功

14、能菜单.结果如下:DJ M WD=TW jYjnbin/wterr p. ex?AAIf奇忘录主菜单一*1输入新宿忘,I ?查询备忘;3编辑音忘;I4提型我;S退出备忘; I请输入菜最豆1FT豪芟卷鬟入的数字是:4请输人提醒司间(返回上级菜乳请输A0 ”当把法式写好并进行调试时,其实不是一帆风顺的,总会遇到很多在调试时遇到的毛病 . TOC o 1-5 h z 首先在界说函数时,不能输入汉字 . 否则会法式会显示毛病.如果要调用查询函数,增词函数,删除函数,修改函数等要在主函数前面进行申明,否则会显示警告.如果法式在运行的过程中,对一个循环语句,如果你返回的值始终是真的,那么法式将进如死循环.

15、对应该有花括弧的复合语句,忘记加花括弧.所调用的函数在调用语句之后才界说 ,而又在调用前未加说明.5 小结在这次的课程设计中,我利用C语言完成了一个小型的备忘录系统,能够对信息进行录入与查询,并能够提醒用户 . 通过实验,基本上掌握了 C 语言的基本用法与功能. 对所学知识有了更深的认识 .在本课程设计的设计过程中,我刚开始感觉到有颔首痛.要通过一学期C语言的学习后将所学知识运用起来有点困难,但回过头来再去看教课书,对这些知识点有关的布景,概念和解决方案更进一步的理解,感觉也不是很难 .另外我还体会了从事C 语言课程设计工作需要特别谨慎认真地态度和作风,一点都不能马虎 . 每个细微的细节都必需

16、十分注意,如果不认真思考,就会呈现或年夜或小的毛病. 如果把早期的毛病隐藏下来,对后面的工作影响就会很年夜,甚至有时会推倒很多前面做的工作. 有时候,我自己觉得我写的法式非常正确,可是就是编译通不外,在查找毛病的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的缺乏,所以进展的速度非常的缓慢,往往几天的时间没有一点进展. 这时候,我一般是先自己通过书本,手册和 TOC o 1-5 h z 资料找解决法子,实在没辙才向老师同学请教.在开始编写法式的时候,我看到他人的法式功能非常的详细,而且界面非常漂亮,总是希望自己的法式也非常的完善,可是,发现编一个好的法式不是一蹴而就

17、的事情,需要长时间的积累和经验.在反反复复的学习中,我终于作出一个简单的法式,虽然这个法式的功能非常简单,而且在实际运用中还有些缺乏,因为工资的的内容非常丰富,我涉及到的仅仅是工资管理的一部份简单内容,离实际的客户需求肯定还有差距.由于我的知识浅薄,经验缺乏及阅历颇浅,在该系统的设计方面还有很多缺乏,比如功能过少,界面不醒目等问题,我会在以后的学习过程中,根据具体要求不竭的修改、完善,争取使系统慢慢趋于完美.致谢在这次 C 语言课程设计中,我遇到了一些困难,因为通过书本以及自身的缺乏所难以解决. 所以我想任课老师进行了询问 . 他给予了我一些代码以及注意事项上的帮手,使我能够完成这次课程设计.

18、 在此,我对他们暗示感谢!感谢他们在我面对困难时给了我帮手和支持. 也感谢那些给我帮手的所有同学!参考文献谭浩强著 .C 法式设计 . 清华年夜学出书社, 1999年第二版19921994 年第2001谭浩强,张基温,唐永炎编著 .C 语言法式设计. 高等教育出书社,3谭浩强编著.QBASIC语言教程.电子工业出书社,1997谭浩强 .C 法式设计 M. 清华年夜学出书社, 20055Herbert Schildt 著. 戴健鹏译 .C 语言年夜全. 电子工业出书社,二版6美SCHILDTH.C语言年夜全M.王子恢等译.电子工业出书社,源法式#include#include#includede

19、fine Namelength 60define Datelength 50define Contentlength 800 struct memochar nameNamelength;char event_dateDatelength;char contentContentlength;char remind_dateDatelength;void input_memo();void search_memo();void modify_memo();void modify_name();void modify_by_event_date();void remind_me();void re

20、mind();void search_by_name();void search_by_event_date();void main()FILE *fp;int number_menu;char a;printf(nn*-*-*-* 欢 迎 使 用 备 忘 录 *-*-*-*n);loop:printf(nn*-*-*-* 备 忘 录 主 菜 单 *-*-*-*n);printf( =);n输网新备忘;II );nIIII );n查询忘;II );nIIII );n编辑福忘;II );nIIII );n提醮 4;II );nIIII );n退出他忘;n); IIprintf( =);print

21、f(n 请 输 入 菜 单 功 能 的 数 字:);a = getch();if(a=1&a=1&a=3)printf(nn 您 输 入 的 数 字 是 : %c,a);printf(n);sm = (a - 0);elseprintf(nn 您 输 入 的 数 字 是 : %c,a);printf(nn 对 不 起,您 的 输 入 有 误,请 输 入 正 确 的 菜 单 功 能 数 字,谢 谢 .n);goto loop;switch(sm)case 1:search_by_name();goto loop;case 2:search_by_event_date();goto loop;ca

22、se 3:break;default:printf(n 对不 起 ,您 的 输 入 有 误 ,请 输 入 正 确 的 菜 单功 能 数 字 ,谢谢 .nn);goto loop;void search_by_name()struct memo i;FILE *fp;int j=0, k=0, l=0;char nameNamelength=n,a,m,e,:;char new_nameNamelength;if(fp=fopen(memo,r)=NULL)printf( 对 不 起,无 法 打 开 文 件 !n);exit(1);printf(n 请 输 入 需 要 查 询 的 备 忘 名 称

23、 ( 返 回 上 级 菜 单,请 输入 0 ):);scanf(%s,new_name);if (new_name != 0)for(j=0; jsizeof(new_name); )if(new_namej=n)break;else j+;)for(l=0; lj; l+)name5+l=new_namel;).while(! feof(fp)fscanf(fp,%s%s%s%sn,,i.event_date,i.content,i.remind_date );if(!strcmp(name,)printf(n已经查到,结果如下:n);printf(=);printf

24、(n您查询的结果是:nn);printf(%snn,);printf(%snn,i.event_date);printf(%snn,i.content);printf(%snn,i.remind_date);printf(=);k=1;break;)if(!k)printf(n对不起,没有查询结果!请重新输入,谢ftn);)fclose(fp);)void search_by_event_date()struct memo i;FILE *fp;int j=0,k=0,l=0;char event_dateDatelength=e,v,e,n,t,_,d,a,t,e,:;char

25、new_event_dateDatelength;if(fp=fopen(memo,r+)=NULL)printf(n对不起,无法打开文件!n);exit(1);printf(n请输入需要查询的备忘时间(返回上级菜单,请输 入 0 ):);scanf(%s,new_event_date);if (new_event_date != 0) 一 一for(j=0;jsizeof(new_event_date);)if(new_event_datej=n)break;else j+;)for(l=0; l=1&a=3)printf(nn 您 输 入 的 数 字 是 :%cn,a);mb = (a -

26、 0);elseprintf(nn 您 输 入 的 数 字 是 :%c,a);printf(nn 对 不 起,您 的 输 入 有 误,请 输 入 正 确 的 菜 单 功 能 数 字 ,谢 谢 .n);goto loop;switch(mb)case 1:modify_name();goto loop;case 2:modify_by_event_date();goto loop;case 3:break;default:printf(n 对 不 起 ,您 的 输 入 有 误 ,请 输 入 正 确 的 菜 单 功 能 数 字 ,谢谢 .nn);goto loop;void modify_name

27、()struct memo i;FILE *fp;int j=0,k=0,l=0;long offset;char nameNamelength=n,a,m,e,:;char new_nameNamelength;printf(n 请 输 入 您 要 修 改 的 备 忘 名 称 :);scanf(%s,new_name);for(j=0;jsizeof(new_name);)if(new_namej=n)break;else j+;)for(l=0; lj; l+)(name5+l=new_namel;).if(fp=fopen(memo,r+)=NULL)(printf(n对不起,无法打开文

28、件!n);exit(1);)while(!feof(fp)(offset=ftell(fp);fscanf(fp,%s%s%s%s,,i.event_date,i.content,i.remind_date);if(!strcmp(name,)(k=1;break;)if(k)(printf(n已经查到,结果如下:n);printf(=);printf(n您查询的结果是:nn);printf(%snn,);printf(%snn,i.event_date);printf(%snn,i.content);printf(%snn,i.remind_date);p

29、rintf(=);printf(n请输入新备忘n);printf(=);printf(n请输入新备忘的名称:);scanf(%s,);printf(n请输入新备忘的时间:);scanf(%s,i.event_date);printf(n请输 入新备 忘的内容:);scanf(%s,i.content);printf(n请输入新备忘的提醒时间:);scanf(%s,i.remind_date);fseek(fp,offset,SEEK_SET);fprintf(fp,”nname:%snevent date:%sncontent:%snremind_date:%sn”,

30、,i.event_date,i.content,i.remind_date);printf(n 恭 喜 您 ,编 辑 成 功 !n);printf(=n);elseprintf(n 对 不 起,没 有 查 询 结 果 ,请 重 新 输 入 ,谢谢 .);fclose(fp);void modify_by_event_date()struct memo i;FILE *fp;int j=0,k=0,l=0;long offset;char event_dateDatelength=e,v,e,n,t,_,d,a,t,e,:;char new_event_dateDatelength;printf

31、(n 请 输 入 您 要 修 改 的 备 忘 时 间 :);scanf(%s,new_event_date);for(j=0;jsizeof(new_event_date);)if(new_event_datej=n)break;elsej+;for(l=0; lj; l+)event_date11+l=new_event_datel;if(fp=fopen(memo,r+)=NULL)printf(n 对 不 起,无 法 打 开 文 件 !n);exit(1);while(!feof(fp)offset=ftell(fp);fscanf(fp,%s%s%s%s,,i.event_

32、date,i.content,i.remind_date); if(!strcmp(event_date,i.event_date)k=1;break;if(k)(printf(n已经查到,结果如下:n);printf(=);printf(n您查询的结果是:nn);printf(%snn,);printf(%snn,i.event_date);printf(%snn,i.content);printf(%snn,i.remind_date);printf(=);printf(n请输入新备忘n);printf(=);printf(n请输入新备忘的名称:);scanf(%s,);printf(n请输入新备忘的时间:);scanf(%s,i.

温馨提示

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

评论

0/150

提交评论