热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请求高手协助调试程序,非常感谢您的帮助!

求助高手调试程序,非常感谢您的支持!在编写C语言程序时遇到了一些问题,具体代码如下:```c#include#include#include#defineMAX50intt;```希望有经验的开发者能提供指导,帮助解决调试中的难题。感谢您的时间和帮助!
#include
#include 
#include
#define MAX 50
int total;
int lin[MAX][MAX];
int color[MAX];
void draw();
int okcyq(int dep,int i,int x)
{
int k;
for(k=x;k<=dep;k++)
{
if(lin[dep][k]==1 && i==color[k])return(0);
if(!okcyq(dep,i,k+1)&&k==dep)return(1);
}
 return(0);
}

void output()
{
int k;
for(k=1;k<=total;k++)
 printf("%d ",color[k]);
}

 void find(int dep)
{
int i;
for(i=1;i<=4;i++)
{
if(okcyq(dep,i,1))
{
color[dep]=i;
if(dep==total) {output();getch();draw();exit(1);}
else find(dep+1);
color[dep]=0;
}
}
}
 void draw()
{
 int gdriver,gmode;
 int x=1,y=1,dx,dy,dx2,dy2,i=1;
 char dot,draw;
 gdriver=DETECT;
 initgraph(&gdriver,&gmode,"");
 cleardevice();
 setbkcolor(BLACK);
 while((dot=getch())!='q')
    {
     line(1,440,639,440);
     switch(dot)
{
 case 'a':
     setviewport(1,441,639,479,BLUE);
     clearviewport();
     outtextxy(1,2,"Press 'b' to end, then Press 'q' to quit");
     setviewport(1,1,639,439,BLUE);
     moveto(x,y);
     while((draw=getch())!='b')
   {
     switch(draw)
      {
case 77:x=(getx()+1)%639;y=gety();moveto(x,y);putpixel(x,y,RED);break;
case 75:x=getx()-1;y=gety();moveto(x,y);putpixel(x,y,RED);break;
case 72:x=getx();y=gety()-1;moveto(x,y);putpixel(x,y,RED);break;
case 80:x=getx();y=(gety()+1)%439;moveto(x,y);putpixel(x,y,RED);break;
      }
    }
  break;
 default:
      setviewport(1,441,639,479,BLUE);
      clearviewport();
      outtextxy(1,2,"Press 'e' to end, then Press 'q' to quit");
      setviewport(1,1,639,439,BLUE);
      moveto(x,y);
      while((draw=getch())!='e')
   {
     switch(draw)
      {
case 77:x=(getx()+1)%639;y=gety();putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
case 75:x=getx()-1;if(x==0)x=639;y=gety();putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
case 72:x=getx();y=gety()-1;if(y==0)y=439;putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
case 80:x=getx();y=(gety()+1)%439;putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
      }
    }
}
     }
       setviewport(1,441,639,479,BLUE);
       clearviewport();
       outtextxy(1,2,"Press 'e' to end, then Press 'q' to quit");
       setviewport(1,1,639,439,BLUE);
       moveto(x,y);
     while((dot=getch())!='q')
{
  switch(dot)
    {
             case 77:x=(getx()+1)%639;y=gety();putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
     case 75:x=getx()-1;if(x==0)x=639;y=gety();putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
     case 72:x=getx();y=gety()-1;if(y==0)y=439;putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
     case 80:x=getx();y=(gety()+1)%439;putpixel(getx(),gety(),getpixel(x,y));moveto(x,y);putpixel(x,y,YELLOW);break;
     case 13:
     dx=x;dy=y;
     while(1)
{
 if(getpixel(dx,dy)!=RED)
     dx--;
 else break;
}
     dx2=dx;
     dx=x;
     while(1)
                        {
 if(getpixel(dx,dy)!=RED)
     dx++;
 else break;
}
     setcolor(color[i]);
     line(dx2+1,dy,dx-1,dy);
     dx=x;
     while(1)
{
 if(getpixel(dx,dy)!=RED)
     dy--;
 else break;
}
     dy2=dy;
     dy=y;
     while(1)
            {
 if(getpixel(dx,dy)!=RED)
     dy++;
 else break;
}
     setcolor(color[i]);
     line(dx,dy2+1,dx,dy-1);
     break;
     case 'k':i++;
    }
}
 closegraph();
}
void main()
{
int i,j,sp,ep;
char c;
clrscr();
printf("The amount of district:");
scanf("%d",&total);
for(i=0;i<=total;i++)
   for(j=0;j<=total;j++)
     lin[i][j]=0;
        for(i=0;;i++)
           {
            clrscr();
    printf("The start point:");
            scanf("%d",&sp);
    printf("The  end  point:");
            scanf("%d",&ep);
    lin[sp][ep]=1;
    lin[ep][sp]=1;
            printf("\nPress 'q'  return to main...\n");
            c=getch();
            if(c=='q')break;
   }
for(i=0;i<=total;i++)
   for(j=0;j<=total;j++)
    {
      printf("%d ",lin[i][j]);
      if(j==total)printf("\n");
     }
getch();
for(i=0;i<=total;i++) color[i]=0;
clrscr();
find(1);
}



我下了一个sasyx库,可以运行graphics.h文件了。但编译的时候出现setviewport undeclared identifier怎么解决?

7 个解决方案

#1


编译出错是无法调试的

#2


很明显编译器告诉你这个setviewport函数未定义,也就是找不到出处,缺少对应的头文件吧

#3


要怎么改呢?

#4


setviewport undeclared identifier
错误很明显了!
函数没定义,楼主调试程序也是一项基本技能的!

#5


也许是easyx库不支持setviewport

#6


你的程序中都没有setviewport的调用。

#7


引用 6 楼 ForestDB 的回复:
你的程序中都没有setviewport的调用。



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • IneedtofocusTextCellsonebyoneviaabuttonclick.ItriedlistView.ScrollTo.我需要通过点击按钮逐个关注Tex ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
author-avatar
手机用户2502904013
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有