那需要学VC。确切的说是要学MFC。
其实你可以再学Java或者C#。
Java本身也不适合做图形化应用程序,但是比MFC要简单得多。
C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化到了极限。
所以强烈建议学C#。
C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。
总之,学图形化编程比较好的顺序是:
C(结构化语言,入门)-> C++(面向对象语言,铺垫) -> C# (享受快速图形化开发吧)
忘解释那几个名词了,补上:
集成开发环境:就是IDE,一类开发工具。
你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。
集成开发环境将代码编辑、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 60就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。
#include <stdioh>
#include <stdlibh>
#include <timeh>
void Init(int a[],int n); //随机生成元素取值范围在0到99的数组
void Short(int p,int n); //用选择法对数组中的元素从小到大排序
void Print(int p,int n); //在屏幕上输出数组各元素的值(逗号分隔)
#define N (10)
int main()
{
int a[N],b[N],c[N2],i;
srand(time(NULL));
Init(a,N);
Print(a,N);
Short(a,N);
Print(a,N);
Init(b,N);
Print(b,N);
Short(b,N);
Print(b,N);
for(i=0;i<N;++i)
{
c[i]=a[i];
}
for(i=0;i<N;++i)
{
c[i+N]=b[i];
}
Print(c,2N);
Short(c,2N);
Print(c,2N);
return 0;
}
void Init(int a[],int n)
{
int i;
for(i=0;i<n;++i)
{
a++=rand()%100;
}
}
void Short(int p,int n)
{
int i,j,t;
for(i=0;i<n-1;++i)
{
for(j=0;j<n-i-1;++j)
{
if(p[j]>p[j+1])
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
}
void Print(int p,int n)
{
int i;
for(i=0;i<n;++i)
{
printf("%d%c",p++,i<n-1',':'\n');
}
}
//maincpp
//根据你的要求,在有数字相同时输出“相同的数字”,出现不是2的n次方的数字时输出“还可以化简”
//没有使用链表,因为太麻烦,realloc足以满足。
//
#include <stdioh>
#include <malloch>
#include <mathh>
int main()
{
int number=0;
size_t array_length = 1;
int array =(int) malloc(sizeof(array_lengthsizeof(int)));
int ret = 0;
do
{
ret = scanf("%d",&number);
if(ret==0 || ret==EOF)
return 0;
size_t idx=0;
//检查是否有相同的数字
for(;idx<array_length;idx++)
{
//相同的数字
if(array[idx]==number)
{
//printf("相同的数字\n");
printf("还可以化简");
free(array);
return 1;
}
}
if(realloc(array,(array_length+1)sizeof(int))==NULL)
return -1;
array_length++;
array[array_length-1]=number;
ret = log2(number);
//printf("number %d : log2 = %d ,%lf \n",number,ret,log2(number));
if(!(log2(number)-ret==0))//不是2的n次方
{
printf("还可以化简");
break;
}
}
while(1);
free(array);
return 0;
}
double log2(double x)
{
return log(x)/log(2);
}
首先根据windows平台用c开发出这样的程序(这个就是我们在vc编译软件中每次编译运行出现exe窗口的部分),包括界面,内部运算什么的,这时候你要双击你c文件工程文件中debug文件夹里的exe文件就可以出现窗口,当然此时要运行的电脑必须装有类似vc++编译软件,而复制也必须复制整个工程文件夹。你的意思估计是不用整个文件夹,而是一个exe文件就可以复制运行,那样需要用打包封装软件,类似InstallShield给封装成一个exe文件,此时就不要各种cpp h opt 文件了。
给你做的是100以内数的加减法,有负数,你可自己改成乘除。
#include <stdioh>
#define N 10
main(){
int ans,a,b,i,fensu=0;
char opr;
for(i=1;i<=N;i++){
a=rand()%99+1;
b=rand()%99+1;
opr=rand()%2;
if(opr)
opr='+';
else
opr='-';
printf("\n%d %d%c%d=",i,a,opr,b);
scanf("%d",&ans);
if(opr=='+'){
if(ans==(a+b))
fensu++;
}
if(opr=='-'){
if(ans==(a-b))
fensu++;
}
}
printf("\n fenfu =%d",fensu);
getch();
}
定义三个字符变量
因为A,B,C有可能和X,Y,Z中一人比
所以利用三层循环,找出所有的情况
有因为A
对手不能和B相同
所有在对B的对手所有情况进行寻找时
进行条件判断
即A!=B
同理C
对手不能和A与B的对手相同
所以有A!=C&&B!=C
最后有A说他不和X比,C说他不和X,Z比
A!='X'&&C!='X'&&C!='Z'
#include
<stdioh>
#define
N
4
int
main(void)
{
char
A,B,C;
for(A='X';A<='Z';A++)
{
for(B='X';B<='Z';B++)
{
if(A!=B)
{
for(C='X';C<='Z';C++)
{
if(A!=C&&B!=C)
{
if(A!='X'&&C!='X'&&C!='Z')
{
printf("\nAvs%c,Bvs%c,Cvs%c",A,B,C);
}
}
}
}
}
}
}
以上就是关于如何用c语言作出有图形界面的小程序全部的内容,包括:如何用c语言作出有图形界面的小程序、求c语言大佬帮助!帮我写个小程序,谢谢、C语言一个小程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)