c语言单词本的新增、删除、查询按顺序显示功能

c语言单词本的新增,删除,查询,按顺序显示

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

#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);

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");

}

int addword(char p[][20], int n)

{

int i, j;

char 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("Iput 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 = i;

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'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]);

}

else

printf("There is no word in myword list!\n");

}

结果如下

到此这篇关于c语言单词本的新增,删除,查询,按顺序显示的文章就介绍到这了,更多相关c语言单词本内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/starmultiple/article/details/121845367

本文链接:https://my.lmcjl.com/post/8210.html

展开阅读全文

4 评论

留下您的评论.