Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to use infinite loop to implement basic menu in C

2 Answers

0 votes
#include <stdio.h>

int menu(void) {
	int choice;

	puts("enter 1 for start");
	puts("enter 2 for settings");
	puts("enter 3 for help");
	puts("enter 4 for exit");

	scanf("%d", &choice);

	return choice;
}


int main(void)
{
	int option;

	while (1) {
		option = menu();

		if (option == 1) {
			puts("start");
		}
		else if (option == 2) {
			puts("settings");
		}
		else if (option == 3) {
			puts("help");
		}
		else if (option == 4) {
			puts("exit");
			break;
		}
		else {
			puts("Invalid Option - Try again");
		}
	}

	return 0;
}





/*
run:
 
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
1
start
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
2
settings
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
3
help
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
9
Invalid Option - Try again
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
4
exit
 
*/

 



answered May 9, 2023 by avibootz
edited May 9, 2023 by avibootz
0 votes
#include <stdio.h>

int menu(void) {
    int choice;

    puts("enter 1 for start");
    puts("enter 2 for settings");
    puts("enter 3 for help");
    puts("enter 4 for exit");

    scanf("%d", &choice);

    return choice;
}


int main(void)
{
    while (1) {
        switch (menu()) {
            case 1: {
                puts("start");
                break;
            }
            case 2: {
                puts("settings");
                break;
            }
            case 3: {
                puts("help");
                break;
            }
            case 4: {
                puts("exit");
                exit(0);
            }
            default: {
                puts("Invalid Option - Try again");
            }
        }
    }

    return 0;
}





/*
run:

enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
1
start
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
2
settings
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
3
help
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
8
Invalid Option - Try again
enter 1 for start
enter 2 for settings
enter 3 for help
enter 4 for exit
4
exit

*/


 



answered May 9, 2023 by avibootz

Related questions

...