Compare commits

...

2 Commits
main ... 2

@ -0,0 +1,46 @@
#include <stdio.h>
// 函数声明
void displayMenu();
int main() {
char input; // 用于存储用户输入的字符
while (1) {
displayMenu(); // 显示菜单
printf("Please enter your choice: ");
scanf(" %c", &input); // 读取用户输入
switch (input) {
case 'i':
printf("You are trying to Input info\n");
break;
case 'o':
printf("You are trying to Output info\n");
break;
case 'm':
printf("You are trying to Make things ordered\n");
break;
case 'q':
printf("You are about to Quit\n");
return 0; // 退出程序
default:
printf("Wrong input\n");
break;
}
}
return 0;
}
// 菜单显示函数
void displayMenu() {
printf("\n");
printf(" 1.Input\n");
printf(" 2.Output\n");
printf(" 3.Order\n");
printf(" 4.Quit\n");
printf("\n");
}

@ -0,0 +1,110 @@
#include <stdio.h>
#define MAX_STUDENTS 3 // 定义学生数量
typedef struct {
int id; // 学号
double math; // 高数成绩
double physics; // 大学物理成绩
double english; // 英语成绩
double total; // 总成绩
} Student;
// 函数声明
void displayMenu();
void inputStudents(Student students[]);
void displayStudents(const Student students[]);
int main() {
char input; // 用户选择的菜单选项
Student students[MAX_STUDENTS]; // 存储学生信息
int isInputDone = 0; // 标志是否完成录入
while (1) {
displayMenu(); // 显示菜单
printf("Please enter your choice: ");
scanf(" %c", &input); // 读取用户输入
switch (input) {
case 'i':
printf("You are trying to Input info\n");
inputStudents(students);
isInputDone = 1; // 标记为已完成录入
break;
case 'o':
if (isInputDone) {
printf("You are trying to Output info\n");
displayStudents(students);
} else {
printf("No information available. Please input info first.\n");
}
break;
case 'm':
printf("You are trying to Make things ordered\n");
break;
case 'q':
printf("You are about to Quit\n");
return 0; // 退出程序
default:
printf("Wrong input\n");
break;
}
}
return 0;
}
// 显示菜单函数
void displayMenu() {
printf("\n");
printf(" 1.Input\n");
printf(" 2.Output\n");
printf(" 3.Order\n");
printf(" 4.Quit\n");
printf("\n");
}
// 录入学生信息
void inputStudents(Student students[]) {
int i; // 循环变量移到外部声明
for (i = 0; i < MAX_STUDENTS; i++) {
printf("Enter information for student %d:\n", i + 1);
// 输入学号5位自然数
do {
printf("ID (5-digit number): ");
scanf("%d", &students[i].id);
if (students[i].id < 10000 || students[i].id > 99999) {
printf("Invalid ID. Please enter a 5-digit number.\n");
}
} while (students[i].id < 10000 || students[i].id > 99999);
// 输入成绩
printf("Math score (e.g., 85.0): ");
scanf("%lf", &students[i].math);
printf("Physics score (e.g., 99.0): ");
scanf("%lf", &students[i].physics);
printf("English score (e.g., 77.5): ");
scanf("%lf", &students[i].english);
// 计算总成绩
students[i].total = students[i].math + students[i].physics + students[i].english;
}
printf("Input completed.\n");
}
// 显示学生信息
void displayStudents(const Student students[]) {
int i; // 循环变量移到外部声明
printf(" ID Math Physics English Total\n");
for (i = 0; i < MAX_STUDENTS; i++) {
printf("%05d %.1f %.1f %.1f %.1f\n",
students[i].id,
students[i].math,
students[i].physics,
students[i].english,
students[i].total);
}
}
Loading…
Cancel
Save