注册 登录
编程论坛 C++教室

struct语句,求大神帮我看看程序哪里出错了!谢谢!

蛤蟆001 发布于 2016-09-13 12:47, 3587 次点击
//用struct定义日期类型
struct Tdate{
public:
    void SetDate(int y=1900,int m=1,int d=1);
    int IsLeapYear();
    void print();
private:
    int year ,month,day;
};
//tdate.cpp日期类型结构的实现
#include<iostream>
#include"tdate.h"———————— fatal error C1083: Cannot open include file: 'tdate.h': No such file or directory为什么这句是错的?
using namespace std;
void Tdate ::SetDate(int y,int m,int d){
    year=y;month=m;day=d;
}
int Tdate::IsLeapYear(){
    return((year%4==0 &&year%100!=0)||(year%400==0));
}
void Tdate::Print(){
    cout<<year <<','<<month<<','<<day <<endl;
}
6 回复
#2
书生牛犊2016-09-13 12:59
找不到tdate.h这个文件  检查一下你那个头文件的名字有没有打错。

顺便讲一下,头文件不是通常会有“ifdefine  define   endif”  吗?你为什么不用?
#3
反脑控20162016-09-13 14:49
文件包含命令格式
文件包含命令是以“#include”开头的编译预处理命令。文件包含命令的格式:
格式1:#include”文件名”
格式2:#include<文件名>
说明:
以文件包含命令中的“文件名”为名字的文件,是由C/C++语言的语句和编译预处理命令组成的文本文件。
若源程序文件中含有文件包含命令,在编译预处理时,将在该命令所在位置以该命令中的“文件名”为名字的文件的全部内容替代该命令。
用格式1,系统先在本程序文件所在的磁盘和路径下寻找包含文件;若找不到,再按系统规定的路径搜索包含文件。
用格式2,系统仅按系统规定的路径搜索包含文件。
当您想要在源文件中包含一个标准头文件时,应该将文件名用尖括号括起来,因为这样的搜索速度更快。而当您要包含其他头文件,一般是自己创建的头文件时,则应该将文件名用双引号引起来,否则根本找不到。
一条#include命令只能包含一个文件,若想包含多个文件,则要用多条包含命令。
#4
zcdjt2016-09-13 21:05
你这个类的名字对吗?#include"tdate.h"
找不到你的类文件你看看
#5
yangfrancis2016-09-13 22:01
前面是print后面是Print,函数名不统一
#6
反脑控20162016-09-14 05:51
这是什么程序,连一句执行代码都没有。仅仅写了一个类而已。
#7
StadyC2016-10-14 10:40
你检查一下,头文件和.cpp是否放到同一目录下
1