引言

C语言作为一种历史悠久且广泛使用的编程语言,其强大的功能和简洁的语法使其在各个领域都有广泛应用。本文将带领读者通过C语言编写一个简单的成绩查询系统,帮助大家更好地理解和运用C语言编程。

系统设计

1. 功能需求

  • 用户输入学生姓名或学号。
  • 系统根据输入的信息查询成绩。
  • 显示查询到的成绩信息。

2. 系统架构

  • 数据存储:使用结构体数组存储学生信息及成绩。
  • 数据查询:通过姓名或学号进行模糊查询。
  • 用户界面:控制台输入输出。

数据结构

#include <stdio.h>
#include <string.h>

#define MAX_STUDENTS 100

typedef struct {
    char name[50];
    int id;
    float score;
} Student;

Student students[MAX_STUDENTS];
int student_count = 0;

功能实现

1. 数据初始化

void init_data() {
    // 假设已有学生数据
    strcpy(students[0].name, "张三");
    students[0].id = 1;
    students[0].score = 90.0;
    
    strcpy(students[1].name, "李四");
    students[1].id = 2;
    students[1].score = 85.0;
    
    student_count = 2;
}

2. 成绩查询

int search_student(const char* name_or_id) {
    for (int i = 0; i < student_count; i++) {
        if (strcmp(students[i].name, name_or_id) == 0 || students[i].id == atoi(name_or_id)) {
            return i;
        }
    }
    return -1;
}

3. 显示成绩

void display_score(int index) {
    if (index == -1) {
        printf("未找到学生信息。\n");
        return;
    }
    printf("姓名:%s,学号:%d,成绩:%f\n", students[index].name, students[index].id, students[index].score);
}

用户界面

int main() {
    char input[50];
    int index;
    
    init_data();
    
    printf("请输入学生姓名或学号查询成绩:");
    scanf("%s", input);
    
    index = search_student(input);
    display_score(index);
    
    return 0;
}

总结

通过以上步骤,我们使用C语言实现了一个简单的成绩查询系统。这个系统可以帮助我们更好地理解和运用C语言编程,同时也为以后开发更复杂的应用打下了基础。在实际应用中,可以根据需求不断完善和扩展系统功能。