[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决] 请问,C语言怎么弄成显示图片数字增加循环的呢?

本帖最后由 zzz19760225 于 2024-8-15 15:59 编辑

VC6.0+EasyX
三国演义-铁笼山1.jpg
三国演义-铁笼山2.jpg
三国演义-铁笼山3.jpg
......
三国演义-铁笼山102.jpg
抄的代码简单重复混合一起,请问怎么弄成数字增加循环的呢?
  1. #include <graphics.h>
  2. #include <conio.h>
  3. #include <cmath>
  4. #include<stdio.h>
  5. #include<stdlib.h>
  6. #include <windows.h>
  7. #include <stdlib.h>
  8. #include <vector>  
  9. int main(){
  10. int a1=1200;
  11. int a2=600;
  12. initgraph(a1, a2);// 初始化图形界面
  13. a1:
  14.    IMAGE img1;
  15.     loadimage(&img1, "三国演义-铁笼山1.jpg", a1, a2);// 加载图片左右600,上下400
  16.     putimage(0, 0, &img1);// 显示图片
  17. getch();
  18. goto a2;
  19. a2:
  20.    IMAGE img2;
  21.     loadimage(&img2, "三国演义-铁笼山2.jpg", a1, a2);// 加载图片左右600,上下400
  22.     putimage(0, 0, &img2);// 显示图片
  23. getch();
  24. goto a3;
  25. a3:
  26.    IMAGE img3;
  27.     loadimage(&img3, "三国演义-铁笼山3.jpg", a1, a2);// 加载图片左右600,上下400
  28.     putimage(0, 0, &img3);// 显示图片
  29. getch();
  30. goto a4;
  31. a4:
  32.    IMAGE img4;
  33.     loadimage(&img4, "三国演义-铁笼山4.jpg", a1, a2);// 加载图片左右600,上下400
  34.     putimage(0, 0, &img4);// 显示图片
  35. getch();
  36. goto a5;
  37. a5:
  38.    IMAGE img5;
  39.     loadimage(&img5, "三国演义-铁笼山5.jpg", a1, a2);// 加载图片左右600,上下400
  40.     putimage(0, 0, &img5);// 显示图片
  41. getch();
  42. goto a6;
  43. a6:
  44.    IMAGE img6;
  45.     loadimage(&img6, "三国演义-铁笼山6.jpg", a1, a2);// 加载图片左右600,上下400
  46.     putimage(0, 0, &img6);// 显示图片
  47. getch();
  48. goto a7;
  49. a7:
  50.    IMAGE img7;
  51.     loadimage(&img7, "三国演义-铁笼山7.jpg", a1, a2);// 加载图片左右600,上下400
  52.     putimage(0, 0, &img7);// 显示图片
  53. getch();
  54. goto a8;
  55. a8:
  56.    IMAGE img8;
  57.     loadimage(&img8, "三国演义-铁笼山8.jpg", a1, a2);// 加载图片左右600,上下400
  58.     putimage(0, 0, &img8);// 显示图片
  59. getch();
  60. goto a9;
  61. a9:
  62.    IMAGE img9;
  63.     loadimage(&img9, "三国演义-铁笼山9.jpg", a1, a2);// 加载图片左右600,上下400
  64.     putimage(0, 0, &img9);// 显示图片
  65. getch();
  66. goto a10;
  67. a10:
  68.    IMAGE img10;
  69.     loadimage(&img10, "三国演义-铁笼山10.jpg", a1, a2);// 加载图片左右600,上下400
  70.     putimage(0, 0, &img10);// 显示图片
  71. getch();
  72. goto a11;
  73. 。。。。。。
  74. a100:
  75.    IMAGE img100;
  76.     loadimage(&img100, "三国演义-铁笼山100.jpg", a1, a2);// 加载图片左右600,上下400
  77.     putimage(0, 0, &img100);// 显示图片
  78. getch();
  79. goto a101;
  80. a101:
  81.    IMAGE img101;
  82.     loadimage(&img101, "三国演义-铁笼山101.jpg", a1, a2);// 加载图片左右600,上下400
  83.     putimage(0, 0, &img101);// 显示图片
  84. getch();
  85. goto a102;
  86. a102:
  87.    IMAGE img102;
  88.     loadimage(&img102, "三国演义-铁笼山102.jpg", a1, a2);// 加载图片左右600,上下400
  89.     putimage(0, 0, &img102);// 显示图片
  90. getch();
  91. goto a1;
  92. return 0;
  93. }
复制代码
抄写的,不显示图片
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <graphics.h>
  5. int main (){
  6. initgraph(800, 400);
  7. for( int a = 0; a < 103; a = a + 1 ){
  8. loadimage(0, "三国演义-铁笼山%d.jpg",a);
  9. Sleep(3300);
  10. closegraph();
  11. }
  12. return 0;
  13. }
复制代码

试试下面的
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <graphics.h>
  5. #ifdef _MSC_VER
  6. #pragma warning(disable:4996)
  7. #endif
  8. int main (){
  9. #ifdef UNICODE
  10. wchar_t str[128]={0};
  11. #else
  12. char str[128]={0};
  13. #endif
  14. initgraph(800, 400);
  15. for( int a = 0; a < 103; a = a + 1 ){
  16. #ifdef UNICODE
  17. swprintf(str,111,L"三国演义-铁笼山%d.jpg",a);
  18. #else
  19. sprintf(str,"三国演义-铁笼山%d.jpg",a);
  20. #endif
  21. IMAGE img;
  22. loadimage(&img,str,0,0);
  23. putimage(0, 0, &img);
  24. cleardevice();
  25. Sleep(3300);
  26. }
  27. closegraph();
  28. return 0;
  29. }
复制代码
1

评分人数

TOP

本帖最后由 zzz19760225 于 2024-8-15 16:01 编辑

开始执行,编译顺利,编译器也可以运行,但是不在图片区,没有显示效果。
  1. Deleting intermediate files and output files for project 'a2b2 - Win32 Debug'.
  2. --------------------Configuration: a2b2 - Win32 Debug--------------------
  3. Compiling...
  4. a2b2.cpp
  5. Linking...
  6. a2b2.exe - 0 error(s), 0 warning(s)
复制代码
放到图片文件夹里,也可以运行程序,但还是不显示图片。
装模作样的看了一圈代码,虽然都是看不明白的,但还是觉得“cleardevice();”这行有点看不顺眼,就去掉试试。
哦豁,可以了!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <windows.h>
  5. #include <graphics.h>
  6. #ifdef _MSC_VER
  7. #pragma warning(disable:4996)
  8. #endif
  9. int main (){
  10. a0:
  11. #ifdef UNICODE
  12. wchar_t str[128]={0};
  13. #else
  14. char str[128]={0};
  15. #endif
  16. initgraph(1200, 600);
  17. for( int a = 0; a < 103; a = a + 1 ){
  18. #ifdef UNICODE
  19. swprintf(str,111,L"三国演义-铁笼山%d.jpg",a);
  20. #else
  21. sprintf(str,"三国演义-铁笼山%d.jpg",a);
  22. #endif
  23. IMAGE img;
  24. loadimage(&img,str,1200,500);
  25. putimage(0, 0, &img);
  26. getch();
  27. }
  28. goto a0;
  29. closegraph();
  30. return 0;
  31. }
复制代码
谢谢大侠!

TOP

回复 3# zzz19760225


    啊,不显示图片是应该是显示完就立马清除了,可以试试将2楼代码第24和25行的顺序换一下,还有文件名长度限制设置得比较小(60-100多),注意不要超过限制或者自己改大点

TOP

收到。
24行对换25行,编译后就正常运行了。
(文件名数量,我原本是想无限增量循环的。连环画换成个人人生史的自制绘画和记录,以及跳转的个人连环画简化六十分万岁百度式搜索图书库,需要很多。这样看来需要切割成一个个小块单元,单元跳转重复显示吧。)

TOP

返回列表