• c语言中一些公用的方法


    这段由于学业的原因,最近与C有所接触,面向过程与面向对象还是有点区别。

    但是方法还是可以写成公用的...下面几个函数感觉用的比较经常点,就贴上来了...

    /* 25 ******************子串判断****************************/
    /* 参数 ******************SourceStr源串,DesStr判断串****************************/
    int StringJudge(char SourceStr[],char DesStr[])
    {
      int results=0,i;
      i=strlen(DesStr);/*获取子串的长度*/
      while((SourceStr=strstr(SourceStr,DesStr))!=NULL) /*在字符串中查找到字符串第一次出现的地方*/
      {
     SourceStr=SourceStr+i;/*位置往后移动*/
     results++;
      }
      return results;
    }
    /* 26 ******************判断输入参数类型是否正确****************************/
    int JudgeInputData(char *str, int status)
    {
    int i=0;
    int len = strlen(str);
    int boolPoint = 0;
    switch(status)
    {
    case ISNUM:
    for (i=0; i<len; i++)
    {
    if (!(str[i]>=48 && str[i]<=57))
    {
    return 0;
    }
    }
    return 1;
    break;
    case ISCHAR:
    for (i=0; i<len; i++)
    {
    if (!( (str[i]>=65 && str[i]<=90) || (str[i]>=97 && str[i]<=122) ))
    {
    return 0;
    }
    }
    return 1;
    break;
    case ISFLOAT:
    for (i=0; i<len; i++)
    {
    if ((str[i]>=48 && str[i]<=57) || (str[i]=='.' && boolPoint==0))
    {
    if (str[i]=='.')
    {
    boolPoint++;
    }
    continue;
    }
    return 0;
    }
    return 1;
    break;
    }
    return 1;
    }
    /* 27 ******************输入参数并对其进行判断操作****************************/
    /* 参数: ****************** *str(输入字符),len(输入字符长度),*printInfo(输入字符提示),status(输入参数类型),max(限定输入最大值)****************************/
    void InputData(char *str, int len, char *printInfo, int status,int max)
    {
    char ch[1024]={0};
    char buf[1024]={0};
    int i = 0;
    memset(str,0,sizeof(str));
    printf(printInfo); // 打印提示信息,让用户输入
    sprintf(buf,"输入有误请重新输入!\n%s",printInfo);
    switch(status)
    {
    case ISNUM:
    while(1)
    {
    scanf("%s",ch);
    strncpy(str,ch,len);
    if (JudgeInputData(ch,status) == 1)
    {
    if(atoi(str)>max){
    sprintf(buf,"输入超过范围%d,请重新输入!\n%s",len,printInfo);
    }
    else
    break;
    }
    printf(buf); // 打印出错信息,让用户重新输入
    }
    break;
    case ISCHAR:
    while(1)
    {
    scanf("%s",ch);
    if (JudgeInputData(ch,status) == 1)
    {
    break;
    }
    printf(buf); // 打印出错信息,让用户重新输入
    }
    strncpy(str,ch,len);
    break;
    case ISFLOAT:
    while(1)
    {
    scanf("%s",ch);
    strncpy(str,ch,len);
    if (JudgeInputData(ch,status) == 1)
    {
    if(atoi(str)>max){
    sprintf(buf,"输入超过范围%d,请重新输入!\n%s",max,printInfo);
    }
    else
    break;
    }
    printf(buf); // 打印出错信息,让用户重新输入
    }
    break;
    default:
    break;
    }

  • 相关阅读:
    jquery实现 图片延迟加载
    JSON在PHP中的应用
    【SAS NOTES】proc corr 检验变量相关性
    【SAS NOTES】proc freq 检验两分类变量
    【sas notes】proc sgplot拟合曲线
    【sas notes】proc sgplot折线图
    【sas notes】proc sgplot
    【SAS NOTES】proc reg 单变量线性回归
    【SAS NOTES】proc sgplot散点图
    【sas notes】sas9.2安装
  • 原文地址:https://www.cnblogs.com/yangzhong/p/1898102.html
Copyright © 2020-2023  润新知