c语言备忘录课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我认为对于C语言编写的程序来说,使用方法大致都是一 样的,所以如果要改进的话,就是要改进一些算法,尽量把界 面编写清楚,提示信息全面,方便易用。
三、用户手册:
下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择1. 进入系统,2.退出系统。选择1后进入系统,然后显示功能菜 单按数字键选择所需服务。功能菜单中,1录入所有书籍信 息,2进入图书管理系统,3进入图书查询系统,4进入图书借 还系统,5保存所有图书信息,6显示菜单,7返回上级菜单。 当出现"请选择"时,需要输入选项前的数字,输完之后按回车 (下同)。首次运行系统需要先选择1录入库存书籍信息,然 后再选择其他操作。当选择2时会进入图书管理系统,在这里 可以选择添加、修改信息等操作,需要注意的是每次执行完添
//infp为空,说明无法打开文件 printf("无法打开%s\n\n",infile); break; } printf("************************************************************ printf("* 输入时间的格式为: 2010/09/21/12:00:00 (注意不能有空 格) *\n"); printf("************************************************************ printf("请输入当前时间: "); scanf("%d/%d/%d/%d:%d:%d",&year,&month,&day,&hour,&minute,&second); rbuf_num=GetMemoInfo(readBuffer,infp); //这个就是传说中的qsort函数,忽略它 qsort(readBuffer,rbuf_num,sizeof(MemoInfo),cmp); printf("\n******************事件提醒***************\n"); for( i=0 ; i<rbuf_num ; i++ ) if(CheckRemind(year,month,day,hour,minute,second,readBuffer[i]) ) {
{
printf("请选择您所需功能: ");
scanf("%d",&l_choose);
printf("\n");
}
if( l_choose==3 )
{
printf("\n谢谢您的使用\n"); break; } else { //只读方式,打开文件名为infile的文件 outfp=fopen(outfile,"ab+"); fclose(outfp); infp=fopen(infile,"rb"); if( infp==NULL ) {
system("cls");
} void main( int argc, char *argv ) {
int l_choose=-1; int year,month,day,hour,minute,second; char infile[50]="memo.dat",outfile[50]="memo.dat"; FILE *infp,*outfp; int minfo_number=0; char end='y',gtc,isPrintAll; int text_length,rbuf_num,count=1,i; long total1,total2,total3;
\t║\n");
printf("\t\t║
\t║\n");
printf("\t\t║
作者:某某 \t║\n");
printf("\t\t║
按任意键继续…… \t║\n");
printf("\t\t║
\t║\n");
printf("\t\t╰═══════════════════════╯\n");
getchar();
序,虽然这个程序的功能非 常简单,而且在实际运用中还有
些不足,因为工资的的内容非常丰富,我涉及到的仅仅是工资
管理的一部分简单内容,离实际的客户需求肯定还有差距。
由于我的知识浅薄,经验不足及阅历颇浅,在该系统的设计方
面还有很多不 足,比如功能过少,界面不醒目等问题,我会
在以后的学习过程中,根据具体要求不断的修改、完善,争取
加、修改等操作后需要手动选择保存图书信息的操作,不然磁 盘文件信息不会改变(下同)。返回上级菜单进入图书查询系 统、图书借还系统的操作和管理系统的差不多,用户可自己尝 试使用,所有信息最后均以磁盘文件方式保存,而且格式固 定,在输入和输出均按这种格式,用户在使用时必须要按这种 格式输入,否则会出现文件信息错误。
四、调试与测试:
上机操作(截图) 系统主界面(选择数字进入,退出系统) 选择1进入系统,然后出现功能菜单;
选择3进入查询系统,然后出现功能菜单;
选择2输入图书编号,显示查询到图书;
五、小结:
在这次的课程设计中,我利用C语言完成了一个小型的备忘录
系统,能够对信息进行录入与查询,并能够提醒用户。通过实
验,基本上掌握了C语言的基本用法与功能。对于所学知识有
课程设计报告
课程 课程设计名 称 学生姓名 ↖ 学号 专业班级 指导教师
C语言课程设计 备忘录
3133102 31331 张重阳
一、需求分析
《备忘录》主要根据课程设计要求进行设计,能够进行个人的 事件记录,可以将程序使用者的时间安排,重要事件,以及个 人行程等事件做出具体详细的记述,并能够使使用者在程序上 完成查看时间的功能,足以使得使用者避免忘记一些重要事 件,也可以为使用者带来一些便利,帮助使用者节省了时间。 电子备忘录相较于笔记本,其最大的好处在于可以不受纸张的 限制,并切实的使用者可以在短时间内记述大量事件;查询时 也可以节省大量的时间,使得使用者可以减短查询时间,方便 快捷。同时,使用电子备忘录也是一种现代化的代表,将电子 科技应用与人们的日常生活中,达到现代实惠的先进水平。
时间没有一点进展。这时候,我一般是先自己通过书本,手册
和资料找解决办法,实在没辙才向老师同学请教。 在开
始编写程序的时候,我看到别人的程序功能非常的详细,而且
界面非常漂亮,总是希望自己的程序也非常的完善,但是,发
现编一个好的程序不是一蹴而就的事情,需要长时间的积累和
经验。 在反反复复的学习中,我终于作出一个简单的程
while(1)
{
printf("\n\n\n\n\n");
printf("\t\t ╭═══════┤备忘录├══════════╮\n"); /*菜单选
择*/
printf("\t\t║
\t║\n");
printf("\t\t║
1. 添加备忘录
\t║\n");
printf("\t\t║
2. 查看备忘录
总的来说这个程序大致实现了题目的要求,但是这套程序 仍然存在着很多的问题与不足。比如,没有对界面进行操作, 只是实现了简单的功能,程序写的有点繁琐,不是那么井然有 序,条理清晰,程序注释也不是很完善,对信息处理功能还有 些不足之处,提示信息不明确,对于数据的错误输入处理不是 很完善等等。
这个系统主要是我自己编写的,同时也得到了老师和同学 的一些帮助。我在做系统的过程中也遇到了很多问题,有的是 知识不足,有的是考虑不够周全,。事实证明,只靠自己的知 识面还是很窄,独立处理问题能力不是很强,以后还要加强对 c语言的学习。
须十分注意,如果不认真思考,就会出现或大或小的错误。如
果把早期的错误隐藏下来,对后面的工作影响就会很大,甚至
有时会推倒很多前面做的工作。有时候,我自己觉得我写的程
序非常正确,但是就是编译通不过,在查找错误的过程中,面
临着否认自己的过程,非常的痛苦,而且由于自己的经验及各
方面的能力的不足,所以进展的速度非常的缓慢,往往几天的
\t║\n");
printf("\t\t║
3. 退出软件
\t║\n");
printf("\t\t║
\t║\n");
printf("\t\t║
\t║\n");
printf("\t\t╰═══════════════════════╯\n");
while( l_choose<1 || l_choose>3 )
welcome(); printf("\t\t *******************************************\n"); printf("\t\t *************** 作者 某某 ************\n"); printf("\t\t *******************************************\n\n");
int remindtime_minute;
int remindtime_second;
int inputtime_year; //inputtime_***表示输入的时间
int inputtime_month;
int inputtime_day;
int inputtime_hour;
int inputtime_minute;
二、算法设计:
1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对
于不同的数据类型、程序控制结构、数据结构作以分析和总 结,并结合这个课题进行综合的应用,在一定程度上做到了对 所学知识融会贯通。进一步加深、巩固了所学的专业的基本理
论知识,培养了综合分析问题、解决问题的能力。在设计程序 时,实现了程序的模块化、结构化。在主函数中调用各种子函 数,操作界面简单,易操作。 2,设计表示: 3.实现注释: 4.结构体系设计:
了更深的认识。
在本课程设计的设计过程中,我刚开始
感觉到有点头痛。要通过一学期C语言的学习后将所学知识运
用起来有点困难,但回过头来再去看教课书,对于这些知识点
有关的背景,概念和解决方案更进一步的理解,感觉也不是很
难。 另外我还体会了从事C语言课程设计工作需要特别谨慎
认真地态度和作风, 一点都不能马虎。每个细微的细节都必
使系统慢慢趋于完美。
附录: 源程序代码 #include <stdio.h> #include <stdlib.h> #define MAXN 1000
//表示readBuffer和buffer数组的大小
typedef struct MemoInfo {
char event[200]; //用于存储事件 int remindtime_year; //remindtime_***表示需要提醒的时间 int remindtime_month; int remindtime_day; int remindtime_hour;
备忘录
备忘录主菜单
退出备忘录 提醒我ቤተ መጻሕፍቲ ባይዱ
编辑备忘录 查询备忘录 输入新备忘
通过备忘名称编辑备忘 通过备忘时间编辑备忘 通过备忘时间查询备忘 通过备忘名称查询备忘
5.设计过程中的想法与程序中的不足:
作为学期末的一项课程,主要靠编出来的系统来考察我们 所掌握的基本理论知识及实际解决问题的能力,通过这次c语 言课程设计,很大程度上锻炼了我们写程序的动手能力和自主 思考能力。利用所学知识,开发小型实用的应用系统,掌握运 用C语言编写调试应用系统程序,对于我们独立开发应用系统 并进行数据处理的综合能力是一个很大的提高。
void welcome()
{
printf("\n\n\n\n\n");
printf("\t\t ╭══════════════════════╮\n"); /*菜单选择*/
printf("\t\t║
\t║\n");
printf("\t\t║
\t║\n");
printf("\t\t║
欢迎使用本备忘录
int inputtime_second;
int value;
//用于存储事件的重要性
} MemoInfo;
MemoInfo buffer[MAXN]; //在需要输入事件的时候,先将输入的事件
保存在这个数组上
MemoInfo readBuffer[MAXN]; //从文件memo中,读入事件,并将得到的
事件保存在这个数组上
//函数申明,函数定义在main函数之后,功能在函数定义那儿有解释
int GetMemoInfo( MemoInfo * pmeinfo,FILE *fp);
void PrintMemoInfo(MemoInfo meinfo ,int id);
long GetTotal(int iyear,int imonth,int iday,int ihour,int iminute,int isecond);
long GetBufferTotal( MemoInfo memo );
int CheckRemind( int iyear,int imonth,int iday,int ihour,int iminute,int isecond
, MemoInfo memo);
int cmp(const void * a,const void *b );
相关文档
最新文档