
一般软件会默认加入启动项的,如果是可以卸载重装,如果不是可以将软件的图标放入C:\Documents and Settings\用户名\开始菜单\程序\启动中。
1、开始/所有程序/启动,将想加入开机启动的程序软件的图标的快捷方式放进去即可,或打开C:\Documents and Settings\用户名\「开始」菜单\程序\启动文件夹把你要启动的程序的快捷方式放在这个文件夹下面就行了。
2、另一个办法,开始/运行输入regedit回车打开注册表编辑器,依次展开
分支,在右窗格用鼠标右键单击选新建/字符串/在新值中添上你要添加程序的英文名或中文名,然后双击他,在数值数据中添加这个程序的准确硬盘中的路径,按确定重启即可(右击你要添加程序软件的图标选属性,在打开的对话框中查看“目标”和“起始位置”有这个软件的路径和这个程序软件的英文名)。
导致无法打开“添加/删除程序”的原因可能是动态链接库文件注册失效了,只要重新注册这些文件就可以了。
解决方法:在“开始→运行”中输入下列命令,并依次在d出窗口中确认即可。
regsvr32 Appwizcpl
regsvr32 Jscriptdll
regsvr32 Mshtmldll
regsvr32 Msidll
regsvr32 Mshtmleddll
regsvr32 "c:\Program Files\Common Files\System\Ado\Msado15dll"
regsvr32 "c:\Program Files\Common Files\System\Ole DB\Oledb32dll"
#include <stdioh>
#include <stdlibh>
#define STACK_SIZE 512
typedef struct / 定义一个运算符栈 /
{
char base; /指向栈底的指针/
char top; /指向栈顶的指针/
}OPTR_Stack;
typedef struct / 定义一个 *** 作符栈 /
{
double base;
double top;
}OPND_Stack;
void OptrInIt(OPTR_Stack s) / 初始化运算符栈 /
{
s->base=(char)malloc(STACK_SIZEsizeof(char));/分配内存/
if(s->base==NULL) exit(0); / 判断栈是否为空 /
s->top=s->base; / 初始化栈 /
}
int OptrEmpty(OPTR_Stack s) / 定义栈空事件 /
{
if(stop==sbase) /判断栈空/
return 1; / 栈空返回1,否则为0 /
else
return 0;
}
void OptrPush(OPTR_Stack s,char elem) / 入栈 *** 作符 /
{
if (s->top-s->base==STACK_SIZE) / 判断栈满 /
{
printf("OPTR_Stack is full!\n"); /栈满则打印/
getch(); /停止/
exit(0);
}
else
(s->top++)=elem; /栈未满则elem入栈/
}
char OptrPop(OPTR_Stack s) / 出栈 /
{
char elem; /定义字符变量/
if(OptrEmpty(s)) /判断栈是否为空/
{
printf("Stack is empty\n"); /栈空打印/
getch(); /停止/
exit(0);
}
else
{
elem=--s->top; /出栈值传给elem/
return elem;
}
}
char OptrGetTop(OPTR_Stack s) / 获取栈顶元素 /
{
char elem; /定义字符变量/
if(!OptrEmpty(s)) /判断栈s是否为空/
{
elem=(stop-1); /将栈顶元素值传给elem/
return elem;
}
}
void OpndInit(OPND_Stack s) / 初始化数栈 /
{
s->base=(double )malloc(STACK_SIZEsizeof(double));/分配内存/
if(s->base==NULL) exit(0); / 判断栈是否为空 /
s->top=s->base; / 初始化栈 /
}
int OpndEmpty(OPND_Stack s) / 判断数栈是否为空 /
{
if(stop==sbase)
return 1; /栈为空则返回1/
else
return 0; /栈不为空则返回0/
}
void OpndPush(OPND_Stack s,double elem) / 入栈 /
{
if (s->top-s->base==STACK_SIZE) / 判断栈满 /
{
printf("OPND_Stack is full!\n"); /栈满则打印/
getch(); /停止/
exit(0);
}
else
s->top++=elem; /栈未满则elem入栈/
}
double OpndPop(OPND_Stack s) / 出栈 /
{
double elem; /定义字符变量/
if(OpndEmpty(s)) /判断栈s是否为空/
{
printf("OPND_Stack is empty\n"); /栈空则打印/
getch(); /停止/
exit(0);
}
else
{
elem=--s->top; /栈非空出栈/
return elem;
}
}
double OpndGetTop(OPND_Stack s) / 获取栈顶元素 /
{
double elem; /定义字符变量/
if(!OpndEmpty(s)) /判断栈s是否为空/
{
elem=(stop-1); / 将栈顶值传给elem/
return elem; /返回值/
}
}
int isoper(char c) / 判断是否为运算符 /
{
if(c=='+'||c=='-'||c==''||c=='/'||c=='%')
return 1; /如果c是'+''-''/'''中的一种则返回1/
else
return 0; /否则返回0/
}
int priority(char c) / 判断优先级 /
{
int p; /定义一个整型数/
switch(c)
{
case '+':
case '-': p=1;break; / +-的优先级为1/
case '':
case '%':
case '/': p=2;break; / '''%''/'的优先级为2/
case '(': p=0;break; / (的优先级为0/
}
return(p); /返回值/
}
double calculate(double s1,double s2,char oper) / 计算表达式 /
{
double y; /定义一个浮点型/
switch(oper)
{
case '+': y=s2+s1;break;
case '-': y=s2-s1;break;
case '': y=s2s1;break;
case '%': y=(int)((int)s2%(int)s1); break;
case '/': /情形为'/'时/
if(s1==0) /当除数为0时/
{
printf("\nDevided by zero!"); /打印除数为0/
getch(); /停止/
exit(0);
}
y=s2/s1;break; /除数不为0则定义y值为两数商/
}
return(y); /返回值/
}
double StrTodouble(char s,int j) / 将字符串转化成数字 /
{
int i,k; /定义两个整型变量/
char n[100]; /定义一个数组/
double f; /定义一个浮点型/
i=j;
for(k=0;s[i]>='0' && s[i]<='9' || s[i]=='';i++,k++) /当数组里为0~9的数值或是小数点/
{
n[k]=s[i]; /将字符存入数组/
}
n[k]='\0'; /存入一个数值后数值间加空格/
j=i;
f=atof(n); /将字符数组转换成浮点型数据/
return(f); /返回值/
}
double compute(char exp1)
{
char oper;
int i;
double OPND1,OPND2,result,f;
OPTR_Stack OPTR; / 运算符栈OPTR/
OPND_Stack OPND; / *** 作数栈OPND /
OptrInIt(&OPTR); /初始化符号栈/
OpndInit(&OPND); /初始化 *** 作数栈/
printf("\n你输入的表达式是 :");
puts(exp1); /输出输入的表达式/
for(i=0;exp1[i]!='\0' && exp1[i]!='\n';i++)
{
if(!isoper(exp1[i]) && exp1[i]>='0' && exp1[i]<='9' || exp1[i]=='') / 将字符型的 *** 作数转化为数字,存入数栈中 /
{
f=StrTodouble(exp1,&i); /将数组exp1中的字符型 *** 作数转换为浮点型的数/
OpndPush(&OPND,f); /将转换后的数存入数栈中/
}
if(isoper(exp1[i])) / 为运算符时 /
{
if(!OptrEmpty(OPTR)) /当符号栈不为空时/
{
while(!OptrEmpty(OPTR) && priority(exp1[i])<=priority(OptrGetTop(OPTR)))
/ 比较优先级,栈顶运算符优先级高时,运算符出栈 /
{
oper=OptrPop(&OPTR); /出栈将值传给oper/
OPND1=OpndPop(&OPND); /数栈中一个数出栈/
OPND2=OpndPop(&OPND); /数栈中下一个数出栈/
result=calculate(OPND1,OPND2,oper); /计算/
OpndPush(&OPND,result); /计算结果入栈/
}
OptrPush(&OPTR,exp1[i]); /栈顶运算符优先级低时,运算符入栈/
}
else
OptrPush(&OPTR,exp1[i]); /符号栈为空时,运算符入栈/
}
else if(exp1[i]=='(') OptrPush(&OPTR,exp1[i]); /'('入栈/
else if(exp1[i]==')')
{
while(OptrGetTop(OPTR)!='(' && !OptrEmpty(OPTR))
/运算符出栈,直到遇到')'或者栈空 /
{
oper=OptrPop(&OPTR); /出栈将值传给oper/
OPND1=OpndPop(&OPND); /数栈中一个数出栈/
OPND2=OpndPop(&OPND); /数栈中下一个数出栈/
result=calculate(OPND1,OPND2,oper); /计算/
OpndPush(&OPND,result); /计算结果入栈/
}
OptrPop(&OPTR); /将栈内的'('丢掉/
}
}
while(!OptrEmpty(OPTR)) /符号栈不为空/
{
oper=OptrPop(&OPTR); /出栈将值传给oper/
OPND1=OpndPop(&OPND); /数栈中一个数出栈/
OPND2=OpndPop(&OPND); /数栈中下一个数出栈/
result=calculate(OPND1,OPND2,oper); /计算/
OpndPush(&OPND,result); /计算结果入栈/
}
return result;
}
int main()
{
double result;
char exp1[100]; /表达式/
while(1) {
printf("请输入要计算的表达式 : ");
gets(exp1); /输入值放入数组exp1中/
result = compute(exp1);
printf("\n结果是 : %lf\n",result); /打印结果/
printf("回车继续,其他退出\n");
if(getch()!='\r') exit(0);
}
}
使用第三方安全软件清理
全新体验:全新视觉界面,创新 *** 作体验
手机管理:一键优化,轻松管理你的手机
手机体验、手机加速,享受一站式手机服务;
短信、通讯录、应用等快速添加、删除。
以上就是关于怎样把一个程序加到启动项里面全部的内容,包括:怎样把一个程序加到启动项里面、控制面板里面没有添加删除程序怎么办、用 C 语言编写一个具有加、减、乘、除计算功能的程序,代码语句后要写有正确注释。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)