本系统旨在使用C语言实现单词检索和统计功能,并采用菜单模式进行操作,以提供用户友好的交互体验。

功能概述

系统包含以下主要功能:

  1. 输入文件并保存: 用户可以从键盘输入文件内容并将其保存到指定文件。
  2. 查找单词: 用户可以指定目标文件和要查找的单词,系统将输出该单词在文本中的行号、在该行中出现的次数以及位置信息。

实现步骤

  1. 设计菜单模式: 使用while循环和switch语句实现菜单模式,允许用户选择不同的功能。
int main() {
    int choice;
    while(1) {
        printf("========== Menu ==========
");
        printf("1. 输入文件并保存
");
        printf("2. 查找单词
");
        printf("3. 退出程序
");
        printf("==========================
");
        printf("请输入您的选择:");
        scanf("%d", &choice);
        switch(choice) {
            case 1:
                // 输入文件并保存
                break;
            case 2:
                // 查找单词
                break;
            case 3:
                // 退出程序
                break;
            default:
                printf("输入有误,请重新选择。
");
        }
    }
    return 0;
}
  1. 输入文件并保存: 使用文件流fopenfputcfclose函数实现文件读写操作。
case 1:
    printf("请输入文件名:");
    scanf("%s", filename);
    fp = fopen(filename, "w");
    if(fp == NULL) {
        printf("文件打开失败!
");
        break;
    }
    printf("请输入文件内容(以EOF结束):
");
    while((ch = getchar()) != EOF) {
        fputc(ch, fp);
    }
    fclose(fp);
    printf("文件已保存。
");
    break;
  1. 查找单词: 使用字符串库中的函数strstr实现字符串匹配,并记录单词出现的位置和次数。
case 2:
    printf("请输入要查找的文件名:");
    scanf("%s", filename);
    fp = fopen(filename, "r");
    if(fp == NULL) {
        printf("文件打开失败!
");
        break;
    }
    printf("请输入要查找的单词:");
    scanf("%s", word);
    printf("查找结果如下:
");
    line_num = 0;
    while(fgets(line, MAX_LINE_LEN, fp) != NULL) {
        line_num++;
        pos = strstr(line, word);
        if(pos != NULL) {
            count = 0;
            printf("第%d行,出现了%d次。
", line_num, count);
            while(pos != NULL) {
                count++;
                printf("第%d次出现的位置:%d
", count, pos - line);
                pos = strstr(pos + 1, word);
            }
        }
    }
    fclose(fp);
    break;

注意事项

  • 本系统仅提供基本实现思路,实际开发中还需要考虑错误处理、边界条件、内存管理等细节问题。
  • 可以使用不同的数据结构和算法来优化系统性能,例如使用哈希表来加速单词查找。
  • 可以使用图形界面库来设计更加美观的用户界面。

本系统旨在帮助用户理解C语言的基本概念和编程技巧,并提供一个简单的单词检索和统计工具。希望您能根据自己的需求进行扩展和改进。

C语言单词检索统计系统 - 菜单模式实现

原文地址: https://www.cveoy.top/t/topic/ne1V 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录