vb如何编写C语言格式的函数Function CheckValid(Bar as String,Msg as String,User as String) as Integer
.....
.......
CheckValid=返回值
End Function
c语言,怎么写一个函数去判断输入数字是否正确应该输入一个四位数而不是输入四个一位数,这样才符合使用习惯 。这样c语言的valid函数的话,你一次读完即:
scanf("%d",n);
判断这个数是否大于1000且小于10000(如果不是,则不是4位数,同时排除了负数)
取出各位数字,然后看是否有相等c语言的valid函数的 。取千位数:x=n/1000;取百位数:y=(n-x*1000)/100; 取十位数:z=(n-x*1000-y*100)/10 取个位数:w=n%10;
Debug Assertion Failed! 求教高手!C语言兄弟 , 你这个程序 是有问题 , 不过是个小问题,估计是你粗心吧!
我也看好长时间才发现的;你的程序 我 是用vc6.0运行的 。结果就发现了这个问题,我在要修改的地方加了这句话,你看下吧“//*************isValid是个函数,你没有在后面加函数的参数啊,应该改这样例如:if(!isValid(a,b))”
希望能帮到你的忙
#include stdio.h
#include ctype.h
#define NUM_ATOMS 8
#define MAX_FORMULA_LEN 20
int isValid(char c[], char valid_char[]);
int findBracketMatch(char c[], char matchBracket, int start);
int doBracesMatch(char c[]);
void printFormula(char c[]);
int molecularWeight(char c[],char valid_char[],int);
int main()
{
char c[MAX_FORMULA_LEN];
char valid_char[NUM_ATOMS]={'H','S','O','N','C','B','K','P'};
int k = 0;
char d = ' ';
printf("Please enter the formula, put a '.' behind if you want to finish: ");
while(!isValid(c, valid_char))
{
while (d != '.')
{
d = toupper(getchar());
c[k] = d;
k++;
}
}
getchar();
if(!doBracesMatch(c))
{
printf("Error in braces..... ");
}
else
isValid(c, valid_char);
printFormula(c);
printf("The molecular weight for the molecule is:%d\n",molecularWeight(c,valid_char,0));
}
int isValid(char c[], char valid_char[])
{
int i,j,valid=1;
if(isdigit(c[0]))
return 0;
while(!validc[j]!='.')
{
if(isalpha(c[j]))
{
i=0;
while (c[i] != valid_char[NUM_ATOMS]iNUM_ATOMS)
i++;
valid=(i==NUM_ATOMS) ? 0:1;
}
else
if(c[j]=='(' || c[j]=='[' || c[j]=='{')
valid=isdigit(c[j+1]) ? 0:1;
j++;
}
return (valid);
}
int findBracketMatch (char c[], char matchBracket, int start)
{
while(c!=matchBracket)
{
if(c=='.' || c==')' || c==']' || c=='}')
return 0;
else
if(c=='(')
start=findBracketMatch(c, ')' , start+1);
else
if(c=='[')
start=findBracketMatch(c, ']', start+1);
else
if(c=='{')
start=findBracketMatch(c, '}', start+1);
start++;
}
return (start);
}
int doBracesMatch(char c[])
{
if (findBracketMatch(c, '.' ,0)) // start point: find '.'
return 1;
else
return 0;
}
void printFormula(char c[])
{
int i;
if (!isValid) //*************isValid是个函数,你没有在后面加函数的参数啊,应该改这样例如:if(!isValid(a,b))
printf("the formula is invalid, please enter again.:");
else
{
printf("The formula you have inputed is :\n");
for(i=0;c[i]!='.';i++)
printf("%c",c[i]);
printf("\n");
}
}
int molecularWeight(char c[],char valid_char[], int i)
{
int k,weight=0;
int digit;
int atom[]={1,2,3,4,5,6,7,8};
while(c[i]!='.')
{
if(c[i]=='(' || c[i]=='[' || c[i]=='{')
{
weight+=molecularWeight(c,valid_char,i+1);
推荐阅读
- mysql数据库整体迁移,mysql数据库怎么迁移
- 留学chatgpt,留学查体肝钙化6能行吗
- u盘出问题了怎么修复,u盘出现问题
- 虚拟机用哪个镜像,虚拟机镜像的作用
- linux命令及示例 linux命令技巧
- 苹果cms怎么设置自动删重,苹果cms自动生成tag
- 儿童益智类游戏.,儿童益智类游戏APP可以单机
- 浪费歌词视频调色软件安卓,浪费歌曲背景
- mysql手册怎么样 mysql8手册