c++基础问题:头文件 , 源文件 , 资源文件,分别是什么。要在你面定义什么样的东西。

我用的是visual studio 2008 ,

头文件就是.h文件,一般用来放类的声明,平时你用的#include<string.h>就是包含这种文件
源文件就是.cpp文件,一般用来放你在头文件里声明的类成员函数的具体实现,一般一个.h文件总会有一个同名的.cpp
譬如现在我有一个类
class T
{
void printf(){}
}
这些内容就放在.h文件中
void T::printf(){......}
这些内容就放在.cpp文件中
(MFC的消息衍射类都是这样的)
至于资源文件就是.rc文件,用来存放一些譬如菜单,或者图标等资源的内容
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-25
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

#define EXCELLENT 90
#define GOOD 80
#define MODERATE 60
#define PASS 60

struct GradesInfo{
int Total()
void input();
string studentNumber;
string name;
int score1;
int score2;
} grades[5];

void GradesInfo::input()
{
cout << "请输入学号: ";
cin >> studentNumber;
cout << "请输入姓名: ";
cin >> name;
cout << "请输入成绩: ";
cin >> score1;
cout << "请输入成绩2: ";
cin >> score2;
cout <<endl;
}

void save(){
ofstream of;
of.open("record.txt",ofstream::out | ofstream::app);
for(int i(0);i<5;i++)
{
of << grades[i].studentNumber << endl;
of << grades[i].name << endl;
of << grades[i].score1 << endl;
of << grades[i].score2 << endl;
of << endl;
}
of.close();
}
void sort()
{
for(int i(0);i<5-1;i++)
for(int j(i+1);j<5;j++)
{
if( grades[i].Total() < grades[j].Total())
{
GradesInfo gi = grades[i];
grades[i] = grades[j];
grades[j] = gi;
}
}
}
void saveSorted(){
ofstream of;
of.open("sort.txt",ofstream::out | ofstream::app);

for(int i(0);i<5;i++)
{
of << grades[i].studentNumber << endl;
of << grades[i].name << endl;
of << grades[i].score1 << endl;
of << grades[i].score2 << endl;
of << grades[i].Total() << endl;
of << endl;
}
of.close();
}

void input(){
for(int i(0);i<5;i++)
{
cout << "请输入第"<<(1+i)<<"个学生"<<endl;
grades[i].input();
}
save();
sort();
saveSorted();
}
void displayAverage(){
double avg(0.0);
for(int i(0);i<5;i++)
avg += grades[i].Total();
avg /= 5;
cout << endl<< "平均成绩: " << avg << endl<< endl;
}
void displayFailRate(){
int f(0);
for(int i(0);i<5;i++)
{
if(grades[i].Total() < PASS * 2)
f++;
}
double fr = 100*f / 5;
cout << endl<< "不及格比例: " << fr <<"%"<< endl<< endl;
}
void displayPassRate(){
int p(0);
for(int i(0);i<5;i++)
{
if(grades[i].Total() >= PASS * 2)
p++;
}
double pr = 100.0*p / 5;
cout << endl<< "及格比例: " << pr <<"%"<< endl<< endl;
}
void displayGradeRate(){
int e(0);
int g(0);
int m(0);
for(int i(0);i<5;i++)
{
if(grades[i].Total() >= EXCELLENT * 2)
e++;
else if(grades[i].Total() >= GOOD * 2)
g++;
else if(grades[i].Total() >= MODERATE * 2)
m++;
}
double er = 100.0*e / 5;
double gr = 100.0*g / 5;
double mr = 100.0*m / 5;
cout << endl;
cout << "优比例: " << er <<"%"<< endl;
cout << "良比例: " << gr <<"%"<< endl;
cout << "中比例: " << mr <<"%"<< endl<< endl;
}

int menu() {
int opt(0);
cout << "=====================" << endl;
cout << "1. 重新输入成绩" << endl;
cout << "2. 平均成绩" << endl;
cout << "3. 不及格比例" << endl;
cout << "4. 及格比例" << endl;
cout << "5. 优良中所占比例" << endl;
cout << "0. 退出" << endl;
cout << "=====================" << endl;
cin >> opt;
return opt;
}
int main()
{
int opt(1);
do
{
system("cls");
switch(opt) {
case 1: input(); break;
case 2: displayAverage(); break;
case 3: displayFailRate(); break;
case 4: displayPassRate(); break;
case 5: displayGradeRate(); break;
}
opt = menu();
} while(opt);
return 0;
}

...资源文件,分别是什么。要在你面定义什么样的东西。
头文件就是.h文件,一般用来放类的声明,平时你用的#include<string.h>就是包含这种文件 源文件就是.cpp文件,一般用来放你在头文件里声明的类成员函数的具体实现,一般一个.h文件总会有一个同名的.cpp 譬如现在我有一个类 class T { void printf(){} } 这些内容就放在.h文件中 void T::prin...

Visual Studio 中的头文件、源文件和资源文件都是什么?有什么区别??
头文件:后缀为.h,主要是定义和声明之类的,比如类的定义,常量定义源文件:后缀.cpp,主要是实现之类的,比如类方法的实现资源文件主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单、工具栏之类的定义之类 在Visual C++6.0中,工程(Project,也叫项目)是应用程序开发的基本单位。工程的...

C\/C++中头文件和源文件的区别是什么?
main在运行时就会找到这个定义了这个函数的aaa.c文件。这是因为:main函数为标准C\/C++的程序入口,编译器会先找到该函数所在的文件。假定编译程序编译myproj.c(其中含main())时,发现它include了mylib.h(其中声明了函数void test()),那么此时编译器将按照事先设定的路径(Include路径列表及代码文件...

c++中的头文件、库文件、目标文件都是什么意思啊,有什么区别?
头文件,就是以#include开头后面包含的东东,这个文件是实际存在的,你的程序中包含这个头文件,那么在编译的时候就会把该头文件的所有内容编译进你的程序(有编译预处理的情况例外);比如有#include <cmath>,在cmath中有sin()这个函数的实现,那么你可以在程序中调用sin()函数,如果不包含cmath,那...

c++中什么是头文件,用来干嘛的?
1、最通俗的理解,头文件就是将别的文件里的代码插入到编程代码中的一种方式。它使用#include指令,比如“include "ABCD.h"”这个指令告诉编译器,我这儿要加入一些代码,这些代码在一个叫"ABCD.h"的文件中,将这个文件的内容直接全部插入到这一代所在位置就好。一般习惯于用.h或.hpp作为这类文件的...

C++中头文件(.h)和源文件(.cpp)都应该写些什么
头文件(.h)与源文件(.cpp)在C++中的作用与区别 头文件 (.h):声明与原型 头文件 (.h) 主要用于声明类的结构、函数原型以及常量定义。编写头文件时,应遵循一定的规则,如在文件的开头和结尾加入预编译语句,以防止重复编译。例如,通常会将头文件命名为某种形式,如 `ClassName.h`,这不仅便于...

一个C++程序是由哪几个部分构成的?其中的每一部分起什么作用?
预定义包括加载头文件、定义宏、预编译等!全局变量你懂得!主函数是程序入口点!自定义函数是对方法的封装!!总的来说主函数是控制模块,用于对自定义函数及系统函数的加载与调用,而自定义函数属于业务代码!!所谓业务是指完成指定任务的代码,例如要求完成两个数交换,那么这个就是任务,而你要写的...

C++中头文件(.h)和源文件(.cpp)都应该写些什么
而用C++编写比较大型的项目时,文件的分割管理确实确实是非常必要的 。下面就非常简洁明了地谈谈头文件(.h)和源文件(.cpp)应该怎么写。 头文件(.h): 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾...

c语言中的头文件,源文件,资源文件分别指什么?_?
所以,你要自己定义函数。这我感觉其实也算了。但是,它有自己独特的方式,不属于最基础的东西,所以,这些经常不被称作头文件。另一个原因是《stdio.h》里面会包含一些即便是你定义的函数,这个函数做出来的时候用了一些基本的东西,包含在stdio。h里面。所以。。。、源文件,我感觉就是一个函数程序吧...

c++头文件和原文件
.h是头文件,用来定义函数,结构,和一些变量的申明,没有主函数main。.cpp是源文件,就是我们一般编译执行的那个,源文件中可以调用头文件定义的函数和变量,必须要有主函数main。如在text.h中定义一个变量int i[10];在之后的任意的一个源文件中引用这个头文件的话(include"text.h")则i就是已经...

相似回答