| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1219 人关注过本帖, 1 人收藏
标题:求助各位大大解决一下这个程序的小问题!
取消只看楼主 加入收藏
gz0000
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-1-23
结帖率:77.78%
收藏(1)
已结贴  问题点数:10 回复次数:3 
求助各位大大解决一下这个程序的小问题!

这个程序有点小毛病!就是在进入模块1输入待统计的字符后再次输入该字符会显示错误!请大家帮帮忙!
还有就是选择进入模块2后!按提示完成步骤直到返回主菜单!但如果不选择主菜单上的功能选项!可以直接进行模块2的应用!
程序不是很严谨~希望大家帮帮忙!




/*program yya13-1.c*/
#include "stdio.h"
#include "stdlib.h"
void main()
{
    char *p="The furthest distance in the world\nIs not between life and death\nBut when I stand in front of you\nYet you don't know that I love you\n";
    char ch,ch1,*q=NULL;
    int count;
    int t;
    /*主菜单程序段*/
lable1:printf("\n\t请选择功能:\n");           /*语句标号*/
       printf("\n\t=========================\n");/*(/t)指横向跳格*/
       printf("\n\t1:打开已有文件进行统计\n");
       printf("\n\t2:用户新建文件并进行统计\n");
       printf("\n\t3:结束程序\n");
       printf("\n\t=========================\n");
       scanf("%d",&t);getchar();            /*功能编号,消去输入的回车符*/
       if(t!=1&&t!=2&&t!=3)                 /*输入不正确,再次重复输入*/
       {
           printf("\n\t请重新选择功能键\n");
           goto lable1;                     /*再次重复显示主菜单并输入*/
       }
       switch(t)                            /*进入不同功能模块*/
       {
       case 1:goto lable2;
       case 2:goto lable3;
       case 3:exit(0);
       }
       /*模块功能1*/
lable2:printf("打开并显示已有文件:\n");      /*语句标号*/
      printf("%s\n",p);                     /*显示p指向的字符常量*/
      printf("请输入待统计的字符:\n");
      scanf("%c",&ch); getchar();
      count=0;                              /*计数器清零*/
      q=p;                                  /*指针q指向字符串常量*/
loop1:                                      /*语句标号*/
      if(*q=='\0')                          /*通过指针q的间接访问判断是否到文本结束标志*/
      {
          printf("%c的个数是:%d\n",ch,count); /*输出结果*/
          goto lable1;
      }
      else
      {
          if(*q==ch)                        /*用指针q间接访问字符,判断该字符是否为待统计的字符*/
          count++;
          q++;
          goto loop1;
      }
      /*功能模块2*/
lable3:printf("请输入待统计的字符:\n");
       scanf("%c",&ch); getchar();
       count=0;
       printf("请输入新建英文文章。回车结束输入!\n");
loop2:ch1=getchar();                        /*输入文章的每个字符,不储存*/
      if(ch1=='\n')                         /*回车结束输入*/
      {
          printf("%c的个数是:%d\n",ch,count);/*输出结果*/
          goto lable1;
      }
      else                                  /*文章未结束,继续输入并进行字符统计*/
      {
          if(ch1==ch)                       /*判断当前字符是否为待统计的字符*/
              count++;                     
          goto loop2;                       /*转入下一次判断*/
      }
}
搜索更多相关主题的帖子: 菜单 问题 distance between include 
2010-02-16 19:02
gz0000
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-1-23
收藏
得分:0 
该程序的错误截图放置gzr0000@  密码111111

[ 本帖最后由 gz0000 于 2010-2-16 21:52 编辑 ]
2010-02-16 21:39
gz0000
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-1-23
收藏
得分:0 
谢谢大家的建议~我会择优改正!
  只是...俺的问题好像并没有解决哦!
2010-02-17 00:25
gz0000
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-1-23
收藏
得分:0 
你好~我想请问一下你帮我改的几处"count=0" "t=4"分别起什么作用,谢谢
2010-02-18 23:58
快速回复:求助各位大大解决一下这个程序的小问题!
数据加载中...
 
   



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

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