c++中的isExist
时间: 2023-07-08 11:33:04 浏览: 453
C++中没有名为isExist的函数或关键字。如果你想检查一个文件是否存在,你可以使用C++中的文件流库和操作系统的文件系统功能来实现。以下是一个简单的示例代码,用于检查文件是否存在:
```c++
#include <iostream>
#include <fstream>
#include <string>
bool fileExists(const std::string& filename)
{
std::ifstream file(filename);
return file.good();
}
int main()
{
std::string filename = "test.txt";
if (fileExists(filename))
{
std::cout << "File exists." << std::endl;
}
else
{
std::cout << "File does not exist." << std::endl;
}
return 0;
}
```
这个例子中,我们定义了一个名为fileExists的函数,它接受一个文件名并返回一个布尔值,表示文件是否存在。在main函数中,我们调用这个函数来检查文件是否存在,并打印相应的消息。
相关问题
c++职工管理系统
好的,下面是一个简单的职工管理系统的C++代码示例:
```c++
#include <iostream>
#include <cstring>
using namespace std;
// 员工类
class Employee {
public:
Employee(int id, string name, int level) {
this->m_Id = id;
this->m_Name = name;
this->m_Level = level;
}
// 显示员工信息
void showInfo() {
cout << "编号:" << this->m_Id << "\t姓名:" << this->m_Name << "\t级别:" << this->m_Level << endl;
}
// 获取级别
int getLevel() {
return this->m_Level;
}
private:
int m_Id; // 编号
string m_Name; // 姓名
int m_Level; // 级别
};
// 职工管理类
class EmployeeManager {
public:
EmployeeManager() {
// 初始化员工数据
Employee e1(10001, "张三", 1);
Employee e2(10002, "李四", 2);
Employee e3(10003, "王五", 3);
// 添加到员工数组中
this->m_EmpArray[0] = e1;
this->m_EmpArray[1] = e2;
this->m_EmpArray[2] = e3;
// 设置员工数量
this->m_EmpNum = 3;
}
// 显示菜单
void showMenu() {
cout << "********** 职工管理系统 **********" << endl;
cout << "1. 增加职工" << endl;
cout << "2. 显示职工" << endl;
cout << "3. 删除职工" << endl;
cout << "4. 修改职工" << endl;
cout << "5. 查找职工" << endl;
cout << "6. 排序职工" << endl;
cout << "7. 清空文档" << endl;
cout << "0. 退出系统" << endl;
cout << endl;
}
// 增加职工
void addEmployee() {
int id;
string name;
int level;
cout << "请输入员工编号:" << endl;
cin >> id;
cout << "请输入员工姓名:" << endl;
cin >> name;
cout << "请输入员工级别:" << endl;
cin >> level;
Employee e(id, name, level);
this->m_EmpArray[this->m_EmpNum] = e;
this->m_EmpNum++;
cout << "增加成功!" << endl;
}
// 显示职工
void showEmployee() {
for (int i = 0; i < this->m_EmpNum; i++) {
this->m_EmpArray[i].showInfo();
}
}
// 根据编号查找职工
int isExist(int id) {
for (int i = 0; i < this->m_EmpNum; i++) {
if (this->m_EmpArray[i].getLevel() == id) {
return i;
}
}
return -1;
}
// 删除职工
void deleteEmployee() {
int id;
cout << "请输入要删除的员工编号:" << endl;
cin >> id;
int index = this->isExist(id);
if (index != -1) {
for (int i = index; i < this->m_EmpNum - 1; i++) {
this->m_EmpArray[i] = this->m_EmpArray[i + 1];
}
this->m_EmpNum--;
cout << "删除成功!" << endl;
} else {
cout << "删除失败,该员工不存在!" << endl;
}
}
// 修改职工
void modifyEmployee() {
int id;
string name;
int level;
cout << "请输入要修改的员工编号:" << endl;
cin >> id;
int index = this->isExist(id);
if (index != -1) {
cout << "请输入员工姓名:" << endl;
cin >> name;
cout << "请输入员工级别:" << endl;
cin >> level;
Employee &e = this->m_EmpArray[index];
e = Employee(id, name, level);
cout << "修改成功!" << endl;
} else {
cout << "修改失败,该员工不存在!" << endl;
}
}
// 查找职工
void findEmployee() {
int id;
cout << "请输入要查找的员工编号:" << endl;
cin >> id;
int index = this->isExist(id);
if (index != -1) {
this->m_EmpArray[index].showInfo();
} else {
cout << "查找失败,该员工不存在!" << endl;
}
}
// 排序职工
void sortEmployee() {
for (int i = 0; i < this->m_EmpNum; i++) {
for (int j = 0; j < this->m_EmpNum - i - 1; j++) {
if (this->m_EmpArray[j].getLevel() > this->m_EmpArray[j + 1].getLevel()) {
Employee temp = this->m_EmpArray[j];
this->m_EmpArray[j] = this->m_EmpArray[j + 1];
this->m_EmpArray[j + 1] = temp;
}
}
}
cout << "排序成功!" << endl;
}
// 清空文档
void clearDocument() {
this->m_EmpNum = 0;
cout << "清空成功!" << endl;
}
// 退出系统
void exitSystem() {
cout << "欢迎下次使用!" << endl;
exit(0);
}
private:
Employee m_EmpArray[1000]; // 员工数组
int m_EmpNum; // 员工数量
};
int main() {
EmployeeManager em;
while (true) {
em.showMenu();
int choice;
cin >> choice;
switch (choice) {
case 1: // 增加职工
em.addEmployee();
break;
case 2: // 显示职工
em.showEmployee();
break;
case 3: // 删除职工
em.deleteEmployee();
break;
case 4: // 修改职工
em.modifyEmployee();
break;
case 5: // 查找职工
em.findEmployee();
break;
case 6: // 排序职工
em.sortEmployee();
break;
case 7: // 清空文档
em.clearDocument();
break;
case 0: // 退出系统
em.exitSystem();
break;
default:
break;
}
}
return 0;
}
```
这个系统包含了增加职工、显示职工、删除职工、修改职工、查找职工、排序职工和清空文档等功能。可以根据需要进行扩展和修改。
图书馆管理系统C++
以下是一个简单的图书馆管理系统的C++代码,包括添加图书、删除图书、查找图书和修改图书等功能:
```c++
#include <iostream>
#include <string>
using namespace std;
// 图书结构体
struct Book {
string name; // 书名
double price; // 价格
int number; // 编号
};
// 图书数组结构体
struct Arraybooks {
Book *book; // 图书数组指针
int length; // 图书数组长度
};
// 初始化图书数组
void initArray(Arraybooks *abs) {
abs->book = new Book[100];
abs->length = 0;
}
// 添加图书
void addBook(Arraybooks *abs) {
cout << "请输入书名:" << endl;
string name;
cin >> name;
cout << "请输入价格:" << endl;
double price;
cin >> price;
cout << "请输入编号:" << endl;
int number;
cin >> number;
abs->book[abs->length].name = name;
abs->book[abs->length].price = price;
abs->book[abs->length].number = number;
abs->length++;
cout << "添加成功!" << endl;
}
// 删除图书
void deleteBook(Arraybooks *abs) {
cout << "请输入要删除的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
for (int i = index; i < abs->length - 1; i++) {
abs->book[i] = abs->book[i + 1];
}
abs->length--;
cout << "删除成功!" << endl;
}
}
// 查找图书
void findBook(Arraybooks *abs) {
cout << "请输入要查找的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
cout << "书名为:" << abs->book[index].name << "\t";
cout << "价格为:" << abs->book[index].price << "\t";
cout << "编号为:" << abs->book[index].number << endl;
}
}
// 修改图书
void modifyBook(Arraybooks *abs) {
cout << "请输入要修改的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
cout << "请输入新的书名:" << endl;
string newName;
cin >> newName;
cout << "请输入新的价格:" << endl;
double newPrice;
cin >> newPrice;
cout << "请输入新的编号:" << endl;
int newNumber;
cin >> newNumber;
abs->book[index].name = newName;
abs->book[index].price = newPrice;
abs->book[index].number = newNumber;
cout << "修改成功!" << endl;
}
}
// 显示图书
void showBooks(Arraybooks *abs) {
if (abs->length == 0) {
cout << "书架为空" << endl;
} else {
for (int i = 0; i < abs->length; ++i) {
cout << "书籍名字 : " << abs->book[i].name << "\t";
cout << "书籍价格 : " << abs->book[i].price << "\t";
cout << "书籍编号 : " << abs->book[i].number << endl;
}
}
}
// 判断图书是否存在
int isExist(Arraybooks *abs, string name) {
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
return index;
}
int main() {
Arraybooks abs;
initArray(&abs);
while (true) {
cout << "请选择操作:" << endl;
cout << "1.添加图书" << endl;
cout << "2.删除图书" << endl;
cout << "3.查找图书" << endl;
cout << "4.修改图书" << endl;
cout << "5.显示图书" << endl;
cout << "6.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addBook(&abs);
break;
case 2:
deleteBook(&abs);
break;
case 3:
findBook(&abs);
break;
case 4:
modifyBook(&abs);
break;
case 5:
showBooks(&abs);
break;
case 6:
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
return 0;
}
```