概述
随机点名(精简)(新手自己写着玩)
关于文件的读取与写入等
原码:
/*此程序是我第一个小程序,
用来巩固一下文件的读取和书写(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;
}
最后
以上就是专一小霸王为你收集整理的随机点名(精简)(新手自己写着玩)的全部内容,希望文章能够帮你解决随机点名(精简)(新手自己写着玩)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复