建立一个vs2010的简单的c语言工程文件工程项目

前言:

因为今天学习数据老师叫我们写一个工程文件,但是似乎并没有学过工程文件是什么,所以我写该文章简述一下我对于工程文件究竟是什么,究竟应该怎么写出一个合格的工程文件的理解。(如有错误,请稍原谅QAQ)

根据我写keil5的经验,一个合格的工程文件是适合移植的(模块化编程,文件分类,且适用于一切试错情况),简单易懂的(注释或说明),方便使用的(有快捷打开方式)。

  1. 方便使用的(快捷打开方式)

vs2010和其它编程软件都有一个特点——有一个可以直接打开的快捷方式

如图:在每个创建好的工程之中都有如该类型为Microsoft Visual……的文件,这就是每一个工程文件的快捷打开方式,但是注意的是,该文件不可轻易移位。

移位会导致该快捷方式找不到其原本的位置,打开文件也会错误。

b.简单易懂的(注释或说明)

说明可以写在最基础的文件下,内容可以写如下(请忽略我的弱智行为)

接下来就是注释,注释是好习惯,养成就是好的

#include <stdio.h>
#include <stdlib.h>        //该文件的声明可以使用exit
#include "My_math.h"
#include <math.h>

int main()
{
    int n=-1;        //N为阶乘的结果,n为阶乘数
    float p;
    while(n == -1)
    {
    printf("请输入一个正整数n\n:");
    scanf("%f",&p);
    n=Jiecheng(p);            //阶乘函数的调用    该阶乘函数是在函数内部有输入提示
    }
    printf("%d\n",n);

    int N1,N;        //x是e的次方数,N1是阶乘,N是记录p的值的
    float x,sum=0;    //sum是结果。
    double N2=0.0;    //N2是x的n次方。
A:  printf("计算e的x次方,请输入x以及需阶次n(x,n):\n");
    scanf("%f,%f",&x,&p);
    N=p;        //记录p,最后打印用
    for(;p>=0;p--)        //从后到前计算
    {
        N1=Jiecheng(p);        //N1是阶乘
        if(N1==-1)
        {
            goto A;        //如果有误,重新输入
        }
        N2=pow(x,p);    //N2是x的n次方值
        sum=sum+N2/N1;    //结果加起来
    }
    printf("e^%.2f的%d阶泰勒展开的结果为%f",x,N,sum);    //
}

ps:请原谅我的不成成熟的编程技术使用goto这种容易破坏程序的函数

c.适合移植的(模块化编程,文件分类,且适用于一切试错情况

适用于一切试错情况

数据结构的一大特色就是所有不满足的输入都需要编程者提前想到并进行改善或提示输入出错和让用户重新输入。

如上面的主函数和下面的My_math文件,就是解决了包括小数,负数,0等数字的干扰后的程序

#include <stdio.h>
#include <stdlib.h>

int Jiecheng(float p)
{
    int n=0;
    n=(int)p;
    if(n<0)        //判断输入是否小于0
    {
        printf("输入数据错误(<0)!重新输入\n");
        return -1;
    }
    else if(n!=p)        //判断是否为小数
    {
        printf("输入数据出错(float)!重新输入\n");
        return -1;
    }
    else if(n==1||n==0)        //1和0都是正确的
    {
        return 1;
    }
    else 
    {
        return(n*Jiecheng(n-1));            //循环调用阶乘函数
    }
}

文件分类

在keil5中,我们会把文件存储在Hardware(大部分函数),user(主函数)或者system(其它)文件中,如下

但是呢,vs2010没有这么多讲究(毕竟在学习阶段,也不需要超过5个以上的文件进行函数的封装嘛)

我们就把它都放在一个文件中,如下

在这里,自创的文件都可以放在此处,理论上来说,只要是h文件,在添加时需要添加到头文件列表,而cpp文件放在源文件即可,如下

模块化编程

右击头文件,选择新建新文件,点击h文件,写一个合格的头文件是工程文件的重中之重(注意创建时,名字要与cpp文件相同,毕竟你也不想以后被人诟病你这文件怎么找不到头文件吧)

#ifndef __MY_MATH_H
#define __MY_MATH_H

int Jiecheng(float p);        //阶乘函数的声明

#endif

格式如上,翻译一下就懂了。就是为了避免一些小问题才写的ifndef……define……endif

注意后者写名称时要大写,前面两个下划线,后面一个下划线即可

在写完头文件之后,在主函数文件开头用include声明我要使用我的文件啦(具体看”注释“标题下的主函数。)(此处记得要用”“引用而非<>引用)

为什么要这么做呢?我们分析一下。

如果一个文件下,我们要调用很多很多函数,如果全部在主文件之中声明,首先是臃肿,其次是不方便知晓你的文件中有什么函数,在移植程序时很很很麻烦。使用头文件可以让编程更简洁,更加艺术。

工程文件私信可发捏,弘扬开源精神,从大一做起~

猜你喜欢

转载自blog.csdn.net/ChiShangying/article/details/129325805