Linux C Programing - Terminal(1)
#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; }