程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言 -- 定時關機程序

C語言 -- 定時關機程序

編輯:關於C語言

C語言 -- 定時關機程序


C語言  --   定時關機程序

特別注意:
 1.從接收到的char * 類型轉換為 int ,一定不能使用(int)這種方式來轉換,要用atoi()
   使用方式:原型: int atoi(const char *nptr);
2. 多個字符串合並,使用sprintf()
   使用方式:sprintf(char *buffer,const char * format[,argument,...])
   以下有使用方式


#include 
#include 
#include 
#include 
#include 
 
 
int isNumber(char *a);
void getCurrentDate(int seconds);  

int main(){
	printf(歡迎進入定時關機系統!
);
	getCurrentDate(0);

	char str[2]; 
	char flag = 1;
	while(flag){
		printf(輸入A定時關機,輸入C取消定時關機
); 
		gets(str);
		if(strcmp(str,a)==0) { 
			printf(請輸入時間的秒數:
);
			char seconds[10];
			while(1){ 
				gets(seconds);   
				if(isNumber((char*)seconds))
					break;
				else{
					printf(輸入的秒數不正確,請重新給輸入!
);
					continue;	
				}
			}  
			int temp_seconds = atoi(seconds);
			getCurrentDate(temp_seconds);
			char shutdown[50] = shutdown -s -t ;
			strcat(shutdown,seconds);
			system(shutdown);
			system(pause);
			break;
		} else if(strcmp(str,C)==0 || strcmp(str,c)==0) {
			system(shutdown -a);
			printf(已經取消定時關機
);
			system(pause);
			break;
		}else{
			printf(輸入的值不正確,請重新輸入!
); 
			flag=1;
		}
	}
	
	return 0;
}

//判斷字符串是否是數字
int isNumber(char *a){
	char flag=1;
	int len = strlen(a);
	for(int i=0;i 0){
		rawtime += seconds; 
	}
	timeinfo = localtime(&rawtime); 
	int year = timeinfo->tm_year + 1900; 
	int month = timeinfo->tm_mon+1; 
	int day = timeinfo->tm_mday; 
	int hour = timeinfo->tm_hour; 
	int min = timeinfo->tm_min; 
	int secs = timeinfo->tm_sec; 
	 
	char *str = (char*)malloc(sizeof(char)*100); 	 
	memset(str,0,100);
	//多個值合並字符串
	if(seconds > 0){
		sprintf(str,在%d年%d月%d日 %d時%d分%d秒後關機...,year,month,day,hour,min,secs); 
	}else{
		sprintf(str,現在時間是:%d年%d月%d日 %d時%d分%d秒 ,year,month,day,hour,min,secs);  
	} 
	puts(str);
	free(str);
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved