大虾看看我的代码 老出错 求正解 给高分 急急急急急急急急:问题是C语言关键字中英翻译机
#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>intEN();intCN()...
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int EN();
int CN();
void main()
{
char a[]="1";
char b[]="2";
char d[]="bye";
char ch;
printf("**************************************\n");
printf(" 欢迎使用C语言关键字中英翻译机\n");
printf("**************************************\n");
printf("1.通过输入英文来查找\n");
printf("2.通过输入中文意思来查找\n");
printf(" 输入bye退出程序\n\n\n\n");
do{
ch=getch();
switch(ch)
{
case '1':int EN(int n);break;
case '2':int CN(int n);break;
case 'bye':exit(0);break;
default: ;
}
}while(1);
}
int EN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
{"else","条件语句否定分支(与if 连用)"},
};;
printf("\n请输入要查找的关键字的英文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].key,r)==0)
break;
else
continue;
else
if(strcmp(word[n].key,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
printf("\n关键字:%s", word[s].key);
printf("\n关键字含义:%s", word[s].mean);
return 0;
}
int CN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
};;
printf("\n请输入要查找的关键字的中文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].mean,r)==0)
break;
else
continue;
else
if(strcmp(word[n].mean,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
printf("\n关键字:%s", word[s].mean);
printf("\n关键字含义:%s", word[s].key);
return 0;
}
如有正解 给另给高分 感激不尽啊 展开
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int EN();
int CN();
void main()
{
char a[]="1";
char b[]="2";
char d[]="bye";
char ch;
printf("**************************************\n");
printf(" 欢迎使用C语言关键字中英翻译机\n");
printf("**************************************\n");
printf("1.通过输入英文来查找\n");
printf("2.通过输入中文意思来查找\n");
printf(" 输入bye退出程序\n\n\n\n");
do{
ch=getch();
switch(ch)
{
case '1':int EN(int n);break;
case '2':int CN(int n);break;
case 'bye':exit(0);break;
default: ;
}
}while(1);
}
int EN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
{"else","条件语句否定分支(与if 连用)"},
};;
printf("\n请输入要查找的关键字的英文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].key,r)==0)
break;
else
continue;
else
if(strcmp(word[n].key,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
printf("\n关键字:%s", word[s].key);
printf("\n关键字含义:%s", word[s].mean);
return 0;
}
int CN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
};;
printf("\n请输入要查找的关键字的中文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].mean,r)==0)
break;
else
continue;
else
if(strcmp(word[n].mean,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
printf("\n关键字:%s", word[s].mean);
printf("\n关键字含义:%s", word[s].key);
return 0;
}
如有正解 给另给高分 感激不尽啊 展开
2个回答
展开全部
可以了。
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int EN();
int CN();
void main()
{
char a[]="1";
char b[]="2";
char d[]="bye";
char ch;
printf("**************************************\n");
printf(" 欢迎使用C语言关键字中英翻译机\n");
printf("**************************************\n");
printf("1.通过输入英文来查找\n");
printf("2.通过输入中文意思来查找\n");
printf(" 输入b退出程序\n\n\n\n");
do{
ch=getch();
switch(ch)
{
case '1':EN();break;
case '2':CN();break;
case 'b':exit(0);break; //单引号中内容不可为字符串
default: ;
}
}while(1);
}
int EN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
{"else","条件语句否定分支(与if 连用)"},};
printf("\n请输入要查找的关键字的英文:\n");
scanf("%s",r);
for(s=0;s<=n;s++){
if(s<=n-1)
if(strcmp(word[s].key,r)==0)
break;
else
continue;
else
if(strcmp(word[n].key,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
}
}
printf("\n关键字:%s", word[s].key);
printf("\n关键字含义:%s\n", word[s].mean);
return 0;
}
int CN(){
char r[20] ;
int s;
int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},}; //多了一个分号
printf("\n请输入要查找的关键字的中文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].mean,r)==0)
break;
else
continue;
else
if(strcmp(word[n].mean,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
}
}
printf("\n关键字:%s", word[s].mean);
printf("\n关键字含义:%s", word[s].key);
return 0;
}
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int EN();
int CN();
void main()
{
char a[]="1";
char b[]="2";
char d[]="bye";
char ch;
printf("**************************************\n");
printf(" 欢迎使用C语言关键字中英翻译机\n");
printf("**************************************\n");
printf("1.通过输入英文来查找\n");
printf("2.通过输入中文意思来查找\n");
printf(" 输入b退出程序\n\n\n\n");
do{
ch=getch();
switch(ch)
{
case '1':EN();break;
case '2':CN();break;
case 'b':exit(0);break; //单引号中内容不可为字符串
default: ;
}
}while(1);
}
int EN()
{
char r[20] ;
int s; int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},
{"else","条件语句否定分支(与if 连用)"},};
printf("\n请输入要查找的关键字的英文:\n");
scanf("%s",r);
for(s=0;s<=n;s++){
if(s<=n-1)
if(strcmp(word[s].key,r)==0)
break;
else
continue;
else
if(strcmp(word[n].key,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
}
}
printf("\n关键字:%s", word[s].key);
printf("\n关键字含义:%s\n", word[s].mean);
return 0;
}
int CN(){
char r[20] ;
int s;
int n=34;
struct word//词库
{
char key[20];
char mean[80];
}word[1000]={{"auto","声明自动变量"},
{"double","声明双精度变量或函数"},
{"int","基本整形"},
{"struct","声明结构体变量或函数"},
{"break","跳出当前循环"},}; //多了一个分号
printf("\n请输入要查找的关键字的中文:\n");
scanf("%s",r);
for(s=0;s<=n;s++)
{
if(s<=n-1)
if(strcmp(word[s].mean,r)==0)
break;
else
continue;
else
if(strcmp(word[n].mean,r)==0)
break;
else
{
printf("\n抱歉,词库中没有收入此关键字");
}
}
printf("\n关键字:%s", word[s].mean);
printf("\n关键字含义:%s", word[s].key);
return 0;
}
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
先不说你的程序能不能完成你的目的。我大略一看就发现两个错误。你先改这俩吧
1 你的ch 定义的是char 型的。而 switch中 一个case 分支确实 字符串 bye 用来退出的。这么做对吗? 再者说,定义成字符串类型的后也不能只用='1' 这种形式。那是字符串,不是字符。要用strcmp 函数来比较的。 你在switch 的条件里就应该写成这个。如果不会看看基础去。
2 你程序开头声明的两个函数是没有参数的,你case 里却是传递了int 型的变量。这么做也不对吧?写函数的时候也没有参数,没有参数你传值能对吗?
先改这两个吧,
1 你的ch 定义的是char 型的。而 switch中 一个case 分支确实 字符串 bye 用来退出的。这么做对吗? 再者说,定义成字符串类型的后也不能只用='1' 这种形式。那是字符串,不是字符。要用strcmp 函数来比较的。 你在switch 的条件里就应该写成这个。如果不会看看基础去。
2 你程序开头声明的两个函数是没有参数的,你case 里却是传递了int 型的变量。这么做也不对吧?写函数的时候也没有参数,没有参数你传值能对吗?
先改这两个吧,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询