1、在打开的VC2010中选择C++。
2、点击“文件”,在“新建”选项卡中选择“项目”,选择“win32控制台程序”,命名文件。
3、点击“下一步”的“空项目”。
4、左键点击C1,右键点击“源文件”,选择“添加”中的“新建项目”,选择C++文件,文件名称。
5、按“Ctrl”和“F5”即可。
#include<stdio.h>struct person/*构建一个结构体*/
{
char name[20]
int count/*选票的数量*/
}leader[3]={"li",0,"wang",0,"han",0}
main()
{
int i,j
int ptr
char c
char leader_name[20]
ptr = 0
for(i=1i<=10i++)
{
scanf("%s",leader_name)
/*我现在想添加一个功能,
如果不小心输入0~9之间的数字就提示输入错误,并且程序会
要求重新输入。利用这段语句实现:while((getchar())!='\n') {if(c>=48&&c<=57)break}*/
while(((c=getchar())!='\n')&&(ptr<20))
{
if(c>=48&&c<=57)
printf("Input illegal! Please retry:\n")
else
leader_name[ptr++] = c
}
for(j=0j<3j++)
{
if(strcmp(leader_name,leader[j].name)==0)/*判断输入的姓名是
否于结构体中的姓名相等*/
leader[j].count++
}
}
for(i=0i<3i++)
printf("%5s:%d\n",leader[i].name,leader[i].count)/*输出姓名:投票数量*/
getch()
}
修改有三:
1、增加一个计数变量ptr;
2、在不破坏while的情况下,将getchar的值取进c中;
3、做了一个输入限制,最大不能超过20,防止溢出;
开机启动程序一般是 *** 作系统启动后启动的程序所以不同的 *** 作系统有不同的开机启动方法
以windows为例可以使用注册表也可以将程序复制到开机启动的某个文件夹里
注册表则一般可以有以下几处
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Run;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Runonce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Run;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\RunOnce;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\RunOnceEx
等等这些位置
c语言的话可以通过system函数调用reg程序来进行对注册表的 *** 作
也可以使用windows所提供的api
RegCreateKeyEx
RegOpenKeyEx
RegSetValueEx
等等这些注册表 *** 作的函数来完成
而linux *** 作系统(基于linux内核发布的发行版本统称)就与windows不同
一般linux上开机自启可以从自启脚本上进行添加
比如/etc/rc.loca /etc/rc[2-5].d/目录下等等
只需要将要自启的程序路径写入到自启文件里就可以了
c语言也只需要 *** 作文件的函数就能完成
另外也可以使用其它的方法来达到自启的方法
比如感染某个开机自启程序
方法是将自己要启动的程序的代码“注入“到某个开机自启的程序中
比如windows的explorer.exe等
方法可以是将explorer.exe替换成我们的程序
然后奖explorer.exe这个程序移动到其它目录或者更改名称
而我们的程序除了完成我们本身的功能外再多加一个功能,该功能用来创建一个进程调用原有的explorer.exe程序
这样就可以达到开机自启的目的了
当然我们也可以使用一个新的程序来替换explorer.exe
程序的功能有两个,一个是启动我们要自启动的程序,一个用来启动原有的explorer.exe程序
自然也可以将我们要启动的程序的代码直接添加在explorer.exe的头部或者尾部,头部再添加一个代码用来对这个添加完成的最终文件进行切割,切割成两个可执行程序,一个是我们要启动的程序,一个是原有的explorer.exe程序,再分别调用它们
该方法同样也可以用在linux系统上或者其它系统上
总之开机自启的方法有很多
但不同的 *** 作系统的具体方法却不同
(前面的地方没有做过任何修改,这里的地方专给认证人员的
我的答案完全自己手写,请将你认为我是复制粘贴来的地址给我,谢谢)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)