




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux程序设计课程设计报告 2010-2011学年第 二 学期设计题目:基于gnome的菜单构件学 号:姓 名:成绩评定:日 期:目录一、设计任务书11.1 题目与要求11.2 本程序涉及的知识点1 二、关键技术、程序难点与解决方案2三、功能设计33.1、程序算法33.2、主要功能流程图53.3、具体功能说明图5四、程序设计主要代码6五、linux程序设计课设总结7一、设计任务书1.1、 题目与要求题目:编写一个能够包含菜单构件的gnome程序要求:顶层菜单包含“文件”和“编辑”两项,其中在文件的子菜单中包含“新建”和“关于”,编辑的子菜单中包含“输入”和“输入” 当我们单击文件菜单的子菜
2、单“新建”时,在屏幕上输出“good luck !”;当单击“关于”时,在屏幕上输出“linux c”;当我们单击“输入”时,从终端读入一个字符串(字符串的长可是由编程者自定);当单击“输出”时,从终端输出一我们刚刚读入的字符串,如果没有读入字符串,那么就提出“请先输入字符串:”之后输入字符串,再执行输出。1.2、 本程序涉及的知识点本程序涉及的知识点是首先要弄明白什么是gnome,在gnome中的程序设计中,需要知道菜单是如何定义、调用,之后根据对于gnome的了解再将菜单创建出来,定义函数将菜单的功能实现。当程序编写完成进行编译、连接时千万不能忘记连接gnome类库。gnomeapp构件是
3、gnome应用程序的基本构件,这个构件能够包含菜单、工具栏和数据的主要实现窗口。我们可以利用gnome_app_new函数来创建一个新的构件,再调用gnome_app_create_menu或gnome_app_create_toolbar函数就能够实现菜单的功能。此外,在gnome的程序设计中类库的应用也是非常重要的,libgnome和libgnomeui是任何gnome编程中都要用到的两个主要库,用来独立于任何特定的gui工具箱。二、关键技术、程序难点与解决方案先进行判断,再输入出数据,如果没有从终端接收到字符串,那么再次输入字符串int shuru()scanf(%s,&input);l
4、ength=strlen(input);int shuchu(gtkwidget *widget,gpointer data) if(length=0) printf(请先输入字符串:); shuru(); else printf(%sn,input); return 0; 创建编辑菜单的子菜单:(采用类似于文件菜单中新建的方式编写编辑的子菜单输入和输出,并在基中调用输入和输出函数)gnomeuiinfo edit_menu=gnomeuiinfo_item_none(输入,please into somethings,shuru),gnomeuiinfo_item_none(输出,pleas
5、e output somethings,shuchu), gnomeuiinfo_end;创建输入和输出的工具条:(采用类似于退出的工具条来编写输入和输出的工具条,在工具的函数中调用输入和输入函数)gnomeuiinfo_item_stock(输入,please input somethings,shuru,gnome_stock_pixmap_copy),gnomeuiinfo_item_stock(输出,you will seeing the string,shuchu,gnome_stock_pixmap_paste),三、功能设计3.1、程序算法想要知道当我们当时输出时,是否有字符已经
6、被接收,如果没有接收到字符串,那么何谈输出。所以首先我们先义一个整型常量用对保存我们输入字符串的长度,如果有值,则说明我们已经接收到字符串,那么单击输出时就能显示出来。在输入的函数中,计算出接收接字符的长度,在输出函数中进行判断,具体的逻辑功能如下1,具体实现图如下图2图 1 输出的逻辑功能int shuru()scanf(%s,&input);length=strlen(input);int shuchu(gtkwidget *widget,gpointer data) if(length=0) printf(请先输入字符串:); shuru(); else printf(%sn,input
7、); return 0; 图2 未接收字符串,就单击输出3.2、主要功能流程图菜单主要包含两项:文件、编辑,其中在文件和编辑各自的子菜单中分别要实现其对应的功能 。菜单的程序设计功能图如下图3图3 gnome的菜单功能3.3具体功能说明图一个程序之所能够被用户认可就是说明它本身存在的价值,那么我的这个菜单程序的存在就在于它的功能。在这个菜单程序中,文件中包含新建和关于,按照要求输出good luck!,关于则实现输出linux c!;那么编辑中 包含输入和输出,对于输入是从终端接收字符串,而输出是将从终端接收到的字符串全部输出出来,当用户需要退出系统时可以单击工具栏上的退出,就可以退出菜单程序
8、。菜单实现的的功能图如下4、5、6图4 菜单实现功能图5 新建、关于、退出功能图6 输入、输出功能四、程序设计主要代码(写明自己设计的主要功能代码,并在代码后加上注释说明)int shuru()scanf(%s,&input); /从终端接收字符串length=strlen(input); /计算接收字符串的长度,代表有字符串接收int shuchu(gtkwidget *widget,gpointer data) if(length=0) /判断是否从终端接收到了字符串 printf(请先输入字符串:); shuru(); /执行回调函数,调用输入函数 else printf(%sn,input); /向终端输出字符串 return 0; 当我所在这段代码是为了满足当我们并没有在终端上输入字符串时,就单击了编辑下的输出,这时会没有字符串出现,那么输出就毫无意义,所以就写下这段代码:进行判断,只有当单击了输入,并在终端上输入字符串时,才能够在单击输出,显示接收的字符,否则就提示“请先输入字符串”,接着调用输入函数,执行此段程序。五、linux程序设计课设总结通过这一周对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西班牙语DELE考试真题卷:考试技巧与备考策略解析试题
- 2025年小学语文毕业升学考试全真模拟卷:语文综合实践活动设计案例研究分析
- 长距离套管内穿管施工方案
- 2025年中国民用航空运输代理合同
- 金融贷款年终总结
- 吉他班创业计划书
- 雨天如何开展户外活动教研
- 2025年度工程土方挖掘施工技术服务合同范本参考
- 人教版2024-2025学年六年级语文下册教学工作计划(及进度表)
- 地理丨湖北省八市2025届高三下学期3月联考地理试卷及答案
- 麻醉药理学阿片类镇痛药PPT
- 新湘版小学科学四年级下册教案(全册)
- 药铺微信宣传方案
- 宿舍楼消防火灾应急疏散预案与宿舍消防安全管理制度
- 外研版(一起)英语二年级下册 Module4Unit2 What’s he doing 教案
- 《红楼梦》专题(文化)
- 北京属医院医疗合作管理暂行办法
- 三级妇幼保健院评审标准实施细则(保健院正确发展方向)
- DB62∕T 4472-2021 农村互助老人幸福院运行管理规范
- 滑翔伞飞行原理及构成
- 查对制度操作流程表1页
评论
0/150
提交评论