
一个C语言的简单题目
作业要求写三个source文件,第一个是header文件,第二个是定义函数的C++文件,设函数为print()让输入一个数n,然后屏幕打印n*2,第三个为主程序文件mai...
作业要求写三个source文件,第一个是header文件,第二个是定义函数的C++文件,设函数为print()让输入一个数n,然后屏幕打印n*2,第三个为主程序文件main(),叫用户输入一个数,然后运行之前定义好的函数print()。我代码不知道哪错了。
第一个header-print.h
#ifndef print
#define print
double n;
void print(double n)
#endif
第二个函数文件 print.cpp
#include <stdio.h>
#include "print.h"
void print(n)
{
double a;
a = n*2;
printf("The result is %d\n", a);
}
第三个主文件 153.cpp
#include <stdio.h>
#include "print.h"
double i;
void main()
{
scanf("input a number %d",&i);
print(i);
}
然后出现了一对错误
print.h(5): error C2062: type 'double' unexpected
print.cpp(7): error C2143: syntax error : missing ';' before '{'
print.cpp(7): error C2447: '{' : missing function header (old-style formal list?)
1> 153.cpp
print.h(5): error C2062: type 'double' unexpected
1153.cpp(6): error C2065: 'i' : undeclared identifier
153.cpp(7): error C2065: 'i' : undeclared identifier
不知哪错了。求救啊 展开
第一个header-print.h
#ifndef print
#define print
double n;
void print(double n)
#endif
第二个函数文件 print.cpp
#include <stdio.h>
#include "print.h"
void print(n)
{
double a;
a = n*2;
printf("The result is %d\n", a);
}
第三个主文件 153.cpp
#include <stdio.h>
#include "print.h"
double i;
void main()
{
scanf("input a number %d",&i);
print(i);
}
然后出现了一对错误
print.h(5): error C2062: type 'double' unexpected
print.cpp(7): error C2143: syntax error : missing ';' before '{'
print.cpp(7): error C2447: '{' : missing function header (old-style formal list?)
1> 153.cpp
print.h(5): error C2062: type 'double' unexpected
1153.cpp(6): error C2065: 'i' : undeclared identifier
153.cpp(7): error C2065: 'i' : undeclared identifier
不知哪错了。求救啊 展开
3个回答
展开全部
//第一个header-print.h
#ifndef print
#define print
//double n; // 这行不要,去掉
void print(double n)
#endif
//第二个函数文件 print.cpp
#include <stdio.h>
#include "print.h"
void print(double n) // 这里要写上double
{
double a;
a = n*2;
printf("The result is %d\n", a);
}
第三个主文件 153.cpp
#include <stdio.h>
#include "print.h"
void main()
{
double i; // 这里double i定义到主函数中,不要定义全局变量
printf("input a number"); // 输出得用printf,你不能放到scanf中
scanf("%d",&i);
print(i);
}
追问
我照copy过去,依然不行,求解啊
主要是第二个函数文件 print.cpp 节选部分
void print(double n) // 这double系统提示expect an identifier
{ //这括号系统提示expect a declaration
追答
这个是我粗心了,只看了一眼,没放到vs中编译,一编译才发现不少问题:
//第一个header-print.h
#ifndef PRINT_H // 你这里宏定义是为了防止多次加载,但是不能用print啊,你的函数名字就是print。。。。。。。
#define PRINT_H
//double n; // 这行不要,去掉
void print(double n); // 这里少了个逗号
#endif
//第二个函数文件 print.cpp
#include <stdio.h>
#include "print.h"
void print(double n) // 这里要写上double
{
double a;
a = n*2;
printf("The result is %lf\n", a); // a是个double型数据,不能用%d输出。。。
}
//第三个主文件 153.cpp
#include <stdio.h>
#include "print.h"
void main()
{
double i; // 这里double i定义到主函数中,不要定义全局变量
printf("input a number"); // 输出得用printf,你不能放到scanf中
scanf("%lf",&i); // 这里的错误也是%d.....
print(i);
}
这是运行结果:
展开全部
123456789101112131415161718192021222324252627282930//第一个header-print.h #ifndef print#define print//double n; // 这行不要,去掉void print(double n)#endif //第二个函数文件 print.cpp#include <stdio.h>#include "print.h"void print(double n) // 这里要写上double{double a;a = n*2; printf("The result is %d\n", a);} 第三个主文件 153.cpp #include <stdio.h>#include "print.h" void main(){double i; // 这里double i定义到主函数中,不要定义全局变量printf("input a number"); // 输出得用printf,你不能放到scanf中scanf("%d",&i);print(i);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个文件的函数声明没加逗号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询