⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 whatnext.c

📁 c版本的
💻 C
字号:
/* *************************************************************** */
/* This program reads a series of words from the command line,     */
/* and displays all but the last on the monitor. The last is a     */
/* series of characters which are used as input comparisons. One   */
/* character is read from the keyboard. If it is one of the        */
/* characters in the comparison list, its number is returned to    */
/* DOS as the errorlevel command. If the character does not exist  */
/* in the list, a zero is returned. Example follows;               */
/*                                                                 */
/* WHATNEXT What model do you want? ALR%3T                         */
/*                                                                 */
/* What model do you want?      <---- displayed on monitor         */
/*    If key a or A is hit, errorlevel 1 is returned.              */
/*    If key l or L is hit, errorlevel 2 is returned.              */
/*    If key r or R is hit, errorlevel 3 is returned.              */
/*    If key % is hit, errorlevel 4 is returned.                   */
/*    If key 3 is hit, errorlevel 5 is returned.                   */
/*    If key t or T is hit, errorlevel 6 is returned.              */
/*    If any other key is hit, errorlevel 0 is returned.           */
/*                                                                 */
/*  The question must be on one line.                              */
/*  Up to nine different keys can be used.                         */
/*  The errorlevel can be interpreted in a batchfile.              */
/* *************************************************************** */

#include "stdio.h"
#include "ctype.h"
#include "conio.h"
#include "process.h"

main(int number,char *name[])
{
int index;                  /* a counter and incrementing variable */
int c;                     /* the character read in for comparison */
int code;                  /* the resulting errorlevel returned to */
char next_char;                    /* used for the comparison loop */
char *point;               /* a dummy pointer used for convenience */

                     /* At least one group must be used for this   */
                     /* filename, and one group used for the       */
                     /* required fields, so less than three allows */
                     /* for no question.                           */
   if (number < 3) {
      printf("No question given on command line\n");
      exit(0);
   }

                         /* print out words 2 to n-1, the question */
   number--;
   for(index = 1;index < number;index++) {
      printf("%s ",name[index]);
   }

                   /* get the users response and make it uppercase */
   c = getch();
   printf("%c\n",c);
   if (islower(c))
      c = toupper(c);
   point = name[number];/* point to the last pointer on the inputs */

   code = 0;
   index = 0;
   do {            /* search across allowed responses in last word */
      next_char = *(point + index);
      if (islower(next_char))
         next_char = toupper(next_char);      /* make it uppercase */
      if(next_char == c)                    /* if a match is found */
         code = index + 1;         /* save the number of the match */
      index++;
   } while (*(point + index));      /* until NULL terminator found */

   exit(code);               /* return the errorcode to the system */
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -