学生消费记录管理系统(C语言 结构体, 链表)
自己在寒假练手的小项目
本系统要实现的功能:
1. 消费记录存在文件fee.txt中, 每一条记录包括一个消费的交易日期、入账日期、交易额、交易后余额
2. (1)用户能够查询自己的一卡通固定时段消费情况:可以按月、学期、学年查询 (2)用户可以自定义一个时间段进行查询自己的消费情况
(3)用户可以按交易金额查找消费记录
(4)管理员可查询任一用户的消费记录,可按照固定时段、自定义时段、金额方式、已删除记录查询
3. 排序功能:按消费记录的交易日期、金额、次数中一个进行(升序或降序)排序。
4. 数据录入:管理员能录入某个用户的一卡通消费情况,可以一次完成若干条记录的输入。
5. 显示功能:可进行全部消费记录的显示,也可按照查询结果进行显示
6. 数据变更:管理员可以更改或删除用户的某条消费记录,但删除的信息要保存在另外一个文件fee_undel.dat
7.统计功能:(1)用户可统计自己在一个自定义时间段里的消费总金额情况
(2)管理员可统计各个用户在一个自定义时间段里的消费总金额情况
8. 用户和管理员的权限要分开。
代码:
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct Student)
int n=0; //用来判断是否有数据输出的
struct Student
{
long ID; //学号
char name[20]; //姓名
int year; //交易日期:年
int month; //交易日期:月
int day;//交易日期:天
long postingDate; //入账日期
int amount; //交易金额
int moneyLeft;//交易余额
struct Student *next;//创建链表的节点
};
//学生信息从 fee.txt 文件中读取
struct Student *creat(void) //定义函数 此函数返回一个指向链表头的指针 建立动态链表
{
FILE *fp;
if((fp = fopen("fee.txt","rb"))== NULL)
{
printf("无法打开此文件\n");
return ;
}
else printf("打开文件成功\n");
struct Student *head;
struct Student *p1,*p2;
head=p1=p2=(struct Student *)malloc(LEN); //开辟一个新单元
while((fscanf(fp,"%ld %s %d %d %d %ld %d %d",&p1->ID,p1->name,&p1->year,&p1->month,&p1->day,&p1->postingDate,&p1->amount,&p1->moneyLeft))!=EOF) //当文件未读取完
{
p1=(struct Student*)malloc(LEN);
p2->next=p1;
p2=p1;
}
// printf("文件录入成功\n");
p2->next=NULL;
if (head == NULL)
{
printf("读取失败!内存空间申请不足!\n");
return NULL;
}
fclose( fp ); //最后不要忘了关闭文件
return(head);
}
/*************************************************
Function :已删除记录查询
*************************************************/
struct Student *recreat(void) //定义函数 此函数返回一个指向链表头的指针 建立动态链表
{
FILE *fp;
if((fp = fopen("fee_undel.dat","rb"))== NULL)
{
printf("无法打开此文件\n");
return ;
}
else printf("打开文件成功\n");
struct Student *head;struct Student *p1,*p2;
head=p1=p2=(struct Student *)malloc(LEN); //开辟一个新单元
while((fscanf(fp,"%ld %s %d %d %d %ld %d %d ",&p1->ID,p1->name,&p1->year,&p1->month,&p1->day,&p1->postingDate,&p1->amount,&p1->moneyLeft))!=EOF) //当文件未读取完
{
p1=(struct Student*)malloc(LEN);
p2->next=p1;
p2=p1;
}
printf("文件录入成功\n");
p2->next=NULL;
if (head == NULL)
{
printf("读取失败!内存空间申请不足!\n");
return NULL;
}
fclose( fp ); //最后不要忘了关闭文件
return(head);
}
/***********************************************
Function : 查询
************************************************/
void check(int b) //通过用户输入的内容,链表查询
{
long num;
system("cls");
printf(" 请输入您的学号\n");
scanf("%ld",&num);
struct Student *pt;
pt=creat();
if(b==1) //按月份查询
{
int c;
printf(" 请输入您想要查询的月份\n");
scanf("%d",&c);
while(pt!=NULL)
{
if(pt->ID==num)
{
if((pt->month)==c)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
}
pt=pt->next;
}
}
else if(b==2) //按学期查询
{
int d,y1,y2,m1,m2,ji;
printf(" 请输入您的级数,比如:2017\n");
scanf("%d",&ji);
getchar();
printf("请选择您要查询的学期 1——大一上,2——大一下,3——大二上,4——大二下,5——大二下,6——大三上,7——大三下\n\n8——大四上,9——大四下\n");
scanf("%d",&d);
switch (d)
{
case 1: y1=ji; y2=(ji+1); m1=9; m2=2;break;
case 2: y1=(ji+1); y2=(ji+1); m1=3; m2=8;break;
case 3: y1=(ji+1); y2=(ji+2); m1=9; m2=2;break;
case 4: y1=(ji+2); y2=(ji+2); m1=3; m2=8;break;
case 5: y1=(ji+2); y2=(ji+3); m1=9; m2=2;break;
case 6: y1=(ji+3); y2=(ji+3); m1=3; m2=8;break;
case 7: y1=(ji+3); y2=(ji+4); m1=9; m2=2;break;
case 8: y1=(ji+4); y2=(ji+4); m1=3; m2=8;break;
default: printf("data error");
}
while(pt!=NULL)
{
if(pt->ID==num)
{
if(((y1==(pt->year))&&m1<=(pt->month)<=12)||((y2==(pt->year))&&(1<=(pt->month)<=m2)))
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
}
pt=pt->next;
}
}
else if(b==3) //按学年查询
{
int ji2,f,y;
printf(" 请输入您的级数,比如:2017");
scanf("%d",&ji2);
printf(" 请选择您要查询的学年: 1——大一,2——大二,3——大三,4——大四\n\n\n");
scanf("%d",&f);
switch (f)
{
case 1: y=ji2;break;
case 2: y=ji2+1;break;
case 3: y=ji2+2;break;
case 4: y=ji2+3;break;
default: printf("data error");
}
while(pt!=NULL)
{
if(pt->ID==num)
{
if((((pt->year)==y)&&(9<=(pt->month)<=12))||(((pt->year)==(++y))&&(1<=(pt->month)<=8)))
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft,);
}
}
pt=pt->next;
}
}
else if(b==4) //按日期段查询
{
int y3,y4,m3,m4;
printf(" 请输入您想选择的时间段 例如:2017, 1, 2017, 8\n\n\n");
scanf("%d, %d, %d ,%d\n",&y3,&y4,&m3,&m4);
while(pt!=NULL)
{
if(pt->ID==num)
{
if((((pt->year)==y3)&&(m3<=(pt->month)<=12))||(((pt->year)==(y4))&&(1<=(pt->month)<=m4)))
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
}
pt=pt->next;
}
}
else if(b==5) //按交易金额查询
{
int g;
printf(" 输入您想要查询的金额\n\n\n");
scanf("%d",&g);
while(pt!=NULL)
{
if(pt->ID==num)
{
if((pt->amount)==g)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
else printf("data error\n");
}
pt=pt->next;
}
}
else if(b==6) //显示全部消费记录
{
while(pt!=NULL)
{
if(pt->ID==num)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
pt=pt->next;
}
}
else if(b==7) //已删除记录查询
{
struct Student *p1;
p1=recreat();
while(p1!=NULL)
{
if(p1->ID==num)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",p1->ID,p1->name,p1->year,p1->month,p1->day,p1->amount,p1->moneyLeft);
}
p1=p1->next;
}
}
if(n==0)
{
printf("没有相关交易记录");
}
//选择一个后,返回主函数
}
int inquire(int b) //选择要查询的内容
{
int a;
system("cls");
if(b==1)
{
printf("***请选择您想要的功能***\n\n");
printf("1-----按月查询 2-----按学期查询 3-----按学年查询 4-----按日期区间段查询 5-----按交易金额查询 6-----显示全部消费记录\n\n 7-----已删除消息记录查询\n\n\n");
scanf("%d",&a);
switch (a)
{
case 1:check(1); break;
case 2:check(2); break;
case 3:check(3); break;
case 4:check(4); break;
case 5:check(5); break;
case 6:check(6); break;
case 7:check(7); break;
default: printf("data error");
}
}
else
{
printf(" \n\n\n\n\n\n\t\t\t ***请选择您想要的功能***\n\n");
printf("1-----按月查询 2-----按学期查询 3-----按学年查询 4-----按日期区间段查询 5-----按交易金额查询 6-----显示全部消费记录\n\n\n");
scanf("%d",&a);
switch (a)
{
case 1:check(1); break;
case 2:check(2); break;
case 3:check(3); break;
case 4:check(4); break;
case 5:check(5); break;
case 6:check(6); break;
default: printf("data error");
}
}
}
/******************************************************
Function : 排序
********************************************************/
void Rank_check(int b)
{
long num;
printf(" 请输入您的学号\n\n\n");
scanf("%ld",&num);
int xu;
printf(" 请选择升序或降序:0——升序,1——降序\n");
scanf("%d",&xu);
struct Student *pt;
pt=creat(); //头指针
struct Student *p1,*p2,temp,*p;
if(b==1) //按金额排序
{
if(xu==0) //升序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->amount > p2->amount)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
else if(xu==1) //降序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->amount < p2->amount)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
while(pt!=NULL)
{
if(pt->ID==num)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft,);
}
pt=pt->next;
}
}
else if(b==2)
{
if(xu==0) //升序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->tradeTimes > p2->tradeTimes)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
else if(xu==1) //降序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->tradeTimes < p2->tradeTimes)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
while(pt!=NULL)
{
if(pt->ID==num)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
pt=pt->next;
}
}
else if(b==3) //按交易日期
{
if(xu==0) //升序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->postingDate > p2->postingDate)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
else if(xu==1) //降序
{
for(p1=pt ;p1!=NULL ;p1=p1->next)
for(p2=p1->next ;p2!=NULL ;p2=p2->next)
{
if (p1->postingDate < p2->postingDate)
{
temp = *p1;
*p1=*p2;
*p2=temp;
//重构链表
p = p1->next;
p1->next = p2->next;
p2->next = p;
}
}
}
while(pt!=NULL)
{
if(pt->ID==num)
{
n=1;
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",pt->ID,pt->name,pt->year,pt->month,pt->day,pt->amount,pt->moneyLeft);
}
pt=pt->next;
}
}
if(n==0)
{
printf("data error");
}
}
/************************************
Function : 排序菜单
************************************/
void rank() //排序功能
{
int a;
system("cls");
printf(" \n\n\n\n\n\n\t\t\t ***请选择您想要的功能***\n\n");
printf(" 1-----按金额 2-----按交易次数 3-----按交易日期\n\n\n");
scanf("%a",&a);
switch (a)
{
case 1: Rank_check(1);break;
case 2: Rank_check(2);break;
case 3: Rank_check(3);break;
default: printf("data error");
}
}
/***********************************************************
Funtion : 统计
************************************************************/
void tongji()
{
long num;
printf(" 请输入您的学号\n\n\n");
scanf("%ld",&num);
struct Student *pt;
pt=creat();
int y1,y2,m1,m2,total=0;
printf(" 请输入您想选择的时间段 例如:2017, 1, 2017, 8\n\n\n");
scanf("%d %d %d %d",&y1,&y2,&m1,&m2);
getchar();
while(pt!=NULL)
{
if(pt->ID==num)
{
if((((pt->year)==y1)&&(m1<=(pt->month)<=12))||(((pt->year)==(y2))&&(1<=(pt->month)<=m2)))
{
n=1;
total = total + pt->amount;
}
}
pt=pt->next;
}
printf(" 该时间段交易的总金额为:%d\n\n\n",total);
if(n==0)
{
printf("没有相关交易记录\n");
}
}
/**************************************
Function : 录入学生消费信息
***************************************/
int input() //录入学生信息,要开辟新的空间
{
FILE *fp;//文件指针
if((fp=fopen("fee.txt","ab"))==NULL)
{
printf("can not open file\n");
return ;
}
struct Student *pt,*p1; //pt指向最后一个学生
pt=creat();
while (pt->next!=NULL)
{
pt=pt->next;
}
while(1)
{
p1=(struct Student*)malloc(LEN);
system("cls");
printf(" \n\n\n\n\n\n\t\t\t \n\n");
printf(" 请输入: 学号 , 姓名 , 交易日期:年 月 日 , 入账日期, 交易金额 , 余额 \n");
printf(" 示例: 1234567890 , 喜羊羊 ,2018 02 24 , 20180224, 2 , 20 \n");
scanf("%ld %s %d %d %d %ld %d %d ",&p1->ID,p1->name,&p1->year,&p1->month,&p1->day,&p1->postingDate,&p1->amount,&p1->moneyLeft);
printf("\n");
fprintf(fp,"%ld %s %d %d %d %ld %d %d \n ",p1->ID,p1->name,p1->year,p1->month,p1->day,p1->postingDate,p1->amount,p1->moneyLeft);
p1->next=NULL;
pt->next=p1;
getchar();
printf("是否要继续录入 Y/N");
if(getchar()=='N')
break;
}
fclose(fp);
printf("录入结束");
return 0;
}
/****************************************************
Function : 修改学生消费信息
*****************************************************/
void modify()
{
int a,num;
char ch;
struct Student *temp;
temp=creat();
printf(" 请输入您要查找的学号\n\n\n");
scanf("%ld",&num);
getchar();
while(temp->next!=NULL)
{
if((temp->ID)==num)
{
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",temp->ID,temp->name,temp->year,temp->month,temp->day,temp->amount,temp->moneyLeft);
printf("是否要修改该信息 Y/N\n");
if(getchar()=='Y')
{
getchar();
printf("请选择您想要修改的信息: 1--学号,2--姓名,3--交易日期:年,月,日。4--入账日期 示例20170101,5--交易金额,6--交易余额\n");
scanf("%d",&a);
getchar();
switch(a)
{
case 1: printf("请输入您要修改的学号:\n");scanf("%ld",&temp->ID); break;
case 2: printf("请输入修改学生的姓名:\n");scanf("%s",temp->name); break;
case 3: printf("请输入修改交易日期: 示例:2018 2 23\n"); scanf("%d %d %d",&temp->year,&temp->month,&temp->day); break;
case 4: printf("请输入修改入账日期:\n"); scanf("%ld",&temp->postingDate); break;
case 5: printf("请输入修改交易金额:\n"); scanf("%d",&temp->amount); break;
case 6: printf("请输入修改交易余额:\n"); scanf("%d",&temp->moneyLeft); break;
default: printf("data error\n");
}
printf("修改完成\n");
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",temp->ID,temp->name,temp->year,temp->month,temp->day,temp->amount,temp->moneyLeft);
}
}
printf("是否要继续修改 Y/N\n");
if(getchar()=='N')
return ;
temp=temp->next;
}
}
/*******************************************
Function : 删除学生消费记录
*********************************************/
struct Student *delete()
{
long num;
struct Student *head,*temp,*p,*q;
head=creat();
temp = head;
FILE *fp,*fp2,*fp3;//文件指针
if((fp=fopen("fee_undel.dat","wb"))==NULL)
{
printf("can not open file\n");
return ;
}
if((fp2=fopen("fee.txt","wb"))==NULL)
{
printf("can not open file\n");
return ;
}
fclose(fp2);
if((fp3=fopen("fee.txt","ab"))==NULL)
{
printf("can not open file\n");
return ;
}
printf(" 请输入您要查找的学号\n\n\n");
getchar();
while(temp->next!=NULL)
{
int flag=0;
p=temp;
q=temp;
if((temp->ID)==num)
{
printf("学号:%10ld 姓名:%5s 交易日期:%d %d %d 交易金额:%d 交易余额%d \n",temp->ID,temp->name,temp->year,temp->month,temp->day,temp->amount,temp->moneyLeft);
printf("是否要删除该信息 Y/N\n");
if(getchar()=='Y')
{
flag=1;
if(temp==head) /* 表头节点*/
{
head=head->next;
free(temp); /*释放被删节点*/
}
else //将删除的节点信息保存到 fee_undel.dat中
{
p->next=temp->next; //表中节点
fprintf(fp,"%ld %s %d %d %d %ld %d %d\n ",temp->ID,temp->name,temp->year,temp->month,temp->day,temp->postingDate,temp->amount,temp->moneyLeft,);
free(temp);
}
}
getchar();
}
if(flag==0)
{
fprintf(fp3,"\n%ld %s %d %d %d %ld %d %d \n",temp->ID,temp->name,temp->year,temp->month,temp->day,temp->postingDate,temp->amount,temp->moneyLeft); //以追加方式写入
}
temp=temp->next;
}
fclose(fp);
fclose(fp3);
return (head);
}
/*******************************
Function : 更新菜单
*******************************/
void renew()
{
int a;
system("cls");
printf(" \n\n\n\n\n\n\t\t\t ***请选择您想要的功能***\n\n");
printf(" ******************************************************************\n\n\n");
printf(" 请选择 1——修改信息,2——删除信息\n\n\n");
printf(" ******************************************************************\n\n\n");
scanf("%d",&a);
switch(a)
{
case 1:modify(); break;
case 2:delete(); break;
default:printf("data error\n");
}
}
int user() //用户权限,选择功能
{
system("cls");
int a;
printf("\n\n\n\n\n\n\t\t\t ***请选择您想要的功能***\n\n");
printf(" ******************************************************************\n\n\n");
printf(" 1------查询 2------排序 3------统计 \n\n\n");
printf(" ******************************************************************\n\n\n");
scanf("%d",&a);
switch(a)
{
case 1: inquire(0); break;
case 2: rank(); break;
case 3: tongji(); break;
// default: printf("data error");
}
return 0;
}
int manager() //管理员权限,选择功能
{
system("cls");
int a;
printf(" \n\n\n\n\n\n\t\t\t ***请选择您想要的功能***\n\n");
printf(" ******************************************************************\n\n\n");
printf(" 1------查询 2------排序 3------统计 4-----录入 5-----更新\n\n\n");
printf(" ******************************************************************\n\n\n");
scanf("%d",&a);
switch(a)
{
case 1: inquire(1); break;
case 2: rank(); break;
case 3: tongji(); break;
case 4: input(); break;
case 5: renew(); break;
default: printf("data error");
}
return 0;
}
void welcome() //欢迎页面
{
int a;
printf(" ******选择您的身份:输入1——用户,输入2——管理员******\n");
scanf("%d",&a) ;
switch (a)
{
case 1: user(); break;
case 2: manager(); break;
default : printf("data error"); break;
}
}
int main()
{
welcome();
return 0;
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 暴强回复
1:楼主:我喜欢上了一个比我小6岁的女孩,还在上初中,真是造孽啊。暴强回复:把喜欢两字去掉才真是造孽。2:楼主:我把我家的狗给揍了!地震它也不告诉我,平时叫得那么欢,刚才地震时竟像没事似的在窝里睡觉!回复:唉,毕竟不是亲生的……3:楼主:老婆生了个女娃,非常可爱,…...
2024/5/9 17:34:16 - javascript鼠标双击不进行选择
if ($.browser.msie) document.selection.empty(); //IE下只能这样写elsewindow.getSelection().empty(); //chrome支持 但不支持IE...
2024/4/25 18:44:54 - iis不能启动站点,端口被占用.(解决办法)
iis 能启动站点。另一个站点可能己经在使用您为此站点配置端口。请为此站点先择一个没有使用的端口.这个问题一般是由于端口占用状态造成的解决办法是: 1、在cmd命令窗口输入netstat -abn ->c:/port80.txt 然后到c盘port80.txt文件中找到占用80端口的程序pid,记下pid。打开…...
2024/4/17 14:24:17 - 【原创】js双击变input批量修改
双击空白或者文字变成input框修改内容: html代码<td class="center" ondblclick="ShowElement(this,intro)">{$vo.intro}</td> <td class="center" ondblclick="ShowElement(this,address)">{$vo.address}</td…...
2024/4/19 21:44:52 - Spring DM 与 OSGi Blueprint
OSGi Blueprint 是最新的关于 OSGi Service 的规范,未来构建面向服务的 OSGi 应用的基础。Spring DM 2.0 是其参考实现。简单看了看两者的规范,形式都是一致的。不过我倾向于使用 Spring DM 形式的配置,因为这便于和其它 Spring 应用集成(可能今后也会有 Blueprint 配置和 …...
2024/5/5 5:15:23 - C# Winform使用ListVIew控件制作表格
1、找到ListVIew拖到窗体中2、点击右上角,设置视图为 Details,或者直接在属性里面设置View为Details3、添加列表头:点击属性Columns完后效果如下:4、添加行表头:点击属性Items5、添加行数据注意:在插入行输入的时候如果没有添加行的items会报一下错误:System.ArgumentOu…...
2024/5/5 6:54:34 - C语言课设——学生体测系统
刚刚考完试我十分的兴奋,再一想到就要过年回家了,就感觉我应该造福人类啊,所以就把我搞了接近两个星期的课设贴出来了,我是不是很好!(虽然极其的辣鸡,一个小小的课设就搞了700多行,各位小伙伴千万不要学我的,啰里八嗦的不是一个程序猿该有的素质!) (so)大家就把这…...
2024/4/17 14:23:46 - 来给罗永浩和王自如打个分
1. 前言视频实在是太长了,一晚上没法看完,我看到了80分钟,就先写一部分评论。首先,我个人对于手机来说,就是个普通用户,算不上发烧友,更算不上专业。对于老罗,只知道他是个名人,他有很多粉丝,他做了锤子T1。对于王自如,一直看着他的视频,但也当看着玩,不是很仔细,…...
2024/5/5 5:43:35 - javascript MouseEvent对象
鼠标事件监听事件 描述auxclick onauxclickclick onclickcontextmenu oncontextmenudblclick ondblclickmousedown onmousedownmouseenter onmouseentermouseleave onmouseleavemousemove onmousemovemouseout onmouseoutmouseover onmouseovermouseup onmouseup属性属性 描述M…...
2024/4/17 14:26:22 - 一个很强大很好用的报表统计插件
最近使用highcharts系列的web数据展示工具,他对于饼装图、趋势图等展示的强大功能深深吸引着我。也让我有了好多好奇心去研究他,看怎么使用他。这个工具的官方网站是:http://www.highcharts.com/...
2024/4/17 14:24:46 - iis网站无法启动,提示ox8ffe2740错误
转载自http://jhf2512.blog.163.com/blog/static/26094379200832744938759/很郁闷,以前打开dotnet运行时都挺好的,怎么这两天一运行,就不行了.我可能是网站出现问题,或者是服务上的iis没启动(应该是自动启动的).于是打开服务,iis是自动启动的,说明没问题,看了站点,果然关闭了,昨…...
2024/4/17 14:25:22 - C语言课程设计之学生学籍管理系统
做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456代码:#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student {char xuehao[100];//输入学号char na…...
2024/4/17 14:28:40 - jquery实现表格复杂表头
先上图: 目前在做一个表格插件,表格的表头是根据一个数组生成,如果只是普通的单层表头很容易实现,但是如果是复杂的表头,就要挺麻烦的,主要是我的数组结构是树形数组,实现需要递归,递归过程要考虑到<th> 的 colspan和rowspan 的设置,我自己对递归也不是很懂,只…...
2024/4/17 14:26:35 - Event & 事件兼容
…事件是可以被JavaScript侦测到的行为。网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。 事件分类鼠标事件(1) onclick (onclick = onmousedown + onmouseup)当用户点击某个对象时调用的事件(2) ondblclick (ondblclick = onclick * 2)当用户双击某个对象…...
2024/4/17 14:24:16 - Exchange Server 2010管理控制台初始化失败解决办法!
其实如果明白exchange的一些相关组成会更好的解决此类问题: 个人推测,exchange采用了wcf服务,而此服务寄宿到iis下,所以首先要启动iis,然后才能启动exchange控制台来进行相关操作。 初始化失败,最大的可能性就是iis无法启动服务(80端口可能被其它程序占用,特此说明好像…...
2024/5/5 14:23:43 - html学习(主要是对比较常用标签的总结)(html5未包含完)
标签作用常见属性常用场景标准属性Id、class、title、style事件属性onclick, ondblclick, onmousedown, onmouseup, onmouseover,onmousemove, onmouseout, onkeypress, onkeydown, onkeyup块元素(以新行来开始(和结束))<div> <body><p>..<h><u…...
2024/4/20 9:58:58 - Layui插件表格下拉框
开发工具与关键技术: Vs 、Layui插件表格下拉框作者:木有窝的鸟~小通撰写时间:2019年7月6日使用到layui插件的小伙伴可能都会发现,其实在layui插件表格里边添加下拉框或者input标签文本框都是比较复杂的。首先呢,在layui表格里面添加下拉框,在layui表格中就会出现默认的下…...
2024/5/5 15:32:59 - IIS停止,无法启动,World Wide Web Publishing 服务无法开启
这两天突然发现IIS启动不了,一直是停止的状态,网上查了资料,需要把World Wide Web Publishing 服务打开,同样World Wide Web Publishing 服务也开启不了,显示:错误127,找不到指定的程序。网上说和KB939373补丁有关,结果在360里找不到该补丁,查了好久找到KB2124261,KB2…...
2024/4/28 23:04:22 - Blueprint__蓝本
使用蓝本的原因:使用程序工厂函数使得路由(查找)变复杂【路由是根据url查找处理函数的过程】 但脚本程序中,程序实例存在于全局作用域,路由使用app.route修饰器定义 但是使用了工厂函数,程序延迟创建,当调用create_app()之后,程序app创建后,才可以用app.route修饰器…...
2024/4/17 14:24:53 - WINDOWS 2003 IIS 启动失败的原因
WINDOWS 2003 IIS 启动失败的原因 错误代码如下: 查看了日志,出错表现为以下几点:来源为:3SVC 1、World Wide Web Publishing 服务在请求配置数据库更改通知时遇到问题。数据域包含错误号。 2、初始化 World Wide Web Publishing 服务的配置管理器时出错。数据字段包含错误…...
2024/5/5 6:11:47
最新文章
- 【SpringBoot整合系列】SpringBoot整合Thymeleaf
目录 背景Thymeleaf简介Thymeleaf的特征模板引擎是什么 代码示例1.引入依赖2.修改配置文件,添加Thymeleaf的配置信息3.编写HTML模板文件4.编写控制器,返回ModelAndView,进行视图渲染 Thymeleaf语法1.常用标签/属性1.1 th:action1.2 th:method…...
2024/5/9 18:48:36 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - 腾讯云轻量服务器流量不够用了会怎么样?
腾讯云轻量应用服务器是限制月流量的,如果当月流量不够用了,流量超额了怎么办?流量超额后,需要另外支付流量费,如果你的腾讯云账号余额,就会自动扣除对应的流量费,如果余额不足,轻量…...
2024/5/8 8:45:36 - Android Framework学习笔记(2)----系统启动
Android系统的启动流程 启动过程中,用户可控部分是framework的init流程。init是系统中的第一个进程,其它进程都是它的子进程。 启动逻辑源码参照:system/core/init/main.cpp 关键调用顺序:main->FirstStageMain->SetupSel…...
2024/5/9 8:36:36 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/9 15:10:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/9 4:20:59 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/8 20:48:49 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/8 20:38:49 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/9 7:32:17 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/9 17:11:10 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57