随机点名(精简)(新手自己写着玩)

随机点名(精简)(新手自己写着玩)
关于文件的读取与写入等

图片来源菜鸟教程,侵删!
原码:

/*此程序是我第一个小程序,
用来巩固一下文件的读取和书写(doge)*/
#include<iostream>
#include<string.h>
#include<fstream>//处理文件
#include<time.h>//(产生随机种子)
#include<windows.h>//清屏函数和延缓程序运行函数(Sleep())
#define N 30//学生数 可自适宜;
using namespace std;

struct STUDENT //定义一个存放学生信息的结构体,可以用来暂存和输出等;
{
	string name;//学生姓名;
	string num;//学号
};


void calltheroll()//点名
{
STUDENT stu[N];
		int i = 0,loop=1;
		ifstream filename;
		filename.open("D:\\cyy\\lianxi\\students.txt", ios::app | ios::in);
		if (!filename) {

			cout << "打开失败,请在**添加学生名单" << endl;
			abort();
		}
		while (!filename.eof()) {
			filename >> stu[i].name;
			filename >> stu[i].num;
			i++;
		}
		filename.close();
		while (loop) {
         system("cls");
			cout << endl << endl;
			srand(time(NULL));
			int temp = rand() % N;
			cout << "恭喜这个憨憨:";
			cout << stu[temp].name << " " << stu[temp].num << endl << endl;
			cout << "输入 '0 '退出本项,任意键继续点名:"<<endl;
			cin >> loop;
		}
}
void fileadd() //添加学生(适用于遗漏个别学生)
{ 
	STUDENT temp;
	int loop = 1;
	ofstream fileadd;
	fileadd.open("D:\\cyy\\lianxi\\students.txt", ios::app | ios::out);
	while (loop) {
		cin >> temp.name >> temp.num;
		fileadd << temp.name <<"    "<< temp.num << endl;
		cout << "继续添加请按1,退出添加请按0" << endl;
		cin >> loop;

	}
	fileadd.close();//关闭文件;方便后面程序的运行,要好的养成习惯!
}

int menu(int *a)//菜单函数
{
	system("cls");//清屏
	cout << "***** 人品检验系统 *****" << endl;
	cout << "1.点名 2.添加“漏网之鱼”" << endl;//不要在意名字  自己写着玩呢....
	cout << "0.退出 " << endl;
	cout << "----------------------" << endl;
	int sel;
		cin >> sel;
		switch (sel)
		{
		case 1:calltheroll(); break;
		case 2:fileadd(); break;
		case 0: *a = 0; break;
		default:cout << "你个憨憨,选的啥??!→.→" << endl; Sleep(1000); menu(a);
		}
		return 0;
}


	int main()
	{
		int loop = 1;//是程序一直主动运行,除非自己想退出;
		int* p = &loop;//运行标志
		while(loop)
		menu(p);
		cin.get();//防止闪退;
		return 0;
		
	}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值