关于多文件之间的问题 初学者

蒲公半岛Chapter- 2020-05-31 09:07:07
先上代码


main.cpp
#include "header.h"
#include "user.cpp"
#include "admin.cpp"
void login();
int select;
void logininterface() {
printf("请选择您的身份:\n1.用户 2.管理员\n 输入其他将退出系统。");
scanf("%d", &select);
switch (select)
{
case 1:usermain(); break;
case 2:login(); break;
default:break;
}
}
void login()
{
int frequency = 0;
char str0[7] = { "111222" }, str1[7];
printf("请输入管理员密码:");
scanf("%s", &str1);
if (strcmp(str0, str1) == 0)
adminmain();
else
{
frequency++;
if (frequency < 5)
{
printf("密码错误,请重新输入(还有%d次机会):", 5 - frequency);
scanf("%s", &str1);
}
else
{
printf("密码输入错误,即将返回主页面");
logininterface();
}
}
}
int main(void)
{
logininterface();
printf("谢谢使用!");
return 0;
}


admin.cpp
#include "header.h"
extern int select;
void adminmain()
{
printf("请选择您要选择的功能:\n");
}


user.cpp
#include "header.h"
extern int select;
void usermain()
{
printf("请选择您要进行的功能:\n");
printf("1.信息查询\n2.查询分数\n3.返回上一级\n4.退出系统\n");
scanf("%d", &select);
switch (select)
case 1:
case 2:
case 3:
case 4:printf("谢谢使用!"),exit(0);
}


header.h
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


程序到这其实没写完,但是已经开始报错了

我上网上找是说头文件的问题,然后我对照我的教材,我把非main函数里的编译预处理都去掉了,但是又编译不通过显示找不到标识符,啥scanf,printf全不能用,求解
...全文
80 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 Simple-Soft 的回复:
最好不要用#include cpp的方式来使用,把函数的什么和实现分块,.h文件中进行函数什么,在cpp中实现,使用的时候保护h文件就可以。
请问能详细一点讲一下吗,我不是很懂,谢谢!
Simple-Soft 2020-05-31
  • 打赏
  • 举报
回复
最好不要用#include cpp的方式来使用,把函数的什么和实现分块,.h文件中进行函数什么,在cpp中实现,使用的时候保护h文件就可以。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧