WHIT 반복구조와 SWITCH 선택구조를 구현하여 메뉴 구동 어플리케이션을 만들고 있습니다.txt 데이터 표시
#include <stdio.h>
#include <stdlib.h>
#define Size_MainFuncArray 5 // Constant
// Data that needs to be inside my txt file:
// StudentData.txt: Jane 55 51 78
struct Student { // Lungelo 69 84 75
char StudentName[10]; // Greg 51 44 52
int StudentMarks[3]; // Thando 23 78 61
float StudentAverage; // Bret 44 33 29
};
typedef struct Student Student;
// Function Prototypes
int DisplayMenu(void);
void Read_Data(Student Arr[], int Size);
void Calculate_StudentAverage(Student Arr[], int Size);
void Display_Data(Student Arr[], int Size);
void Write_Graph(Student Arr[], int Size); // I am not being able to identify
// The type like: int, flot etc.
// All are just specified as Student Arr[].
// My lecture wants it like this
// Main Function
int
main(void)
{
int choice;
Student ESG206B[Size_MainFuncArray]; // How do I use this array?
choice = DisplayMenu();
printf("\nPress any key to continue...\n");
getch();
system("cls");
return 0;
}
// Function Definitions
int
DisplayMenu(void)
{
int Select;
printf("************************************\n");
printf("* Welcome to Student Stats *\n");
printf("* Student Number: 123456789 *\n");
printf("************************************\n");
printf("\n1. Load Data and Calculate Average\n");
printf("2. Dispaly Student Data\n");
printf("3. Save Graph\n");
printf("4. Exit\n");
printf("Choice: ");
fflush(stdin);
scanf("%d", &Select);
return Select;
}
void
Read_Data(Student Arr[], int Size) // I am not being able to finish this
{ // functions definition
}
void
Calculate_StudentAverage(Student Arr[], int Size)
{
}
void
Display_Data(Student Arr[], int Size)
{
}
void
Write_Graph(Student Arr[], int Size)
{
}
메뉴 선택지를 포장할 수 있습니다.'printf
그리고.scanf
에 있어서do...while
loop: 입력이 유효한지 여부를 확인할 수 있습니다).1 <= input <= 4
).
예:
int DisplayMenu(void)
{
int Select;
printf("************************************\n");
printf("* Welcome to Student Stats *\n");
printf("* Student Number: 123456789 *\n");
printf("************************************\n");
do
{
printf("\n1. Load Data and Calculate Average\n");
printf("2. Dispaly Student Data\n");
printf("3. Save Graph\n");
printf("4. Exit\n");
printf("Choice: ");
fflush(stdin);
scanf("%d", &Select);
if (Select < 1 || Select > 4)
{
printf("Please select a valid choice.\n");
}
} while (Select < 1 || Select > 4);
return Select;
}
그 다음에,switch
다양한 선택지를 분리하는 구조입니다.
예:
choice = DisplayMenu();
switch (choice)
{
case 1:
// do smth for 1
break;
case 2:
// do smth for 2
break;
case 3:
// do smth for 3
break;
case 4:
// do smth for 4
break;
default:
break;
}
당신은 "a"를 원했다.while()
실장"무한 루프를 사용하여 사용자와 대화하는 예를 다음에 나타냅니다.
메뉴 항목에 대한 프로그램 응답에 "메뉴"를 가까이 두는 것이 좋습니다.판독자는 메뉴 항목 #2가 적절한 함수를 호출하는 것처럼 보이는 것을 비교할 수 있습니다.
이 코드에는 몇 가지 다른 코멘트가 있습니다.
int
main(void)
{
Student ESG206B[Size_MainFuncArray];
printf("************************************\n");
printf("* Welcome to Student Stats *\n");
printf("* Student Number: 123456789 *\n");
printf("************************************\n");
while( 1 ) { // infinite loop, ends with user input = 4
putchar( '\n' );
printf("1. Load Data and Calculate Average\n");
printf("2. Dispaly Student Data\n");
printf("3. Save Graph\n");
printf("4. Exit\n");
printf("Choice: ");
// fflush(stdin); // DO NOT DO This!
int choice = 0; // declare variables close to their use
scanf( "%d", &choice );
// should check return value from scanf
switch( choice ) {
case 1:
Read_Data( ESG206B, Size_MainFuncArray );
Calculate_StudentAverage( ESG206B, Size_MainFuncArray );
break;
case 2:
Display_Data( ESG206B, Size_MainFuncArray );
break;
case 3:
Write_Graph( ESG206B, Size_MainFuncArray );
break;
case 4:
printf( "Bye-bye\n" );
return 0; // program ends
default:
printf( "Invalid selection\n" );
break;
}
}
return 0;
}
/*
* The unwritten code is still yours to write.
*/
언급URL : https://stackoverflow.com/questions/73594644/i-am-stuck-on-implementing-the-while-repetition-structure-and-switch-selection-s
'source' 카테고리의 다른 글
Node.js 파일에 쓰는 중 (0) | 2022.11.03 |
---|---|
Java의 클래스 경로에서 리소스를 로드하는 URL (0) | 2022.10.25 |
PHP Composer가 왜 이렇게 느려? (0) | 2022.10.25 |
django Import 오류 - core.management라는 이름의 모듈이 없습니다. (0) | 2022.10.25 |
PHP에서 어레이의 최대 키 크기는 얼마입니까? (0) | 2022.10.25 |