| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 936 人关注过本帖
标题:[求助]新程序到底怎么改?!
只看楼主 加入收藏
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
 问题点数:0 回复次数:13 
[求助]新程序到底怎么改?!

1.输入一个字符串,判断是否是VC++的关键字
(1)没有调用 strcmp()函数
觉得应该是一个非常简单的程序,但是调试了好几天,都没有结果,麻烦看看!

#include<iostream.h>
void main()
{
int i,j;
char s[11],str[3][12]={"auto","while","static_cast"};//只写了几个
cout<<"input a tring:";
cin>>s;
for(i=0;i<3;i++)
{if(s[0]!=str[i][0])
continue;
else
{
for(j=0;j<11;j++)
if(s[j]==str[i][j]&&s[j]!='\0'&&str[i][j]!='\0')
continue;
else
{cout<<"the string is not a keyword"<<endl;
break;}

}
cout<<"the string is a keyword"<<endl;
}

}
(2)调用了,很简单,没问题
#include<iostream.h>
#include<string.h>
void main()
{
int i,k;
char s[11],str[3][12]={"auto","while","static_cast"};
cout<<"input a tring:";
cin>>s;

for(i=0;i<3;i++)
{k=strcmp(s,str[i]);
if(k==0)
{cout<<" the string is a keyword"<<endl;
break;}
continue;}
cout<<"the string is not a keyword"<<endl;

}
2.输入一个式子,将其转换成词法记号流如:
position=initial+rate*60
输出:position
=
initial
+
rate
*
60
>??????????????????????没有一点思路

[此贴子已经被作者于2007-9-23 11:37:58编辑过]

搜索更多相关主题的帖子: 关键字 include 字符串 color 
2007-09-17 19:09
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 
怎么没人帮我啊?
是不是不屑一顾啊

2007-09-20 10:39
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
收藏
得分:0 

(1)第一问题不晓得你在问什么


(2)
#include <iostream>
using namespace std;

int main()
{
char input[255];
cin >> input;
for (char *p = input; *p != '\0'; p++)
{
switch (*p)
{
case '+':
case '-':
case '*':
case '/':
case '=':
{
cout << '\n' << *p;
break;
}
default:
{
cout << *p;
break;
}
}
}

return 0;
}

[此贴子已经被作者于2007-9-20 11:35:36编辑过]


★★★★★欢迎光临我的博客 ★★★★★
http://www.
2007-09-20 11:34
jiushiwo
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-3-10
收藏
得分:0 

做你自己! everything will go! lanfei_1234@
2007-09-20 13:41
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 

第一个就是要你们帮我改,因为我没有调用strcmp()函数,程序写不出来.调用这个函数的程序我会写.
第二个程序就只有一个问题了:遇到转义字符怎么办?有空格也不行.(这个程序是对任何字符都要换行输出的)

[此贴子已经被作者于2007-9-20 17:13:23编辑过]


2007-09-20 17:11
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

void main()
{
int i=0,j=0;
char s[12],str[3][12]={"auto","while","static_cast"};//只写了几个
cout<<"input a tring:";
cin>>s;
for(i=0;i<3;i++)
{
if(s[0]!=str[i][0])
continue;
else
{
for(j=0;j<11;j++)
if(s[j]!=str[i][j] && (s[j]!='\0'&&str[i][j]!='\0'))
{
cout<<"the string is not a keyword"<<endl;
return;
}
}

}
if(j==0)
{
cout<<"the string is not a keyword"<<endl;
return;
}

cout<<"the string is a keyword"<<endl;

return;
}


=×&D o I p R e E n C g T l X&×=
2007-09-20 17:39
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
第二个程序用strpbrk()来处理吧

=×&D o I p R e E n C g T l X&×=
2007-09-20 17:46
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 
非常感谢!
strpbrk()是怎么用啊?
我没用过。我的程序如下:
#include<iostream.h>
#include<string.h>
void main()
{
int i ,j,l;
char s[50];
cout<<"please input a formula:";
cin>>s;
l=strlen(s);
for(i=0;i<l;i++)
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
cout<<s[i];
else if(s[i]>='0'&&s[i]<='9')
{for(j=0;j<i;j++)
if(s[j]>='a'&&s[j]<='z'||s[j]>='A'&&s[j]<='Z')
cout<<s[i];
else
{cout<<endl;
cout<<s[i];}
}
else if(s[i]==' '||s[i]=='\t'||s[i]=='\n')
{ cout<<endl;
cout<<endl;}
else
{cout<<endl;
cout<<s[i];
cout<<endl;
}
}
但是对输入空格和转义字符没有作用,请问怎么改?
程序中红色部分有错!!!!!!

[此贴子已经被作者于2007-9-21 21:25:13编辑过]


2007-09-21 21:22
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 
又没人帮我改?这几天都在做建模,没时间啊,明天要交了!

2007-09-23 11:35
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
void main()
{
int i;
char s[256];
cout<<"input a string:"<<endl;
cin>>s;
if(s[0]==' ');//第一个字符单独处理,便于后面判断s[i=1]等的解体
else
cout<<s[0];
int max = strlen(s);
for(i=1;i<max+1;i++)
{
if(s[i]>='0'&&s[i]<='9'||s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z') //同一性质的字母与数字组合判断
{
if(!(s[i-1]>='0'&&s[i-1]<='9'||s[i-1]>='A'&&s[i-1]<='Z'||s[i-1]>='a'&&s[i-1]<='z')) //如果前面的一个字符是符号,则先换行在输出该字符
cout<<endl;
cout<<s[i];
}
else
{
if(s[i]==' ');//如果是空格,不执行
else
{
cout<<endl<<s[i];
}
}
}
}

=×&D o I p R e E n C g T l X&×=
2007-09-23 11:39
快速回复:[求助]新程序到底怎么改?!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027246 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved