C语言 我怎么才能重新编程,这样我就不需要使用任何变量了?

ymzxtsji  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(149)

这是我的代码:

#include <stdio.h>
#include <conio.h>

int processChoice()
{
    int choice = -1; //I need to execute this code without using any variable
    printf("\nMake a Choice (1, 2, 3 or 0): ");
    scanf("%d",&choice);
    printf("%d",choice);
    
    switch(choice)
    {
        case 0:
        printf("\nExiting...\n");
        break;
        case 1:
        printf("\nDrawing rectangle...\n");
        break;
        case 2:
        printf("\nDrawing Right triangle...\n");
        break;
        case 3:
        printf("\nDrawing isosceles triangle...\n");
        break;
        
        default:
        printf("\n** Invalid Choice! **\n");
        choice = -1;
    }
    return choice;
}

void showMenu()
{
    printf("\nMenu:");
    printf("\n1. Draw Rectangle");
    printf("\n2. Draw Right triangle");
    printf("\n3. Draw isosceles triangle");
    printf("\n0. Exit program\n");
}

int main()
{
    int x = -1;
    do
    {
        showMenu();
      
    }while(processChoice() != 0);
    return 0;
}

这是我的代码,我在这里使用了一个变量“int Choice = -1;“我应该按照我导师的指导方针执行相同的代码,而不使用任何变量。
我希望在不使用任何变量的情况下执行相同的代码。

jmo0nnb3

jmo0nnb31#

也许你的导师的意思是

int x = -1;

未使用,应将其删除。
至于函数processChoice,那么在任何情况下,你都需要输入一个用户的值。我看到唯一的可能性是不使用变量编写函数,使用函数getchar的方法如下

int processChoice( void )
{
    printf("\nMake a Choice (1, 2, 3 or 0): ");
    
    switch( getchar() )
    {
        case '0':
        printf("\nExiting...\n");
        while ( getchar() != '\n' );
        return 0;

        case '1':
        printf("\nDrawing rectangle...\n");
        while ( getchar() != '\n' );
        return 1;

        case '2':
        printf("\nDrawing Right triangle...\n");
        while ( getchar() != '\n' );
        return 2;

        case '3':
        printf("\nDrawing isosceles triangle...\n");
        while ( getchar() != '\n' );
        return 3;
        
        default:
        printf("\n** Invalid Choice! **\n");
        while ( getchar() != '\n' );
        return -1;
    }
}

相关问题