热门标签 | 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的调用。



推荐阅读
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文探讨了在C++中如何有效地清空输入缓冲区,确保程序只处理最近的输入并丢弃多余的输入。我们将介绍一种不阻塞的方法,并提供一个具体的实现方案。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 异常要理解Java异常处理是如何工作的,需要掌握一下三种异常类型:检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常ÿ ... [详细]
  • 在网站制作中随时可用的10个 HTML5 代码片段
    HTML很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单。在这篇文章中,我收集了10个超有用的HTML代码片段,有HTML5启动模板、空白图片、打电话和发短信、自动完 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 树链问题的优化解法:深度优先搜索与质因数分解
    本文介绍了一种通过深度优先搜索(DFS)和质因数分解来解决最长树链问题的方法。我们通过枚举树链上的最大公约数(GCD),将所有节点按其质因子分类,并计算每个类别的最长链,最终求得全局最长链。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍了一个SQL Server自定义函数,用于从字符串中提取仅包含数字和小数点的子串。该函数通过循环删除非数字字符来实现,并附带创建测试表、存储过程以演示其应用。 ... [详细]
  • 本文详细解析了Java中hashCode()和equals()方法的实现原理及其在哈希表结构中的应用,探讨了两者之间的关系及其实现时需要注意的问题。 ... [详细]
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社区 版权所有