博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
又一个小程序
阅读量:6576 次
发布时间:2019-06-24

本文共 3319 字,大约阅读时间需要 11 分钟。

想让自己轻松一点,就要让PC多为你做点。

还是一个方便自己,提高工作效率的程序。

主要实现几个功能:

1.查看目录

2.查看数据

3.查看网页

ExpandedBlockStart.gif
View Code 
#include<stdio.h>
#include<stdlib.h>
#include<
string.h>
int main()
{
    
char dir_in[
100]=
"
dir D:\\data\\0000\\ | find \".in\" /I
";
    
char dir_out[
100]=
"
dir D:\\data\\0000\\ | find \".out\" /I
";
    
char path_in[
100]=
"
D:\\data\\0000\\data1.in
";
    
char path_out[
100]=
"
D:\\data\\0000\\data1.out
";
    
char IE[
200]=
"
start d:\\小工具\\ie.lnk http://acm.sdut.edu.cn/web/problem.php?action=showproblem^&problemid=0000
";
    
char kill_IE[]=
"
taskkill /f /t /im iexplore.exe > nul
";
    
char err_problem[]=
"
d:\\小工具\\err_problem.txt
";
    
int num,i=
0;
    system(
"
mode con cols=80 lines=50
");
    printf(
"
\t\t检查题目专用程序  <ma6174>\n\n
");
    printf(
"
输入要查看目录的起始号码:
");
    scanf(
"
%d
",&num);
    
if(num<
1000||num>
10000)
    {
         printf(
"
输入错误\n
");
         getch();
         exit(
1);
    }
    
while(
1)
    {
         
char num_c[
4];
         itoa(num,num_c,
10);
         
for(i=
0;i<
4;i++)
         {
              dir_in[
12+i]=dir_out[
12+i]=num_c[i];
              path_in[
8+i]=path_out[
8+i]=num_c[i];
              IE[
92+i]=num_c[i];
         }
         system(IE);
         printf(
"
------------------------%d----------------------------------------\n
",num);
         system(dir_in);
         system(dir_out);
         
for(i=
1;i<
70;i++)
         printf(
"
-
");
         printf(
"
\n
");
         
char ch;
         
while(
1)
         {
              FILE *fp;
              fp=fopen(path_in,
"
rt
");
              
if(fp==NULL)
              {
                  printf(
"
文件打开失败!\n
");
                  printf(
"
\n按任意键查看下一个题目\n
");
                  getch();
                  num++;
                  
break;
              }
              printf(
"
data%c.in文件的内容:(只显示前15行)\n
",path_in[
17]);
              
int count=
15;
              ch=getc(fp);
              
while(count&&ch!=EOF&&fp!=NULL)
              {
                   
if(ch==
'
\n
')
                         count--;
                   printf(
"
%c
",ch);
                   ch=getc(fp);
              }
              printf(
"
\n
");
              
for(i=
1;i<
70;i++)
              printf(
"
-
");
              printf(
"
\n
");
              printf(
"
<空格>继续查看    <n>下一个data.in文件    <o>查看输出文件\n
");
              printf(
"
<回车>下一个题    <s> 保存有问题的题目\n
"); 
              
for(i=
1;i<
70;i++)
              printf(
"
-
");
              printf(
"
\n
");
              ch=getch();
              
if(ch==
'
 
')
              {
                   count=
15;
                   ch=getc(fp);
                   
while(count&&ch!=EOF&&fp!=NULL)
                   {
                             
if(ch==
'
\n
')
                                    count--;
                        printf(
"
%c
",ch);
                        ch=getc(fp);
                   }
                   printf(
"
按任意键查看下一个题目\n
");
                   getch();
              }
              fclose(fp);
              
if(ch==
'
n
'||ch==
'
N
'&&path_in[
17]<=
'
8
')
              {
                   printf(
"
\n\n\n
");
                   path_in[
17]++;
                   
continue;
              }
              
if(ch==
'
s
'||ch==
'
S
')
              {
                   fp=fopen(err_problem,
"
at
");
                   
if(fp==NULL)
                   {
                        printf(
"
d:\\小工具\\err_problem.txt 打开失败!\n
");
                        getch();
                        exit(
1);
                   }
                   fprintf(fp,
"
%d\n
",num);
                   fclose(fp);
                   printf(
"
有问题的题目已经记录在d:\\小工具\\err_problem.txt\n
");
                   printf(
"
\n按任意键查看下一个题目.....\n
");
                   getch(); 
                   
break;
              }
              
if(ch==
'
o
'||ch==
'
O
'||ch==
'
0
')
              {
                   fp=fopen(path_out,
"
rt
");
                   
if(fp==NULL)
                   {
                        printf(
"
文件打开失败!\n
");
                        printf(
"
\n按任意键查看下一个题目......\n
");
                        getch();
                        
break;
                   }
                   printf(
"
data%c.out文件的内容:\n
",path_out[
17]);
                   
int count=
15;
                   ch=getc(fp);
                   
while(count&&ch!=EOF&&fp!=NULL)
                   {
                        
if(ch==
'
\n
')
                            count--;
                        printf(
"
%c
",ch);
                        ch=getc(fp);
                   }
                   fclose(fp);
                   printf(
"
\n按任意键查看下一个题目......\n
");
                   getch();
                } 
                
break;
         }
         path_in[
17]=path_out[
17]=
'
1
';
         system(
"
cls
");
         system(kill_IE);
         num++;
    }

 

程序的优点就不说了,你也用不到,主要说说在编程中遇到的几个小问题,或许大家以后编程也会遇到

1.关于dos命令问题,因为在dos中,有些特殊符号,比如&,>,<,|,等都有特殊功能,如果命令中只是作为一个字符的话,要在前面加上 ^ 符号

2.dos中如果目录名中间有空格的话就要加双引号,但是如果双引号里面还嵌套双引号的话就有问题了,这时可以将有空格的目录文件建立一个快捷方式,将快捷方式放到一个目录名没有空格的文件夹里面,打开快捷方式和打开原文件是同样的效果。

3.文件复制时需要读取文件,最好用ch=getc(fp)这种方式一个字符一个字符地读取,然后再写文件的时候就会保留原来文件的格式 

  经典的文件复制代码:

for(ch=getc(inp);ch!=EOF;ch=getc(inp))

    putc(ch,outp); 

程序的问题:

毕竟学的知识有限,如果会数据库编程的话我就可以直接从数据库中读取我想要的内容,就不用打开网页了;如果会建立多个窗口的话我就可以在一个界面中分三个窗口,一个是文件列表,一个是文件内容,一个是数据库数据,这样查看起来更简单。

现在了解的知识还是太少,不能在无聊的事情上浪费时间了,抓紧时间学习新知识,新技能,多学点知识总是好的,说不定什么时候就能用到。

转载地址:http://avgjo.baihongyu.com/

你可能感兴趣的文章
CSS-文本垂直居中
查看>>
软件工程学习有感
查看>>
Java设计模式-享元模式
查看>>
lastLogon和lastLogonTimestamp的区别
查看>>
第一篇 Windows 8 开发Windows Metro style app环境配置
查看>>
ORACLE REGEXP应用实例
查看>>
Windows 下的坐标系
查看>>
IHttpModule与IHttpHandler的区别整理
查看>>
4.2
查看>>
本地windows下新建kafka生产消费数据
查看>>
mysql待整理
查看>>
Amazon S3 API
查看>>
Autofac
查看>>
滑动侧边栏
查看>>
UIView layer 的对应关系
查看>>
新浪研发中心: Berkeley DB 使用经验总结
查看>>
windbg调试句柄泄露
查看>>
好好理解返回值引用
查看>>
理清文本编码
查看>>
实用linux命令
查看>>