Как сделать этот код простым
Привет, новичок в программировании на Си, и мне нужна помощь в чем-то. Я пытаюсь сделать это проще. Как и для операторов switch, я хотел бы для каждого случая вызывать функцию вместо того, чтобы помещать туда всю функцию целиком. но я продолжаю получать ошибки
#include <stdio.h> #include <stdlib.h> int main(void) { int user; /*The choice of the user running the program and also what is used for the Switch statements*/ char ch; /*User's answer to run another program or to exit the program. */ do { printf("\n\t\t\t\t\t\t\tMENU"); printf("\n\t\t\t\t\t\t1. Heart Rate Program\n"); /*If user presses 1, Heart Rate Program will Run*/ printf("\t\t\t\t\t\t2. Leap Year Program\n"); /*Press 2 and Leap Year program will run*/ printf("\t\t\t\t\t\t3. Chronological Order Program\n"); /*Press 3 and Chronological Order program will run*/ printf("\t\t\t\t\t\t4. Speed Ticket Program\n"); /*Press 4 and Speed ticket program will run*/ printf("\t\t\t\t\t\t5.\n"); printf("\t\t\t\t\t\t6.\n\n"); printf("\t\t\t\t\t\tEnter your choice: "); scanf("%d", &user); /*User picks a number and goes to "user" memory allocation*/ /*Switch statement is used to determine which item the user picks and which program to run*/ switch (user) { case 1:/*Heart Rate Program*/ { int VALUE, LOWER=80, UPPER=115; printf("\n\n\t\t\t\t\t\tHeart Rate:"); scanf("%d", &VALUE); if(VALUE<LOWER) printf("\n\t\t\t\t\t\tHeart Rate is LOW\n"); else if(VALUE>LOWER && VALUE<UPPER) printf("\n\t\t\t\t\t\tHeart Rate is OK\n"); else printf("\n\t\t\t\t\t\tHeart Rate is HIGH\n"); } break; case 2: /* Leap Year Program*/ { int YEAR; printf("\n\n\t\t\t\t\t\tYEAR :"); scanf("%d", &YEAR); if(YEAR%100==0&&YEAR%400==0) printf("\n\t\t\t\t\t\t%d is a LEAP YEAR!\n", YEAR); else printf("\n\t\t\t\t\t\t%d is NOT A LEAP YEAR!\n", YEAR); } break; case 3:/* Chronological Order Program*/ { int FIRST, SECOND, SMALL, LARGE; printf("\n\n\t\t\t\t\t\tFIRST :"); scanf("%d", &FIRST); printf("\n\t\t\t\t\t\tSECOND:"); scanf("%d", &SECOND); if(FIRST<SECOND) SMALL=FIRST, LARGE=SECOND; else if(SECOND<FIRST) SMALL=SECOND, LARGE=FIRST; else return 0; printf("\n\t\t\t\t\t\t%d is the smaller number.", SMALL); printf("\n\t\t\t\t\t\t%d is the larger number.", LARGE); printf("\n\t\t\t\t\t\t%d, %d Ascending Order", SMALL, LARGE); printf("\n\t\t\t\t\t\t%d, %d Descending Order\n", LARGE, SMALL); } break; case 4: /* Speed Ticket Program*/ { int SPEED=0; printf("\n\n\t\t\t\t\t\tSPEED:"); scanf("%d", &SPEED); if(SPEED>=100) printf("\n\t\t\t\t\t\tP800 FINE.\n"); else if(SPEED>=80&&SPEED<100) printf("\n\t\t\t\t\t\tP500 FINE.\n"); else printf("\n\t\t\t\t\t\tNO FINE.\n"); } break; case 5: case 6: default : printf("\t\t\t\t\t\tInvalid Entry! Please Try Again.\n"); } printf("\n\n\t\t\t\t\t\tWould you like to try another one? Y/N: "); scanf(" %c", &ch); system("cls"); } while (ch == 'y' || ch == 'Y'); return (0); }
Что я уже пробовал:
я пробовал то, что видел в интернете, но это говорит мне, что я делаю что-то неправильно.
Jochen Arndt
Какие ошибки вы получаете для каких частей кода?
Код из вашего вопроса не содержал вызовов функций из оператора switch. Поэтому мы не можем помочь, не видя, что вы пробовали и какие ошибки происходят.
Пожалуйста, используйте зеленую ссылку "улучшить вопрос", чтобы отредактировать свой вопрос и добавить эту информацию.