#include <stdio.h> //getchar() putchar() printf() gets() puts() sprintf()
#include <stdlib.h> //exit() rand () srand() system() free() malloc() //int getchoice (char *greet , char *choices[]);
int getchoice (char *greet , char **choices); int main()
{
char *menu[] = {
"a - add new record",
"d - delete record",
"s - show record num ",
"q - quit",
NULL,
};
int record_num = ;
int choice = ;
do
{
choice = getchoice("Please select an action",menu);
printf("Your choice is %c \n",choice);
switch (choice)
{
case 'a':
{
printf("Add record over\n");
record_num++;
break;
}
case 'd':
{
printf("Remove a record over\n");
record_num--;
break;
}
case 's':
{
printf("The record num is %d \n",record_num);
break;
}
default:
break;
}
}
while(choice!='q');
exit();
} int getchoice (char *greet , char **choices)
{
char **option;
int chosen=; // control choice is the member of menu list
int selected;
do
{
printf("Choice: %s \n" ,greet);
option=choices;
while (*option!=NULL)
{
printf("%s\n",*option);
option++;
} do
{
selected=getchar();
}while (selected=='\n'); // solve the enter char + '\n' problem,because will cause
//next input enter the '\n' directly option =choices;
while(*option)
{
if(selected == *option[])
{
chosen=;
break;
}
option++;
}
if (!chosen)
{
printf("Incorrect choice,try again\n");
} }
while(!chosen);
return selected;
}

Linux C Programing - Terminal(1)的更多相关文章

  1. 自学Linux Shell2.2-GHOME Terminal仿真器

    点击返回 自学Linux命令行与Shell脚本之路 2.2-GHOME Terminal仿真器 GNOME Terminal是GNOME桌面环境的默认终端仿真器.很多发行版,如RHEL.Fedora和 ...

  2. Linux C Programing - Arguments(2)

    #include <iostream> #include <stdlib.h> #include <stdio.h> //printf #include <u ...

  3. 如何在linux下录制terminal操作?

    相关包: ttyrec: ttyrec is a tty recorder. Recorded data can be played back with the included ttyplay co ...

  4. linux 字符终端terminal下 ftp的配置和启用

    1. ftp组件一般不是linux的自带组件,在ubuntu 12中,就自带了ftp组件 vsftp,而在redhat 9中,就没有自带需要从安装光盘中或下载相应的ftp的rpm包. ~$ sudo ...

  5. Linux 的终端 Terminal

    打开终端: 方式一:在全部应用中搜索Terminal 方式二:Ctrl+Alt+T 快捷方式打开终端 终端指令查询 如果忘记终端指令而只记得前几位可以只输入前几个字母后按Tab键查询 终端清屏 键入c ...

  6. First step to Signal —— in Linux C Programing

    1. What's signal 信号是软件中断,提供了一种处理异步事件的方法.(见<Unix环境高级编程>)一般使用时需包含 signal.h 库. 每个信号命名由SIG开头,实际值为正 ...

  7. 利用putty在window下控制linux的terminal、ftp传输

    google搜索putty,可能要FQ才能进入官方网站下载. 首先将虚拟机下的linux的网络适配器设置成桥接模式,并且将linux系统的firewall和iptables(防火墙关闭). firew ...

  8. LInux MySQL 端口验证

    linux suse11在terminal可以正常登录进行各种操作,在tomcat运行jdbc web程序异常: com.mysql.jdbc.exceptions.jdbc4.Communicati ...

  9. Git+VirtalBaox+Vagrant创建Linux虚拟机

    文章内容来自Udacity课程:Linux Command Line Basics--Getting Started with the Shell Your own Linux box To lear ...

随机推荐

  1. JAVA6开发WebService (四)——SAAJ调用WebService

    转载自http://wuhongyu.iteye.com/blog/810571 前面写了个JAX-WS的小例子,看到用JAVA6开发WebService确实很简单,也很方便,不过前面也说了,JAVA ...

  2. ajaxfileupload.js

    jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' ...

  3. spring框架和junit框架结合使用案例

    package ltssh; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.be ...

  4. Orale介绍

    Oracle数据库: 是甲骨文公司的一款关系数据库管理系统 具有网格计算的框架 数据量大,并发操作比较多,实时性要求高,采取ORACLE数据库 Oracle数据库的体系结构包括物理存储结构和逻辑存储结 ...

  5. malloc_free_new_delete

    malloc, free    是c的库函数,只会分配内存大小,不会调用构造函数,析构函数 new, delete    C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数 在执 ...

  6. AppStore审核

    应用被拒分为两种:Binary Rejected 和 Metadata Rejected.前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用. 1.应用内包含检查更新功能 iOS ...

  7. BizTalk动手实验(五)Map开发测试

    1 课程简介 通过本课程熟悉Map的相关开发与测试技术 2 准备工作 熟悉XML.XML Schema.XSLT等相关XML开发技术 新建BizTalk空项目 演示 3.1 基本操作 打开MapDev ...

  8. python子类调用父类的方法

    python子类调用父类的方法 python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问, ...

  9. php课程---Windows.open()方法参数详解

    Window.open()方法参数详解 1, 最基本的弹出窗口代码   window.open('page.html'); 2, 经过设置后的弹出窗口   window.open('page.html ...

  10. loadrunner获取返回值为乱码

    找了很多方法,utf-8也设置了,还是不行,只有有转码方法了 web_reg_save_param("res2", "LB=\"msg\":\&quo ...