C语言菜单的编程_第1页
C语言菜单的编程_第2页
C语言菜单的编程_第3页
全文预览已结束

下载本文档

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

文档简介

1、请问怎样用c语言设计菜单? 1.选项菜单设计实例: 例一: / 主菜单函数,由main()函数引用,返回菜单选项字符供main()的switch语句判定 / 使用printf()函数显示菜单项,用sacnf()函数接收选项字符 / while条件限定选项的合法性,非法字符则重新输入 char menubar() char c=0; printf(n* 通信录管理软件 *nn); printf( 查 1. 显示通信录); printf( 2. 按序号显示n); printf( 询 3. 按姓名显示); printf( 4. 按分类显示nn); printf( 修 5. 插入记录 ); print

2、f( 6. 添加记录 n); printf( 改 7. 修改记录 ); printf( 8. 删除记录 nn); printf( 整 9. 按姓名排序); printf( a. 另存通信录n); printf( 理 b. 保存通信录); printf( c. 合并通信录nn); printf( 0. 退出系统 n); printf(n*n); printf(n 请输入选项(0-c):); / 提示输入选项 do scanf(%c,&c); / 输入选择项,为1个字符 c=toupper(c); / 将输入的字母转化为大写字母 while(!(c=0&c=9|c=a|c=b|c=c);/ 选择项

3、不合法则重输 return c; / 返回选择项 例二: / 菜单函数,返回值为0到15之间的整数 / 由main()函数引用,返回值由switch语句分支判定,引用相应的功能函数 / 用字符指针数组保存菜单项,共18个元素 int menubar() char *menu= 学生成绩管理系统 =nn, 1. 显示全部记录, 2. 按姓名查找 n, 3. 按学号查找 , 4. 按名次查找 nn, 5. 插入记录 , 6. 修改记录 n, 7. 删除记录 , 8. 按总分排名次 n, 9. 按学号索引 , 10.课程统计 n, 11.分类汇总 nn, 12.追加记录 , 13.合并文件 n, 1

4、4.打开文件 , 15.另存文件 nn, 0.退出系统 nn, =n; char item3; / 以字符形式保存选择号 int c,i; / 定义整形变量 for(i=0;i18;i+) / 输出主菜单数组 cprintf(%s,menui); do printf(n 请输入选项(015)并按回车键:);/ 在菜单窗口外显示提示信息 scanf(%s,item); / 输入选择项 c=atoi(item); / 将输入的字符串转化为整形数 while(c15); / 选择项不在015之间重输 return c; / 返回功能选择 2.主函数设计实例 / 主函数,程序运行入口。进行功能选项判定

5、并引用相应的功能函数 / 结构数组adr可保存max条记录,作为核心数据传递到各功能函数中进行处理 / count保存实际的记录条数,其值应在0到max之间。但程序中未对count作检测和控制 / 在无限循环中引用函数menubar()显示菜单,并返回菜单选项 / 各功能函数在引用时都将数组adr和元素个数count作为实参传递到函数中进行处理 void main() pad adrmax; / 定义结构体数组 int count=0; / 保存记录长度 count=load(adr, count); / 打开文件,将记录读到数组中,返回数组长度 for(;) / 无限循环,选择0 退出循环

6、switch(menubar() / 调用主菜单函数,按返回值选择功能函数 / 选择功能1至4,查询并显示记录 case 1: list(adr,count); break; / 分页显示全部记录 case 2: order(); break; / 按序号显示记录 case 3: searchn(adr,count); break; / 按姓名查找显示记录 case 4: searchl(adr,count); break; / 按分类查找显示记录 / 选择功能号5至8,编辑记录 case 5: count=insert(adr,count); break; / 插入记录 case 6: count=append(adr,count); break; / 添加记录 case 7: editrec(adr,count); break; / 修改记录 case 8: count=delete(adr,count); break; / 删除记录 / 选择功能号9至c,文件操作 case 9: sort(adr,count); break; / 按姓名排序 case a: saveas(); break; / 另存电话簿 case b: save(adr,count); break; / 保存电话簿 case

温馨提示

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

评论

0/150

提交评论