㈠ c语言编程题,设计英汉词典的课设题型
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<math.h>
#define min(A,B) (A<B?A:B)
#define max(A,B) (A<B?B:A)
typedef struct Dict
{
char en[30];
char zh[30];
struct Dict* next;
} Dict;
int main(void)
{
Dict* head = 0;
int stucount=0;//数量
while(1)
{
printf("输入操作号:1:词汇输入 2:浏览 3:汉英 4:英汉 5:删除 6:退出:");
int quest;
scanf("%d",&quest);
scanf("%*[^ ]");
if(quest==6)break;
else if(quest==1)
{
Dict* newDict = (Dict*)malloc(sizeof(Dict));
printf("请输入中文:");
scanf("%29s", newDict->zh);
scanf("%*[^ ]");
printf("请输入英文:");
scanf("%29s", newDict->en);
scanf("%*[^ ]");
//插入链表首,这样最新添加的显示在最上面,容易看见效果
newDict->next=head;
head=newDict;
++stucount;
}
else if(quest==2)
{
if(head==0)
printf("没有单词! ");
else
{
printf("开始浏览单词: ");
while(1)
int st=0,en=min(st+10,stucount);
{
printf("浏览:%d个到%d个单词 ",st+1,en);
Dict* stu = head;
for(int i=0; i<st; ++i)
{
stu=stu->next;
}
for(int i=st; i<en; ++i)
{
printf("中文:%s 英文:%s ",stu->en,stu->zh);
stu=stu->next;
}
printf("输入操作号:1 向后翻页;2 向前翻页;-1 退出:");
int squest;
scanf("%d",&squest);
scanf("%*[^ ]");
if(squest==1)
{
if(en!=stucount) st=en;
}
else if(squest==2)
{
st=max(0,st-10);
}
else if(squest==-1)break;
en=min(st+10,stucount);
}
}
}
else if(quest==3 || quest==4 || quest==5)
{
char a[30];
if(quest==3)printf("请输入汉语词汇:");
else if(quest==4) printf("请输入英语词汇:");
else if(quest==5) printf("请输入待删除的词汇(汉英均可):");
scanf("%29s", a);
scanf("%*[^ ]");
Dict* stu = head;
Dict* lststu = 0;
int flag=0;
while(stu!=0 && flag==0)
{
if(quest==3)
{
if(strcmp(a,stu->zh)==0)
{
printf("英语为:%s ",stu->en);
flag=1;
}
}
else if(quest==4)
{
if(strcmp(a,stu->en)==0)
{
printf("汉语为:%s ",stu->zh);
flag=1;
}
}
else if(quest==5)
{
if(strcmp(a,stu->en)==0 || strcmp(a,stu->zh)==0)
{
stucount--;
if(lststu!=0)
lststu -> next = stu -> next;
else
head = stu -> next;
printf("已删除! ");
flag=1;
}
}
lststu=stu;
stu=stu->next;
}
if(flag==0)
{
printf("没有查到词汇! ");
}
}
}
return 0;
}
你看看对不对,能不能跑吧。如果有新的需求我可以继续写。代码应该很清晰了,如果你哪不懂可以给你解释。欢迎追问。
㈡ 求C语言大神帮我翻译一下这个英文题目!
写一个需要3个参数的函数
第一个参数是一个字母
第二个参数表示第一个参数(即字母)在一行里被打印的次数
第三个参数表示要打印几行
比如当函数使用( 'a', 5, 2 )作为参数时输出的结果应该如下:(两行,每行5个字母‘a’)
aaaaa
aaaaa
㈢ 用c语言编写电子英汉词典。
为了保证效率,建议使用哈希结构或者2岔树结构。
只需要提供插入删除和检索功能就可以了。
另外为字典的每个单元定义一个结构。
可以包含左右指针,自己的名词,及解释,还可以有其他东西。
然后实现树型结构的删除和检索功能就可以了。这个在数据结构的书上有吧。
然后写一个主函数就可以了。
㈣ c程序设计中碰到的英译汉的问题
接受那些不是为程序使用的数据可能导致系统失败。
应采取以下措施来减少数据输入错误。
如果实用的话应该引入显式转型以使设计者的意图更为明显。可以创造一些数学或逻辑方面的混合有符号、无符号变量。
意料之外的结果。在有符号的16位整数计数制情况下,十六进制数FFFF就是-1;而在无符号的16位整数计数制下却是65535。这一点区别会改变结果。
【这些在程序设计方面属于需要了解的背景知识,在计算机组成方面会详细讲,包括反码、补码及用反码补码进行加减乘除运算】
㈤ 翻译一道c语言题目
怎么这么多啊,我建议你可以用金山快译试试把它翻译出来
㈥ 做那个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;
}
恩,程序差不多就是这么多了,ITjob官网有c语言的相关文章和帖子,其他论坛或者博客也有。如果上面的回答没达到你的要求,那就自己再花点时间找找哈。不懂的问题,可以多去几个渠道找答案,希望能帮到你。
㈦ 题目:简单的英译汉C语言程序设计
#include<stdio.h>
main()
int a,b,c,d;
a=1,b=2,c=3=d=4;
printf("c%c%c%c%";a,b,c,d);
㈧ C语言编程题求翻译
意思是:使用特定数量(可定义,一般为4个)的空格键代替编程中的Tab键,若是有一组Tab键(制表位),说明每n列一个Tab,n应为一个变量或符号参数。
(这样做的目的是为了让你的代码在不同的编辑环境下都能保持统一的缩进、对齐,而不会出现对齐混乱,影响阅读)
㈨ 帮忙C语言题目翻译成,这道题要求我干什么
1
写程序文件复制拷贝现有的档案到另一个文件。该计划应要求使用者输入源文件名和目标文件的名称。该文件的副本应当以二进制模式。使用fseek ( )移动的源文件和ftell ( )来判断文件的大小(如果需要) 。读取数据从源文件,并写出读入的值在目的地文件中循环。读取和写入数据块1024字节。
2下列程序读取一个文本文件中包含数字数据存储在分隔栏的一个空白。收件的代码和编译您的计算机上。创建一个文本文件名为myfile.txt载有几个栏( 3 5例)的数字数据(实数)和测试计划。
分析代码,包括评论线,说明如何实现该计划的任务。修改代码,以便该计划还创建一个新的文本文件存储的地方只有整数部分(抛弃factionary部分)的实际数字储存在myfile.txt 。新的文件应写入数据在相同的格式( 3 5栏分隔空间) ,作为原始档案。包括报表,检查如果该文件是打开和关闭成功。只提交了最后,评论的代码。
三
创建一个文本文件,其中包含20行20整数以空格分隔。整数应在0-9的范围,并以空格分隔。收件程序如下的内容纳入了20 20 (二维)阵列的整数。该计划就应该利用这个数组初始化一个20x21字符数组的每个整数赞同从0到9 ,同一个字符从‘ A ’至‘ J ' 。例如, 0可与‘ A ’ ,而9 ' J ' 。 21字符的每一行中的字符数组应该是空字符' \ 0 ' ,使数组的数组20字符串。有计划显示所产生的(图片)的一系列字符(印刷行了行字符串)在屏幕上,并把它写在一个文本文件。
哪里不对再修改!
㈩ C语言英译汉字典代码怎么改成汉译英代码
if(!strcmp(give,english)){
这一句改成
if(!strcmp(give,chinese)){
就行了。