天禄辟邪 2021-06-28 10:38 采纳率: 100%
浏览 106
已结题

C++ 无法解析的外部符号main

运行出来有这个错误怎么改呀 

#include <iostream>
#include <algorithm>
#include <string>
#include <fstream>
#include <vector>
using namespace std;

bool optNext();
class student{
public:
	student(fstream &);
	student(string, long, string, int, int, string, int, string, string, string)
	{
		this->name = name;
		this->stuID = stuID;
		this->sex = sex;
		this->age = age;
		this->CLASS = CLASS;
		this->spe = spe;
		this->GRADE = GRADE;
		this->HA = HA;
		this->MPN = MPN;
		this->EM = EM;
	}
	int getage(){
		return age;
	}
	int getCLASS(){
		return CLASS;
	}
	int getGRADE(){
		return GRADE;
	}
	string getspe(){
		return spe;
	}
	string getHA() {
		return HA;
	}
	string getMPN() {
		return MPN;
	}
	string getEM() {
		return EM;
	}
	friend bool disbyID(long);
	friend bool disbyName(string &);
	friend bool add();
	friend bool avgSc();
	friend bool resSc();
	friend bool readFile(fstream &infile);
	friend bool saveFile(ofstream &);
private:
	string name;
	long stuID;
	string sex;
	int age;
	int CLASS;
	int GRADE;
	string spe;
	string HA;
	string MPN;
	string EM;
};
vector<student> vec;
vector<student>::iterator it;

bool readFile(fstream &infile){
	while (!infile.eof())
	{
		vec.push_back(infile);
		infile.get();
	}
	return true;
}
student::student(fstream &infile) {
	infile >> name;
	infile >> stuID;
	infile >> sex;
	infile >> age;
	infile >> CLASS;
	infile >> GRADE;
	infile >> spe;
	infile >> HA;
	infile >> MPN;
	infile >> EM;
}
bool saveFile(ofstream &outfile){
	bool emptyCheck = true; 
	it = vec.begin();
	while (it != vec.end())
	{
		if (!emptyCheck) 
			outfile << endl;  
		outfile << it->name << " " << it->stuID << " " << it->sex
			<< " " << it->age << " " << it->CLASS << " " << it->GRADE << " " << it->spe<< "" << it->HA<<""<<it->MPN<<""<<it->EM;
		it++;
		emptyCheck = false;  
	}
	return true;
}
bool disbyID(long id){
	it = vec.begin();
	do{
		if (it->stuID == id)  
		{
			cout << it->name << " " << it->stuID << " " << it->sex << " " << it->age << " " << it->CLASS << " " << it->GRADE << " " << it->spe << "" << it->HA << "" << it->MPN << "" << it->EM<< endl;
			break;
		}
		else it++;
	} while (it != vec.end());

	if (it == vec.end())  
	{
		cout << "没有找到符合的学生ID!" << endl;
	}
	return true;
}
bool disbyName(string &name){
	it = vec.begin();
	do{
		if (it->name == name)  
		{
			cout << it->name << " " << it->stuID << " " << it->sex << " " << it->age << " " << it->CLASS << " " << it->GRADE << " " << it->spe << ""<<it->HA<<""<<it->MPN<<""<<it->EM<<endl;
			break;
		}
		else it++;
	} while (it != vec.end());

	if (it == vec.end()) 
	{
		cout << "没有找到符合的学生姓名!" << endl;
	}
	return true;
}
bool add(){
	string name;
	long stuID;
	string sex;
	int age;
	int CLASS;
	int spe;
	string GRADE;
	string HA;
	string MPN;
	string EM;

	cout << "请输入学生信息: " << endl;
	cout << "name: ";
	cin >> name;
	cout << "学生 ID: ";
	cin >> stuID;
	cout << "学生 性别[男/女]: ";
	cin >> sex;
	cout << "学生年龄: ";
	cin >> age;
	cout << "学生班级: ";
	cin >> CLASS;
	cout << "学生年级: ";
	cin >> GRADE;
	cout << "学生专业: ";
	cin >> spe;
	cout << "学生家庭地址:";
	cin >> HA;
	cout << "学生手机号码:";
	cin >> MPN;
	cout << "学生邮箱:";
	cin >> EM;
	vec.push_back(student(name, stuID, sex, age, CLASS, GRADE, spe, HA, MPN, EM));
	return true;
	return 0;
}
  • 写回答

2条回答 默认 最新

  • 关注

    你没写main函数啊,全都是类和方法,写一个main函数再运行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?