您的位置:首页 > 运维架构 > Linux

Linux C Programing - Terminal(1)

2016-03-18 14:04 357 查看
#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 = 0;
int choice = 0;
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(0);
}

int getchoice (char *greet , char **choices)
{
char **option;
int chosen=0; // 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[0])
{
chosen=1;
break;
}
option++;
}
if (!chosen)
{
printf("Incorrect choice,try again\n");
}

}
while(!chosen);
return selected;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: