c语言电子词典
1. c语言编写电子词典
我有一些资料 但不是你说的这个 如果能用到就CALL我
C++入门教程.txt
C语言程序设计.TXT
Java编程思想.txt
汇编语言程序设计大全.txt
另外 你那本电子词典我也想要一个 拜托联系啊
2. C语言编写电子词典,要求用户输入十个单词和释义,然后系统排序(释义跟着单词被排序)
#include "stdio.h"
#include "string.h"
#define N_1 3
#define N_2 20
#define N_3 200
int i,j;
/**************************************/
int strccmp(char *str1,char *str2)
{
int len;
int len_1=strlen(str1);
int len_2=strlen(str2);
for(i=0;str1[i]!='\0';i++)
{
if(str1[i]>='A'&&str1[i]<='Z') { str1[i]+=32; }
}
for(i=0;str2[i]!='\0';i++)
{
if(str2[i]>='A'&&str2[i]<='Z') { str2[i]+=32; }
}
len=len_1>len_2?len_2:len_1;
for(i=0;i<len;i++)
{
if(str1[i]>str2[i]) { return 1; }
else if(str1[i]<str2[i]) { return -1; }
}
if((len_1!=len_2)&&(len_1>len_2)) { return 1; }
else if((len_1!=len_2)&&(len_1<len_2)) { return -1; }
else { return 0; }
}
/**************************************/
void sort(char words[][N_2],char comments[][N_3])
{
int i,j;
char temp_1[N_2];
char temp_2[N_3];
for(i=0;i<N_1;i++)
{
for(j=i+1;j<N_1;j++)
{
if(strccmp(words[i],words[j])==1)
{
strcpy(temp_1,words[i]);
strcpy(words[i],words[j]);
strcpy(words[j],temp_1);
strcpy(temp_2,comments[i]);
strcpy(comments[i],comments[j]);
strcpy(comments[j],temp_2);
}
}
}
}
/**************************************/
int search(char *key,char words[][N_2])
{
int bot=0;
int top=N_1-1;
int mid;
while(bot<=top)
{
mid=(bot+top)/2;
if(strccmp(words[mid], key)==1) { top=mid-1; }
else if(strccmp(words[mid], key)==-1) { bot=mid+1; }
else { return mid; }
}
return -1;
}
/**************************************/
void main()
{
int mark;
char key[N_2];
char words[N_1][N_2];
char comments[N_1][N_3];
int i,j,k;
int strccmp(char *str1,char *str2);
void sort(char words[][N_2],char comments[][N_3]);
int search(char *key,char words[][N_2]);
printf("DATA:\n");
for(i=0;i<N_1;i++)
{
printf("Please enter word %d:\t", i+1);
gets(words[i]);
printf("please enter word%d's comments:\t", i+1);
gets(comments[i]);
}
sort(words,comments);
do
{
printf("\nPlease enter key : ");
gets(key);
if(*key==NULL) { break; }
mark=search(key,words);
printf("Comment : ");
if(mark==-1)
{
printf("This word does not exist!\n\n@_@\n\n");
}
else
{
printf("%s\n\n^_^\n\n",comments[mark]);
}
}while(1);
}
3. 用c语言编写一个电子词典,先将单词存储到文件中,要求输入一个单词就能找到这个词条的地址,然后跳到那
没错 用哈希表,在网上找个C语言的哈希代码用到你的程序中吧
4. C语言英汉电子词典
你得说说怎么完善啊~~~~
5. C语言实验:电子词典之编写正则表达式
赵岩知道
6. 用c语言编写 电子英汉词典
这个啊?那得多大的程序啊?
7. [编程] 如何用c语言读取电子词典的文件信息
这也不是很难实现的,看你水平是在哪个程度的了。
读取电子词典文件信息,重要的是通讯接口规范和通讯协议.和你具体使用什么语言没有关系。哪怕用个vb脚本就可以实现.
在没有其它参考资料的情况下.拆机查看电路,查出用的是什么芯片,各部分的功能是什么.使用词典原厂的通讯程序和PC通讯,进行各种操作,抓取数据包进行分析...这一切都是未知.有经验的工程师很容易就可以搞定,前提是厂商没有特意进行加密处理,否则要费一翻工夫了.如果存储器是flash,而接口芯片啥的都搞清楚了是个广泛使用的方案,那太容易了,各个厂通用的方案,搞不好网上就有源码.越说越远了,如果是个类似MTK的方案,呵呵...
8. 如何用C语言编译电子词典
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define szWORD 32
#define szSTRN 224
#define szITEM sizeof(struct TItem)
char fileDict[szSTRN];typedef struct TItem {
char word[szWORD];
char mean[szSTRN];
} Item;fpos_t lookup(char *word, char *mean)
{
FILE * f = 0; Item i;
int r = 0; fpos_t p = 0;
if(!word) return 0;
f = fopen(fileDict, "rb");
if (!f) return 0;
while(!feof(f)) {
fgetpos(f, &p);
r = fread(&i, szITEM, 1, f);
if(r < 1) break;
if(i.word[0] == 0) continue;
if(strcmp(i.word , word)) continue;
if(mean) strcpy(mean, i.mean );
fclose(f);
return p+1;
}
fclose(f);
return 0;
}void append(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("请输入单词:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p) {
printf("字典内已经有该单词记录!\n");
return;
}
printf("请输入释义,按回车结束:");
fflush(stdin);
gets(i.mean );
f = fopen(fileDict, "ab");
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("词条已新增\n");
}void erase(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("请输入单词:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p==0) {
printf("字典内没有该单词记录!\n");
return;
}
p--;
memset(&i, 0, szITEM);
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("词条已删除\n");
}void edit(void)
{
Item i; FILE * f = 0; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("请输入单词:"); scanf("%s", i.word );
p = lookup(i.word, 0 );
if(p==0) {
printf("字典内没有该单词记录!\n");
return;
}
p--;
printf("请输入释义,按回车结束(输入abort放弃修改):");
fflush(stdin);
gets(i.mean );
if(strstr(i.mean ,"abort")) {
printf("已放弃修改!\n");
return ;
}
f = fopen(fileDict, "rb+");
fsetpos(f, &p);
fwrite(&i, szITEM, 1, f);
fclose(f);
printf("词条已保存\n");
}void query(void)
{
Item i; fpos_t p = 0;
memset(&i, 0, szITEM);
printf("请输入单词:"); scanf("%s", i.word );
p = lookup(i.word, i.mean );
if(p==0) {
printf("字典内没有该单词记录!\n");
return;
}
printf("【词条】%s\n【释义】%s", i.word , i.mean );
}void set(void)
{
int cmd = 0;
printf("当前字典为%s,需要改变吗(选择y或Y改变)?", fileDict);
cmd = getch();
if(cmd == 'y' || cmd == 'Y') {
printf("请输入字典文件名称(包含路径):");
scanf("%s", fileDict);
printf("设置成功!\n");
}
}
int main(int argc, char * argv[])
{
int cmd = 0;
if(argc >1)
strcpy(fileDict, argv[1]);
else
strcpy(fileDict, "c:\\dict.txt");
/*end if*/
for(;;) {
printf("\n\
************************\n\
** 欢迎使用迷你字典!**\n\
************************\n\
** 0 - 设置字典 **\n\
** 1 - 查询词条 **\n\
** 2 - 新增词条 **\n\
** 3 - 编辑词条 **\n\
** 4 - 删除词条 **\n\
** 5 - 退出字典 **\n\
************************\n");
cmd = getch() - '0';
switch(cmd) {
case 0: set(); break;
case 1: query(); break;
case 2: append(); break;
case 3: edit(); break;
case 4: erase(); break;
default: return 0;
}
}
return 0;
}
9. C语言课程设计 电子词典
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
#include <winbase.h>
#include <process.h>
void Search()
{
char ret;
char temp[100];
char buffer[2];
char result[100];
printf("请输入要查询的单词:\n");
scanf("%s",&temp);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=GetPrivateProfileString(buffer,temp,0,result,100,"./date.ini");
if(ret>0)
printf("%s\n\n\n\n\n",result);
else
printf("对不起,没有您要查找的单词.\n\n\n\n\n");
}
void InsertItem()
{
char temp[100];
char buffer[2];
char result[100];
printf("请输入要插入的单词:\n");
scanf("%s",&temp);
printf("请输入单词的解释:\n");
getchar();
scanf("%s",&result);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=WritePrivateProfileString(buffer,temp,result,"./date.ini");
if(ret=0)
printf("插入失败。\n\n\n\n\n");
else
printf("插入成功。\n\n\n\n\n");
}
int main(int argc, char* argv[])
{
int index;
main:
printf("**************MENU***************\n\n");
printf(" 1 英译汉\n");
// printf("2 汉译英\n");
printf(" 2 插入新的词条\n");
// printf(" 3 删除已有词条\n");
printf(" 3 清空屏幕\n");
printf(" 4 退出\n\n");
printf("**********************************\n");
do{
printf("请选择操作(1~4):\n");
scanf("%d",&index); /*输入选择项*/
}while(index<0||index>5); /*选择项不在0~4之间重输*/
switch(index)
{
case 1:
Search();
goto main;
break;
case 2:
InsertItem();
goto main;
break;
case 3:
system("cls");
goto main;
break;
case 4:
return 0;
break;
default:
break;
}
return 0;
}
10. c语言编写的电子词典
题目好眼熟 =.=