精华内容
下载资源
问答
  • c语言答题程序设计

    千次阅读 2019-11-25 15:40:14
    初学C语言两个月,在大学中的第一个项目设计: 测验小程序 团队: 计科第二组:我行,我C! 团队宣言:我能行,我来carry 单位 怀化学院 计算机课学与技术学院 计科1901班 成员 袁年财...

    项目设计:

    单位:
    怀化学院计算机科学与工程学院
    计算机科学与技术专业

    课程 c语言高级程序项目设计
    班级,组号 1901班,第二组
    团队名称 我行,我C!
    组员 袁年财(组长),王乐,杨令
    课题 多功能测验程序

    一、课程设计题目基本要求介绍

    功能模块一:登录
    1)连接服务器,限制账号要以10位学号+姓名的方式登录,否则就重新登录
    2)登录成功后将基本信息发送给服务器
    3)登录成功后将窗口标题修改为账号名

    功能模块二:预备工作
    1)修改窗口名之后,输出测验相关的提示信息、限时信息等
    2)生成以用户名命名的TXT文件
    3)输出测验的相关提示信息(如限时与限 题)
    4)答题前倒计时5秒(若为单机版联系版,可由用户自行设定)

    功能模块三:答题与记录
    1)从题库中抽取随机不重复的题(按一定的难易比例抽取)
    2)输出相应的题号与题目
    3)提示用户输入答案
    4)处理用户的答案去掉开头的误输空格与回车,还有中间的空格
    5)判断用户答案正误,输出比较结果,正确则用绿色表示,错误则用红色表示(便于用户识别)
    6)同时输出所耗时间,所耗总时间,以答题数,正确题数
    7)并将以上答题的过程信息记录至TXT文档之中
    8)超时或者答完所有题之后,输出总成绩与评价,但不关闭程序,由用户自行输入一定指令后退出程序

    功能模块四:上传成绩
    1)若考生成绩达到某个级别,将生成【学生基本_EXAM.TXT】在服务器之下,记录保存。
    ——————————————————————————————————————

    二、流程图这是基本的流程图设计,主要方便于编程时的主次顺序

    ——————————————————————————————————————

    三、项目进展

    已实现功能:

    1、连接服务器
    ①实现思想:利用Socket
    ②核心代码:如下

    #include <winsock2.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    #pragma comment(lib , "ws2_32.lib")
    
    #define BUFSIZE 4096 /*缓冲区大小*/
    #define PORT 0
    #define IP 1
    
    int main( )
    {
        WSADATA wsd;
        SOCKET sClient;
        char Buffer[BUFSIZE];
        int ret;
        struct sockaddr_in server;
        unsigned short port;
        struct hostent *host = NULL;
        char getparameter[2][30];
     
        printf("请输入服务器端口号:");
        gets(getparameter[PORT]);
        printf("请输入服务器IP地址:");
        gets(getparameter[IP]);
     
        /*加载Winsock DLL*/
        if (WSAStartup(MAKEWORD(2 , 2) , &wsd) != 0) {
            printf("Winsock    初始化失败!\n");
            return 1;
        }
        
        /*创建Socket*/
        sClient = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
        if (sClient == INVALID_SOCKET) {
            printf("socket() 失败: %d\n" , WSAGetLastError());
            return 1;
        }
        
        /*指定服务器地址*/
        server.sin_family = AF_INET;
        port = atoi(getparameter[PORT]);
        server.sin_port = htons(port);
        server.sin_addr.s_addr = inet_addr(getparameter[IP]);
        if (server.sin_addr.s_addr == INADDR_NONE) {
            host = gethostbyname(getparameter[IP]);    //输入的地址可能是域名等
            if (host == NULL) {
                printf("无法解析服务端地址: %s\n" , getparameter[IP]);
                return 1;
            }
            CopyMemory(&server.sin_addr ,
                        host->h_addr_list[0] ,
                        host->h_length);
        }
        /*与服务器建立连接*/
        if (connect(sClient , (struct sockaddr*)&server ,
                        sizeof(server)) == SOCKET_ERROR) {
            printf("connect() 失败: %d\n" , WSAGetLastError());
            return 1;
        }
        //用完了,关闭socket句柄(文件描述符)
        closesocket(sClient);
        WSACleanup();    //清理
        return 0;
    }
    

    ③效果图:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    2、发送信息至服务器
    ①实现思想:从标准输入读取要发送的数据

    ②核心代码:如下

     //向服务器发送消息
              ret = send(sClient , array , strlen(array) , 0);//其中array为你想要发送到服务器的信息所存放的数组
              if (ret == 0) 
             {
                break;
             }
               else if (ret == SOCKET_ERROR) 
              {
                printf("send() 失败: %d\n" , WSAGetLastError());
                break;
              }`
       
      
    

    ③效果图:在这里插入图片描述

    3、限制账号要以10位学号+姓名的方式登录,否则重新登录
    ①实现思想:判断前十位是否为数字即可
    ②核心代码:如下

    void restrictedformat(char *array)//限制学号格式
    { 
     int g,count3=0;
     for(g=0;g<10;g++)
     {
      if(array[g]>='0' && array[g]<='9')
      {
       count3=count3+1;
      }
      else
      {
       print("格式错误\n");
      }
      if(count3==10)
      {
       print("格式正确n");
      }
     }
    }
    

    ③效果图:
    若题目答对则可以继续答题

    4、将窗口标题修改为账号名
    ①实现思想:调用库函数SetConsoleTitle
    ②核心代码:如下

    void modifytitle(char *account)//改窗口
    {
     SetConsoleTitle(account);
    }`
    

    ③效果图:
    在这里插入图片描述

    5、生成TXT文件,并向其中输入答题过程信息
    ①实现思想:实现对文件的创建、打开和关闭并向其中输入信息
    ②核心代码:如下

    FILE * file
     if( (file = fopen(mymessage,"w")) == NULL )
     {
      printf("打开文件失败\n");
      exit(0);
     }`
     
     fprintf(file,"%s本次的成绩单:\n↓ ↓ ↓\n",mymessage); //此语句用来向文件中输入内容
    	
     	
     	

    ③效果图:
    在这里插入图片描述

    6、每次答完题后都将内容输入至文件中
    ①实现思想:在每答完一道题之后清空缓冲区,以保证答题过程信息及时的记录其中
    ②核心代码:如下

    fflush(file);//随着循环自动刷新文件内存缓冲区,可在答完每一道题之后向文件输入答题过程信息    
         //参考链接:https://blog.csdn.net/zgdzjzz/article/details/98882466

    ③效果图:
    在这里插入图片描述

    7、可限制时间答题
    ①实现思想:利用时间函数
    ②核心代码:如下

    //使用时需要有  #include<time.h>
    clock_t start_t,finish_t;//定义有关时间的变量
    start_t = clock();//过程时间开始计时点
    .
    .//此处为需要计时的程序
    .
    finish_t = clock();//过程时间结束计时点
    total_t = (double)(finish_t - start_t) / CLOCKS_PER_SEC;//算出时间,并将时间转换为秒
    

    ③效果图:

    在这里插入图片描述

    8、从题库中随机抽题
    ①实现思想:产生随机数
    ②核心代码:如下

    /*使用时需要有以下两个头文件
    #include <stdlib.h>
    #include <time.h>*/
       	 int a;    
    	srand((unsigned)time(NULL));    
    	a = rand();    
    	printf("%d\n", a);    
    

    ③效果图:

    以下只是产生随机数的例子并不是上面的程序执行的结果,用于抽题时,则表现为每出一道的题都为随机抽取
    在这里插入图片描述

    9、去除用户开头误输的空格、回车和答案中的空格
    ①实现思想:运用getschar
    ②核心代码:如下

    void myrellyanswer(char *array)//输入答案的处理用户答案的函数
    {
      char d;
      int i=0;
     
      do
      {
       d=getchar();
      }
      while(d=='\n'||d==' ');
      array[i]=d;
      i++;
       while(1)
       {
    	d=getchar();
    	if(d==' ')
    	{
    	continue;
    	}
    	else if(d=='\n')
    	{
    	break;
    	}
    	else 
    	{
    	array[i]=d;
    	i++;
    	}
       }
     array[i]='\0';
     }

    ③效果图:

    在这里插入图片描述

    10、用不同的颜色输出相关信息
    ①实现思想:调用库函数
    ②核心代码:如下

    void color(int x) //自定义函根据参数改变颜色 
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);//只有一个参数,输入颜色代号即可改变为相应的颜色
    }

    ③效果图:如图可见到多种颜色,便于识别的同时不至于显得单调
    在这里插入图片描述

    11、设置相应的评分标准
    ①实现思想:利用分支语句
    ②核心代码:如下

    switch(x)
     {
     case 2 :show_mymessage(14,file," 你的成绩为C\n 还不错> v <!!!\n\n");
      break;
     case 3 :show_mymessage(11,file," 你的成绩为B\n 真优秀^ _ ^!!!\n\n");
      break;
     case 5 :show_mymessage(3,file," 你的成绩为A\n 造化钟神秀^ v ^!!!\n\n");
      break;
     default :show_mymessage(13,file," 不合格> _ <!!!\n\n"); 
     } 

    ③效果图:
    在这里插入图片描述

    12、将改颜色的函数、输出的函数和输入信息至文档的函数封装为一个函数
    ①实现思想:参照链接:此处为示例封装函数的地址
    ②核心代码:如下

    void show_mymessage(int x,FILE *file,const char *cmd, ...)//输出有色内容的同时输入至文件中
    {
     va_list args;
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);
     va_start(args,cmd);
     vprintf(cmd,args);
     vfprintf(file,cmd,args);
     va_end(args);
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    }
    

    ③效果图:
    在这里插入图片描述
    在这里插入图片描述
    —————————————————————————————————————

    四、项目未完成的功能

    正在实现功能

    1.按百分比输出难题和简单的题
    还未实现,仍然需要时间去摸索更为的简便方法

    今后打算实现的功能:

    1.若考生成绩达到某个级别,将发送到服务器的答题过程信息保存在服务器下
    还需要系统的学习关于网络编程的相关知识,并灵活运用

    ——————————————————————————————————————

    五、项目版本更新日志

    版本号 更新描述 负责人 日期 占总工作量的百分比
    V2.0.1 实现了联机版:可以自定义连接服务器,并向服务器发送一定的信息 袁年财 11/24/ 02:10 5%
    V1.5.5 答完题后显示评分细则 王乐 11/23/ 22:30 3.4%
    V1.5.4 在用户答完题后,按任意键不会退出,在输入一定内容后才可退出 王乐,袁年财 11/23/ 23:30 4.2%
    V1.5.3 精确判断学号格式只能是 1(8或9)00130XXX 的形式使程序仅限于计院的18和19级学生使用 袁年财 11/23/ 19:30 4.2%
    V1.5.2 优化了文件输入功能,可在答完每一道题后,将答题过程信息输入至文件夹文件夹,以防在失误关闭程序后答题过程信息丢失 袁年财 11/23/ 18:30 4.2%
    V1.5.1 优化了界面,在完成准备流程后的答题前清空屏幕 杨令 11/22/ 12:20 4.2%
    V1.5.0 优化了题库,利用分割数组的方法将答案与原题绑在一起,便于添加题目,同时又可防止比较答案时题目与答案错位 袁年财 11/22/ 1:10 4.2%
    V1.4.6 在题库中新增了大量难题和易题 杨令 11/21/18:10 4.2%
    V1.4.5 完善了防误输功能,可以防止因用户在答题时在开头误输回车而导致答题错误 袁年财 11/21/18:10 4.2%
    V1.4.4 在用户输入学号+姓名之后,判定学号格式是否为10位数字的格式 袁年财 11/21/ 9:30 4.2%
    V1.4.3 新增了评级判定功能 王乐 11/20/20:50 4.2%
    V1.4.2 增加了防误输功能,防止因用户在答案中误输空格而导致答题错误 袁年财 11/19/18:10 2.6%
    V1.4.1 新增了记录用户答题过程信息,并记录在相应路径的以用户名为名的TXT文件中 王乐 11/18/21:12 4.2%
    V1.3.2 新增了输入用户信息之后,将窗口改为用户名 袁年财 11/18/21:12 4.2%
    V1.3.1 完善了计时功能,每答出一道题后输出所用总时间的同时,输出回答该题所用时间 袁年财 11/17/20:40 4.2%
    V1.3.0 新增更改字体颜色函数,使程序在视觉上不会过于单调 袁年财 11/17/18:30 4.2%
    V1.2.1 新增了开始答题前倒计时5秒功能 袁年财 11/17/16:10 4.2%
    V1.2.0 新增计时功能:每答出一道题输出总时间。新增了每次回答题目后都输出已答对提数 王乐,袁年财 11/17/13:30 4.2%
    V1.1.1 完善随机出题功能:不再重复出相同的题 袁年财 11/16/21:09 4.2%
    V1.1.0 新增随机出题功能(可能重复),显示完成题目后的总成绩 袁年财 11/16/13:36 5%
    V1.0.0 完成简单答题程序总架构 袁年财 11/16/13:00 5%
    总计 共发布21个版本 \ 耗时8 共完成90%

    —————————————————————————————————————

    六、课程设计报告

    链接:此链接为此次项目的课程设计报告PPT

    —————————————————————————————————————

    七、每位成员的过程体会

    1:袁年财:
    自我感悟: 在这次的项目中,我确实是收益颇丰啊!我在不断的调用、定义中加深了对函数的理解,同时也更为体会到了指针的魅力。
    在敲几百行代码的过程中我意识到了结构化程序的重要性,以及宏定义的方便性。在开始任务之前老师让我们写出了任务需求表和流程图以及函数详细设计表,开始时我还觉得没有什么太大的必要性,而在开始任务的过程中,我便越发觉得老师的明智,当你在敲代码时经常会需要问接下来需要做什么,而在写出了任务需求表及其流程图之后,你会觉得任务极其的明确,丝毫不会觉得自己像一个无头苍蝇。总的来说在这次项目中是受益良多,回味无穷!
    自我检讨: 在这次的项目中,我有个极大的缺点就是包揽了太多的任务,导致自己经常熬夜敲代码,丝毫没有团队意识,没有学会和队友们分担作业,这是我在担任组长这个位置的极大失责。

    2:王乐:
    我的体会是:刚开始时是最难的,没有思绪和目标,然后在写需求分析的时候有了一点想法,后面我在敲文件的输入输出时,总是有错误,然后回过头把书看一遍,总之:书读百遍其义自见,然后我想说的是,我们第二组最优秀!

    3:杨令:
    过程体会:编写这个程序时,我只做了很少一部分。但还是感觉挺难搞的。在编写过程中也参与得少,但是我感觉我们的程序还棒的。希望下次能多参与这些偏程。给自己加个油。

    —————————————————————————————————————

    八、最后

    这篇博文,只是供大家大致的参考,其中贴上的代码,是其中重要函数的代码,如果有博友对这个多功能答题程序想要更为详细的了解,或者提出宝贵的意见的话,欢迎大家评论在下方!

    展开全文
  • C语言 关机程序

    千次阅读 2014-04-25 21:52:02
    #include #include #include int print(){ printf(" ╪╪╪╪╪╪... printf("╔═══╧╧ C语言 关机程序 ╧╧═══╗\n"); printf("║※1.实现10分钟内的定时关闭计算机 ║\n"); printf("║※2.立即关闭计算机
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int print(){
        printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
        printf("╔═══╧╧  C语言  关机程序 ╧╧═══╗\n");
        printf("║※1.实现10分钟内的定时关闭计算机      ║\n");
        printf("║※2.立即关闭计算机                    ║\n");
        printf("║※3.注销计算机                        ║\n");
        printf("║※0.退出系统                          ║\n");
        printf("╚═══════════════════╝\n");
        return 0; 
    }
    int main(){
        system("title C语言关机程序");
        system("mode con cols=48 lines=25");
        system("color 0c"); //可以写成 red 调出颜色组
        system("date /T");
        system("TIME /T");
        char cmd[20]="shutdown -s -t ";
        char t[5]="0";
        print();
        int c;
        scanf("%d",&c);
        getchar();
        switch(c)
        {
                 case 1:printf("您想在多少秒后自动关闭计算机?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
                 case 2:system("shutdown -p");break;
                 case 3:system("shutdown -l");break;
                 case 0:break;
                 default:printf("Error!\n");
        }
        system("pause");
        exit(0);
    }
    

    展开全文
  • C语言程序-学生成绩统计系统

    万次阅读 多人点赞 2019-05-30 13:12:45
    C语言程序-学生成绩统计系统 #刚入门的小白,写的一个C语言作业,参考了 另一位博主的代码(https://blog.csdn.net/qq_36503589/article/details/53106983) 但是我自信的认为我的代码更“好看”一点,见笑了,请...

    C语言小程序-学生成绩统计系统

    参考了

    另一位博主的代码(https://blog.csdn.net/qq_36503589/article/details/53106983)
    我后来写的成绩排序版本链接:https://blog.csdn.net/qq_43617268/article/details/103491760

    1. 功能介绍:本程序可以输入50人以内的成绩,包括英语,C语言,高数,体育成绩。
    2. 可以计算并输出学生的平均分,学科的平均分。
    3. 可以循环查询并修改学生成绩。
      这是我的测试情况
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    #include<stdio.h>
    #include<string.h>
    struct grade_list{										//定义结构体 
    	char name[10];										//姓名 
    	float c_len;										//C语言成绩 
    	float math;											//高数 
    	float eng;											//英语 
    	float PE;											//体育 
    };
    void in_put(struct grade_list grades[], int n);			//声明输入函数
    void average(struct grade_list grades[], int n);		//声明平均值函数
    void average_subject(struct grade_list grades[], int n);//声明课程平均值函数
    void find(struct grade_list grades[], int n);			//声明查询函数 
    void change(struct grade_list grades[], int n);			//声明修改成绩函数
     
    int main()
    {
    	struct grade_list grades[50];
    	int choices,i,n;
    	printf("成绩统计系统正在启动...\n"); 
    	printf("程序正在运行...\n");
    	do{
    		rerun:
    		printf("\n");
    		printf("\t************************************\n");
    		printf("\t*    ===========================   *\n");
    		printf("\t*          学生成绩统计系统        *\n");
    		printf("\t*    ===========================   *\n");
    		printf("\t*                                  *\n");
    		printf("\t*     输入学生成绩---------1       *\n");
    		printf("\t*     查看学生平均成绩-----2       *\n");
    		printf("\t*     查看课程平均值-------3       *\n");
    		printf("\t*     查找学生成绩---------4       *\n");
    		printf("\t*     修改学生成绩---------5       *\n");
    		printf("\t*     退出系统-------------0       *\n");
    		printf("\t*                                  *\n");
    		printf("\t************************************\n");
    		printf("\t请选择功能:");
    		scanf("%d", &choices);
    		switch(choices)
    		{
    			case 1:
    				printf("执行成绩输入程序...\n\n");
    				printf("\t请输入学生人数(1~50):");
    				scanf("%d",&n);
    				in_put(grades,n);
    				break;
    			case 2:
    				printf("执行学生平均成绩计算程序...\n\n");
    				average(grades,n);
    				break;
    			case 3:
    				printf("执行学科平均成绩计算程序...\n\n");
    				average_subject(grades,n);
    				break;
    			case 4:
    				printf("执行成绩查询程序...\n\n");
    				find(grades, n);
    				break;
    			case 5:
    				printf("执行成绩修改程序...\n\n");
    				change(grades, n);
    				break; 
    			case 0:
    				printf("\t||系统已关闭,感谢您的使用!||");
    				break;
    			default :
    				printf("\t非法输入!!!");
    				goto rerun; 
    		}
    	}while(choices>0&&choices<6);
    	
    	return 0;
     } 
    
    void in_put(struct grade_list grades[], int n)				//定义输入函数 
    {
    	int i;
    	for(i=0;i<n;i++)
    	{
    		printf("\t请输入第%d名同学的姓名:", i+1);
    		scanf("%s", grades[i].name);
    		printf("\t请输入第%d名同学的C语言成绩:", i+1);
    		scanf("%f", &grades[i].c_len);
    		printf("\t请输入第%d名同学的高数成绩:", i+1);
    		scanf("%f", &grades[i].math);
    		printf("\t请输入第%d名同学的英语成绩:", i+1);
    		scanf("%f", &grades[i].eng);
    		printf("\t请输入第%d名同学的体育成绩:", i+1);
    		scanf("%f", &grades[i].PE);
    	}
    	printf("\t*成绩录入成功*\n");
    }
    
    void average(struct grade_list grades[], int n)			//定义计算学生平均值 
    {
    	int i;
    	float result;
    	for(i=0;i<n;i++)
    	{
    		result=(grades[i].c_len+grades[i].math+grades[i].eng
    		+grades[i].PE)/4;
    		printf("\t%s的平均成绩为%.2f\n",grades[i].name, result);	
    	}
    }
    
    void average_subject(struct grade_list grades[], int n)	//定义计算学科平均分 
    {
    	printf("\tC语言\t高数\t英语\t体育\n");
    	int i;
    	float result=0.0;
    	for(i=0;i<n;i++)
    	{
    		result+=grades[i].c_len;
    	}
    	printf("\t%.2f", result/n);
    	result=0;
    	for(i=0;i<n;i++)
    	{
    		result+=grades[i].math;
    	}
    	printf("\t%.2f", result/n);
    	result=0;
    	for(i=0;i<n;i++)
    	{
    		result+=grades[i].eng;
    	}
    	printf("\t%.2f", result/n);
    	result=0;
    	for(i=0;i<n;i++)
    	{
    		result+=grades[i].PE;
    	}
    	printf("\t%.2f\n", result/n);
    }
    
    void find(struct grade_list grades[], int n)			//定义循环成绩查询函数 
    {
    	int i,trigger;
    	char in_name[10];
    	
    	do{
    		printf("\t请输入要查询的学生姓名:");
    		scanf("%s", in_name);
    		int chack=0;
    		for(i=0;i<n;i++)
    		{
    			if(strcmp(in_name,grades[i].name)==0)
    			{
    				printf("\t%s的成绩为:\n\n",grades[i].name);
    				printf("\tC语言\t高数\t英语\t体育\n");
    				printf("\t%.2f\t%.2f\t%.2f\t%.2f\n\n", grades[i].c_len,grades[i].math,grades[i].eng,grades[i].PE); 
    				chack=1;
    			}
    					 
    		}
    		if(chack==0) printf("\t*查无此人*\n\n"); 
    		printf("\t继续查询请输入1,否则输入0返回功能选择界面:");
    		scanf("%d", &trigger);
    	}while(trigger==1);
    } 
    
    void change(struct grade_list grades[], int n)			//定义成绩修改函数 
    {
    	int i,trigger;
    	char ch_name[10];
    	
    	do{
    		int chack=0; 
    		printf("\t请输入要修改成绩的学生姓名:");
    		scanf("%s", ch_name);
    		for(i=0;i<n;i++)
    		{
    			if(strcmp(ch_name,grades[i].name)==0)
    			{
    				printf("\t请输入该同学修改后的成绩:\n\tC语言:");
    				scanf("%f", &grades[i].c_len);
    				printf("\t高数:");
    				scanf("%f", &grades[i].math);
    				printf("\t英语:");
    				scanf("%f", &grades[i].eng);
    				printf("\t体育:");
    				scanf("%f", &grades[i].PE);
    				chack=1;
    				printf("\t*修改成功*\n");
    			}		 
    		}
    		if(chack==0) printf("\t*查无此人*\n\n");
    		printf("\t继续修改请输入1,否则输入0返回功能选择界面:");
    		scanf("%d", &trigger);
    	}while(trigger==1);
    }
    
    展开全文
  • c语言关闭正在运行的应用程序

    千次阅读 2017-08-30 16:10:35
    可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。 如 system("taskkill /im notepad.exe"); 会关闭记事本应用。 system("taskkill \F /pid 1234 \T"); 会强制结束pid为1234的进程及
    原文网址:https://zhidao.baidu.com/question/185875250.html
    可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。
    如
    system("taskkill /im notepad.exe");
    会关闭记事本应用。
    system("taskkill \F /pid 1234 \T");
    会强制结束pid为1234的进程及其子进程。
    
    关于taskkill的详细描述如下:
    TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
    
    参数列表:
    /S system 指定要连接到的远程系统。
    /U [domain\]user 指定应该在哪个用户上下文
    执行这个命令。
    /P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
    /F 指定要强行终止的进程。
    /FI filter 指定筛选进或筛选出查询的的任务。
    /PID process id 指定要终止的进程的PID。
    /IM image name 指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
    /T Tree kill: 终止指定的进程和任何由此启动的子进程。
    /? 显示帮助/用法。
    筛选器:
    筛选器名 有效运算符 有效值
    ----------- --------------- --------------
    STATUS eq, ne 运行 | 没有响应
    IMAGENAME eq, ne 图像名
    PID eq, ne, gt, lt, ge, le PID 值
    SESSION eq, ne, gt, lt, ge, le 会话编号
    CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
    hh:mm:ss。
    hh - 时,
    mm - 钟,ss - 秒
    MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
    USERNAME eq, ne 用户名,格式为
    [domain\]user
    MODULES eq, ne DLL 名
    SERVICES eq, ne 服务名
    WINDOWTITLE eq, ne 窗口标题
    注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。
    注意: 远程进程总是要强行终止,
    不管是否指定了 /F 选项。
    展开全文
  • C语言关闭窗口

    千次阅读 2013-11-26 13:33:27
    HWND pWnd = FindWindow(NULL, "Let's Dance!"); if (!pWnd) exit(0); ...我用这个是因为,写OpenGL程序加了音乐,退出界面后Console不退出。 遂把idle函数干成了: static void idle(void) {
  • C语言程序

    千次阅读 2017-03-17 17:21:24
    顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。 它主要用如下5个函数进行操作。 1:pthread_mutex_init( pthread_mutex_t * mutex,const pthread_mutexattr_t *attr);...
  • C语言关闭显示器屏幕

    2021-01-13 09:24:43
    新建win32项目,和正常c黑框程序一样。 #include "windows.h" int main() { PostMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,2); return 0; } 编译后运行,即可快速息屏。 源码及编译后的程序下载...
  • C语言串口程序接收数据

    千次阅读 2019-12-10 09:46:54
    串口接收数据以TXT文档保存,如何让程序运行时让文本中只保存此次接收的数据 `这是我的代码 #include <Windows.h> #include <stdio.h> HANDLE hCom;//HANDLE 调度消息,将一个任务切换到某个指定的...
  • 《21世纪高职高专规划教材:C语言程序设计案例与实训教程》是针对高职高专教学特点而编写的C语言教学用书。《21世纪高职高专规划教材:C语言程序设计案例与实训教程》以学习任务驱动,通过典型案例,系统地介绍了C语言...
  • C语言控制台程序中添加背景图片

    万次阅读 2018-09-23 22:51:41
    C语言写控制台程序是无法加图片的,只能用命令行输出,最多就是设置下背景和字体,颜色之类的。如果开发API窗口程序,完全依赖于操作系统的函数库。C语言本身并不提供这类函数。 下面是windows系统下实现的函数代码...
  • 文件的打开与关闭C语言程序设计C语言C语言程序设计 文件的打开与关闭什么是文件文件分类数据流及文件缓冲区文件指针01 文件的打开内容CONTENTS02 文件的关闭文件的打开01C语言文件的打开文件打开与关闭C文件操作用...
  • 一个让人绝望的C语言恶搞程序

    千次阅读 2020-03-29 13:22:05
    愚人节快要到了,跟大家分享一个让人绝望的恶搞程序: 快叫哥,不然30秒后自动关机!...如果30s内输入了“哥”,并点“确定”按钮,那么倒计时暂停,点击“关闭”后程序退出 输入“哥” 点击“...
  • 掌握文本文件的打开和关闭操作 3. 掌握文本文件的顺序读写方法 二实验要求 1.编写程序从键盘输入若干实数以特殊数值-1结束分别写到一个文本文件中要求数据写入文件时各数据独自占一行 输入示例 输出示例 2. 从键盘...
  • 有些同学在做实验一 命令解释程序的编写的时候,输入quit命令退出程序,窗口并没有关闭,如下图所示需要Press any key to continue(按任意键)之后才关闭。 出现这个结果的原因是在IDE(VC++)中调试运行,如果是...
  • c语言程序内部模块基址

    千次阅读 2019-08-19 18:29:07
    //获取程序内部模块基址 PVOID GetProcessImageBase(DWORD dwProcessId,char* dllName) {  PVOID pProcessImageBase = NULL;  MODULEENTRY32 me32 = { 0 };  me32.dwSize = sizeof(MODULEENTRY32);  // ...
  • C语言程序—定时关机

    千次阅读 2017-10-18 20:09:55
    自动关机小程序
  • 基于单片机的串口摄像头模块的读写C语言程序
  • 今天小编就为大家分享一篇C语言中system()执行cmd命令打开关闭程序的方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 本次课程设计使用C语言制作程序来实现图书的登记,删除,查询,浏览以及读者的借阅,还书,会员登录,修改密码等功能。程序中涉及到数据链表和文件指针的操作,包括结构体数据定义,使用及文件的读写,定位,修改等...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises28P330P796P314P338P339P340 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises28 P330 测试...
  • C语言关闭终端回显【转】

    千次阅读 2018-08-14 20:36:06
    在我们编写程序的时候,有的时候需要输入密码,但是输入的密码全部是可见的,我们可以设置关闭终端回显不让终端显示字符。 取消终端输入回显主要由termios结构实现, #include <stdio.h> #include <...
  • 【自学】C语言程序设计--前言前言**大纲**程序设计与C语言算法-程序的灵魂最简单的C程序设计——顺序程序设计选择结构程序设计循环结构程序设计利用数组批量处理数据用函数实现模块化程序设计善于利用指针用户自己...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26P320P321P324P325 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26 本次练习用到的数据...
  • C语言程序编译无误但运行会弹出程序已停止运行是为什么?原文链接(https://zhidao.baidu.com/question/1178139670043658699.html) 摘要 1. 内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序...
  • C语言写的程序很烂-------本资源已关闭!!C语言写的程序-------本资源已关闭!!C语言写的程序-------本资源已关闭!!
  • 贺老师教学链接 C语言程序设计进阶 本课讲解示例:以字符为单位复制文件 复制文件a.txt,保存到b.txt中#include<stdio.h>#include int main() { FILE *fp1,*fp2; char ch; if((fp1=fopen("a.txt","r"))==NULL)...
  • C语言控制台程序窗口隐藏

    千次阅读 2013-05-24 10:29:45
    #include "stdafx.h" #ifdef UNICODE #pragma comment(linker, "/SUBSYSTEM:\"WINDOWS\" /Entry:\"wmainCRTStartup\"") #else #pragma comment(linker, "/SUBSYSTEM:\"WINDOWS\" /Entry:\"mainCRTStartup\"") ...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises15P216P262P748P313P412 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises15 P216 /* 编写...
  • 贺老师教学链接 C语言程序设计进阶 本课讲解 例:用非标准文件函数复制文件#include #include #include int main() { int handle1, handle2; char ch, filename1[20], filename2[20]; printf("enter sou

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,052
精华内容 37,220
关键字:

c语言关闭程序

c语言 订阅