C++新春祝福程序

以下是一个简单的C++祝福程序,用于向用户传递新春祝福:

#include <iostream> 
#include <string> 
int main() { 
std::string name; 
std::cout << "请输入您的姓名:"; 
std::cin >> name; 
std::cout << "新春快乐," << name << "!愿您在新的一年里万事如意,心想事成!" << std::endl; 
return 0; 
}

这个程序首先提示用户输入他们的姓名,然后输出一个新春祝福消息,其中包含用户的姓名。祝福消息中包含了一些常见的祝福语,如万事如意、心想事成等,表达了美好的祝愿。

下面是一个更复杂的C++祝福程序,它使用了面向对象编程和多线程技术:

#include <iostream> 
#include <string> 
#include <thread> 
#include <mutex> 
class Greeting { 
public: 
void say() { 
std::lock_guard<std::mutex> lock(m_mutex); 
std::cout << "新春快乐!" << std::endl; 
} 
private: 
std::mutex m_mutex; 
}; 
int main() { 
Greeting greeting; 
std::thread t1(&Greeting::say, &greeting); 
std::thread t2(&Greeting::say, &greeting); 
t1.join(); 
t2.join(); 
return 0; 
}

这个程序定义了一个Greeting类,它有一个say()方法用于输出新春祝福消息。say()方法使用了互斥锁来确保在多线程环境下输出的消息不会被其他线程干扰。在main()函数中,创建了两个线程t1t2,它们都调用了Greeting类的say()方法,从而输出两次新春祝福消息。通过使用多线程技术,这个程序可以在短时间内连续输出两次祝福消息,增加了程序的复杂性和趣味性。

下面是一个更复杂的C++程序,它使用了多个面向对象编程和多线程技术,以及文件输入输出和字符串处理等:

#include <iostream> 
#include <string> 
#include <thread> 
#include <mutex> 
#include <fstream> 
#include <sstream> 
class Greeting { 
public: 
void say() { 
std::lock_guard<std::mutex> lock(m_mutex); 
std::cout << "新春快乐!" << std::endl; 
} 
private: 
std::mutex m_mutex; 
}; 
class UserInput { 
public: 
std::string getInput() { 
std::ifstream inputFile("input.txt"); 
std::string line; 
if (inputFile.is_open()) { 
while (std::getline(inputFile, line)) { 
m_lines.push_back(line); 
} 
inputFile.close(); 
} else { 
std::cerr << "无法打开文件 input.txt" << std::endl; 
} 
return m_lines[m_index++]; 
} 
private: 
std::vector<std::string> m_lines; 
int m_index = 0; 
}; 
int main() { 
UserInput userInput; 
Greeting greeting; 
std::thread t1(&UserInput::getInput, &userInput); 
std::thread t2(&Greeting::say, &greeting); 
t1.join(); 
t2.join(); 
return 0; 
}

这个程序首先定义了一个Greeting类,它有一个say()方法用于输出新春祝福消息。然后定义了一个UserInput类,它有一个getInput()方法用于从文件中读取输入并返回下一个字符串。在main()函数中,创建了两个线程t1t2,它们分别调用了UserInput类的getInput()方法和Greeting类的say()方法。t1线程从文件input.txt中读取输入,并将每个输入传递给t2线程。t2线程接收到输入后,输出对应的新春祝福消息。通过使用多线程技术,这个程序可以在短时间内连续输出多个祝福消息,并且每个消息都与输入相关联。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值