C语言学生信息管理系统不用指针
时间: 2023-12-14 10:34:45 浏览: 75
以下是一个不使用指针的C语言学生信息管理系统的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
struct student {
char name[20];
int age;
float score;
};
struct student students[MAX_STUDENT_NUM];
int student_num = 0;
void add_student() {
if (student_num >= MAX_STUDENT_NUM) {
printf("Too many students!\n");
return;
}
struct student s;
printf("Please input student name: ");
scanf("%s", s.name);
printf("Please input student age: ");
scanf("%d", &s.age);
printf("Please input student score: ");
scanf("%f", &s.score);
students[student_num++] = s;
printf("Add student success!\n");
}
void show_students() {
if (student_num == 0) {
printf("No student!\n");
return;
}
printf("Name\tAge\tScore\n");
for (int i = 0; i < student_num; i++) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
}
}
void classify_students() {
if (student_num == 0) {
printf("No student!\n");
return;
}
printf("Excellent students:\n");
printf("Name\tAge\tScore\n");
for (int i = 0; i < student_num; i++) {
if (students[i].score >= 90) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
}
}
printf("Good students:\n");
printf("Name\tAge\tScore\n");
for (int i = 0; i < student_num; i++) {
if (students[i].score >= 80 && students[i].score < 90) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
}
}
printf("Normal students:\n"); printf("Name\tAge\tScore\n");
for (int i = 0; i < student_num; i++) {
if (students[i].score >= 60 && students[i].score < 80) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
}
}
printf("Fail students:\n");
printf("Name\tAge\tScore\n");
for (int i = 0; i < student_num; i++) {
if (students[i].score < 60) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
}
}
}
void sort_students() {
if (student_num == 0) {
printf("No student!\n");
return;
}
for (int i = 0; i < student_num - 1; i++) {
for (int j = 0; j < student_num - i - 1; j++) {
if (students[j].score < students[j + 1].score) {
struct student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
printf("Sort students success!\n");
}
void check_name() {
if (student_num == 0) {
printf("No student!\n");
return;
}
char name[20];
printf("Please input student name: ");
scanf("%s", name);
for (int i = 0; i < student_num; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("Name\tAge\tScore\n");
printf("%s\t%d\t%.2f\n", students[i].name, students[i].age, students[i].score);
return;
}
}
printf("No such student!\n");
}
void save_students() {
if (student_num == 0) {
printf("No student!\n");
return;
}
FILE *fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("Open file failed!\n");
return;
}
for (int i = 0; i < student_num; i++) {
fprintf(fp, "%s %d %.2f\n", students[i].name, students[i].age, students[i].score);
}
fclose(fp);
printf("Save students success!\n");
}
void load_students() {
FILE *fp = fopen("students.txt", "r");
if (fp == NULL) {
printf("Open file failed!\n");
return;
}
while (1) {
struct student s;
if (fscanf(fp, "%s %d %f", s.name, &s.age, &s.score) != 3) {
break;
}
students[student_num++] = s;
}
fclose(fp);
printf("Load students success!\n");
}
int main() {
while (1) {
printf("1. Add student\n");
printf("2. Show students\n");
printf("3. Classify students\n");
printf("4. Sort students\n");
printf("5. Check name\n");
printf("6. Save students\n");
printf("7. Load students\n");
printf("0. Exit\n");
int choice;
printf("Please input your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
show_students();
break;
case 3:
classify_students();
break;
case 4:
sort_students();
break;
case 5:
check_name();
break;
case 6:
save_students();
break;
case 7:
load_students();
break;
case 0:
printf("Goodbye!\n");
return 0;
default:
printf("Invalid choice!\n");
break;
}
}
return 0;
}
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)