zoukankan      html  css  js  c++  java
  • 999

    //本次课任务,从文本文件中读入单词列表,然后显示在屏幕上

    #include<stdio.h>

    //定义结构体类型,用于表示单词类型
    typedef struct word
    {
    char spell[100]; //定义spell成员,用于存储单词的英文拼写
    char interpretation[50]; //定义interpretation成员,用于存储单词的中文意思
    }word;
    typedef struct SqList //定义存储单词的顺序表存储结构
    {
    word *list; //list数组用于存放从文件读入的单词表
    int length; //顺序表的长度
    int listsize; //顺序表的容量
    }SqList;

    //子函数声明
    void Initiate(SqList &L);
    void Load(SqList &L) ;
    void Print(SqList L) ;
    void Test(SqList L);
    void main()
    {
    SqList L; //定义顺序表变量L

    Initiate(L); //初始化顺序表L

    Load(L); //从文本文件中读取单词存入顺序表L中

    Print(L); // 将顺序表L中的单词输出到屏幕上

    Test(L); //单词答题测试
    }
    void Initiate(SqList &L)
    //初始化顺序表L
    {
    L.list=(word *)malloc(INITSIZE*sizeof(word)); //为顺序表申请内存空间
    if(!L.list) //如果申请空间失败,退出程序
    {
    cout<<"内存空间不足!"<<endl;//在屏幕上输出“内存空间不足!”
    exit(0); //退出程序
    }
    L.length=0; //初始化单词表的长度值为0
    L.listsize=INITSIZE; //初始化单词表的容量为INITSIZE值
    }
    void Load(SqList &L)
    //从文本文件中读取单词存入顺序表L中
    {
    FILE *fp; //定义文件指针fp
    char filename[30];
    printf("请输入要测试单词的文件名:");
    scanf("%s",filename);
    if((fp=fopen(filename,"r"))==NULL) //打开文件,如果文件打开失败,退出程序
    {
    cout<<"文件不存在"<<endl; //在屏幕上输出“文件不存在!”
    exit(1);
    }
    int i=0; //i变量用于记录从文件读入的单词个数

    while(!feof(fp)&&i<L.listsize) //循环读入fp指针指向的文本文件中的每一个单词极其中文翻译
    {
    fgets(L.list[i].spell,100,fp); //请上网查找C语言的fgets函数的语法,为这条语句写注释
    fgets(L.list[i].interpretation,100,fp); //请上网查找C语言的fgets函数的语法,为这条语句写注释
    i++; //单词个数增加1
    }

    fclose(fp); //关闭文件
    L.length=i; //将顺序表中单词个数赋值给L.length
    }
    void Print(SqList L)
    //将顺序表L中的单词输出到屏幕上
    {
    for(int i=0;i<L.length;i++)
    printf("%s %s\n",L.list[i].spell,L.list[i].interpretation);
    }

    void Test(SqList L)
    //循环输出每一个单词的中文意思,要求用户输入该单词的英文拼写
    //如果该单词拼写输入正确,输出“答对了!你真棒”
    //如果该单词拼写输入错误,输出“答错了,没关系,再接再厉!”
    {

    }

  • 相关阅读:
    数据结构杂谈(三)堆排序
    数据结构杂谈(二)简单有趣的地精排序Gnome sort
    搭建proftp服务器
    python 单例模式
    mongo
    kafka
    查看端口占用
    tinyproxy 代理使用
    Linux 搭建wiki
    linux 安装 java
  • 原文地址:https://www.cnblogs.com/tanbo/p/15591559.html
Copyright © 2011-2022 走看看