练习代码——单词本管理

源代码如下:

#include<stdio.h>
#include <string.h>
#define SIZE 100
int addword(char p[][20], int n);
int findword(char p[][20], int n, char* f);
int delword(char p[][20], int n, char* f);
void display(char p[][20], int n);
void menu();
int main()
{char myword[100][20];char word[20];char choice;int count = 0;int pos = -1;do {menu();printf("Please input your choice:");scanf("%c", &choice);getchar();switch (choice){case'1':count = addword(myword, count);break;case'2':printf("Please input what you are looking for:");gets(word);pos = findword(myword, count, word);if (pos != -1)printf("It's the %d word\n", pos + 1);elseprintf("It's not in myword list!\n");break;case'3':printf("Please input what you want to delete:");gets(word);count = delword(myword, count, word);break;case'4':display(myword, count);break;case'0':choice = 0; break;default:printf("Error input,please input your choice again!\n");}} while (choice);return 0;
}void menu()
{printf("          --------1.增加单词--------\n");printf("          --------2.查询单词--------\n");printf("          --------3.删除单词--------\n");printf("          --------4.显示单词--------\n");printf("          --------0。退    出--------\n");return;
}int addword(char p[][20], int n)
{int i, j;int pos = -1;char flag = 'y';char tmp[20];while (flag == 'y' || flag == 'Y'){if (n == SIZE){printf("Word list is full\n");break;}else{printf("Input your word:");gets(tmp);pos = findword(p, n, tmp);if (pos != -1){printf("the word exits!\n");break;}else{if (n){for (i = 0; i < n && strcmp(tmp, p[i])>0; i++);for (j = n; j > i; j--)strcpy(p[j], p[j - 1]);strcpy(p[i], tmp);n++;}else{strcpy(p[0], tmp);n = 1;}}printf("Another word?(y/n):");scanf("%c", &flag);getchar();}}return n;
}int findword(char p[][20], int n, char* f)
{int i;int pos = -1;for (i = 0; i < n; i++){if (!strcmp(p[i], f)){pos = 1;break;}}return pos;
}int delword(char p[][20], int n, char* f)
{int i;int pos = -1;pos = findword(p, n, f);if (pos == -1)printf("It's not in myword list!\n");else{for (i = pos; i < n - 1; i++){strcpy(p[i], p[i + 1]);}n = n - 1;}return n;
}
void display(char p[][20], int n)
{int i;if (n){for (i = 0; i < n; i++)puts(p[i]);}elseprintf("There is no word in myword list!\n");
}

运行结果:

C语言练习——单词本管理相关推荐

  1. R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包、使用p_unload函数卸载多个R包、使用p_update函数更新过期的R包

    R语言pacman包管理R编程语言需要的包实战:使用p_load函数安装和加载多个R包.使用p_unload函数卸载多个R包.使用p_update函数更新过期的R包 目录

  2. c语言商店自动销售,c语言商店商品管理系统设计报告与源代码.doc

    c语言商店商品管理系统设计报告与源代码.doc 1目录1系统分析21.1课程设计内容21.2系统功能需求分析21.3数据结构设计32系统设计32.1总体设计32.2详细设计42.2.1界面设计42.2 ...

  3. JVM内存管理------JAVA语言的内存管理概述

    转载自  JVM内存管理------JAVA语言的内存管理概述 引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑.不过世界上 ...

  4. C语言的内存管理(堆,栈,代码段,数据段)

    C语言的内存管理(堆,栈,代码段,数据段) 一.几个基本概念 在C语言中,关于内存管理的知识点比较多,如函数.变量.作用域.指针等,在探究C语言内存管理机制时,先简单复习下这几个基本概念: 1.变量: ...

  5. XYplorer 23多语言,最好的管理软件之一

    XYplorer 23多语言,最好的管理软件之一 可以完美替代 Windows Explorer 的软件之一是小巧但功能强大的 XYplorer 软件,尽管具有多语言.拖放.执行各种图形文件和某些多媒 ...

  6. c语言结账程序设计,c语言餐饮结账管理系统设计.doc

    c语言餐饮结账管理系统设计 C语言程序设计 课程设计报告 设计题目:餐饮结账管理系统设计 1 设计任务 1.1 设计题目的描述 功能:餐饮结账信息包括:编号.时间.台面号.顾客数量.接待服务生.实收金 ...

  7. c语言编程餐厅点餐系统,C语言实现餐饮管理与点餐系统.pdf

    C语语言言实实现现餐餐饮饮管管理理与与点点餐餐系系统统 本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内 如下 一一..项项目目简简介介 1.本程序实现了用户的点餐功能, ...

  8. c语言学生成绩管理系统设计分析,参阅:C语言学生成绩管理系统设计

    <C语言学生成绩管理系统设计.doc>由会员分享,可免费在线阅读全文,更多与<C语言学生成绩管理系统设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  9. 停车场自动计费系统 c语言,数据结构用c语言实现停车场管理完整系统.doc

    数据结构用c语言实现停车场管理完整系统 题目:用C语言实现停车场管理程序的设计 天津农学院 11计算机系计科 小组成员: 王亚洲 1108014219 王浩轩 1108014208 穆建良110801 ...

最新文章

  1. 实验6 触发器的使用
  2. 1-1 分配内存资源给容器和POD
  3. 《head first java 》读书笔记
  4. win10系统svn服务器端安装步骤,win10系统安装svn服务器的解决步骤
  5. UA MATH566 统计理论1 充分统计量例题答案2
  6. 流控组件Sentinel核心注解@SentinelResource中的参数fallback和blockHandler的使用方式
  7. maven-将maven工程打包成可执行jar包
  8. android sdk64位资源,android SDK 有32位或64位的分别吗
  9. 你还想让我怎样-线程同步(理论篇)
  10. 50道编程小题目之【完数】
  11. 教你如何从0到1实现组件化架构
  12. 计算机硬件维修教材,计算机硬件组装与维护教程(21世纪高等教育计算机规划教材)...
  13. C/S打包 客户端/windows程序 Inno Setup
  14. 关于aab转apk的方法--bundletool
  15. 调用webservice服务方式总结
  16. python 爬取贝壳网小区名称_利用python爬取贝壳网租房信息,python爬虫接单网, 最近准备换房子,...
  17. android 模拟器传文件夹里,夜神安卓模拟器和电脑互传文件的操作流程
  18. vue项目接入eslint、prettier、husky+lint-staged
  19. 排序与分页Pagination
  20. 如何单步调试存储过程

热门文章

  1. PMP课堂模拟题目及解析(第1期)
  2. 网页打印预览为空白页,解决!!
  3. 雷达回波信号脉冲压缩处理(MATLAB)
  4. Densenet(2018)
  5. C语言程序设计 参考书籍
  6. 全民飞机大战Java(搬)
  7. 【C语言】输出好看的星星图形
  8. 嘀嗒出行一直显示服务器错误,嘀嗒出行注册账号,显示身份信息异常!
  9. python实现动态壁纸_利用Python批量提取Win10锁屏壁纸实战教程
  10. 求英文版“会员卡的说明”