资源简介
支持学生信息的录入,删除,修改,按姓氏模糊查找,姓名/学号查询,按时间查询,并且将信息写入到本地文件
代码片段和文件信息
#include
#include
#include
#define met(a) memset(a0sizeof(a))
#define fup(ianb) for(int i=a;i #define fow(janb) for(int j=a;j>0;j-=b)
#define MOD(x) (x)%mod
using namespace std;
const int maxn = 2*1e4;
const int mod=1e9+7;
int Node_len=1;
int D = 0;
struct Node {
char Name[25];
char Snum[25];
char Location[40];
char Time[30];
int flag;
}Student[maxn];
void Init();
void Add();
void Del();
void Pref();
void Query_Fname();
void Query_Snum();
void Query_Time();
void Close();
void Sign();
int main(int argc const char * argv[]) {
Init();
Sign();
int Chose;
while (cout<<“选择操作:“&&cin >> Chose) {
if (Chose == 0)break;
else if (Chose == 1)Add();
else if (Chose == 2)Del();
else if (Chose == 3)Pref();
else if (Chose == 4)Query_Fname();
else if (Chose == 5)Query_Snum();
else if (Chose == 6)Query_Time();
else cout << “无效操作“ << endl;
}
Close();
return 0;
}
void fileEmpty(const char fileName[])
{
fstream file(fileName ios::out);
return;
}
void Init() {
FILE* fp;
int k=1;
fp = fopen(“E:/Len.dll“ “a+“);
Node_len = getw(fp);
if (Node_len <= 0)Node_len = 1;
fclose(fp);
fp = fopen(“E:/Student.dll“ “a+“);
for (int i = 1; i < Node_len; i++)fread(&Student[i] sizeof(Node) 1 fp);
}
void Close() {
fileEmpty(“E:/Len.dll“);
fileEmpty(“E:/Student.dll“);
FILE* fp;
fp= fopen(“E:/Len.dll“ “a+“);
putw(Node_len fp);
fclose(fp);
fp = fopen(“E:/Student.dll“ “a+“);
for (int i = 1; i < Node_len; i++)
if (Student[i].flag)continue;
else fwrite(&Student[i] sizeof(Node) 1 fp);
fclose(fp);
}
void Add() {
cout << “请以此输入学生姓名,学号,签到地点,签到时间“ << endl;
scanf(“%s“ Student[Node_len].Name);
scanf(“%s“ Student[Node_len].Snum);
scanf(“%s“ Student[Node_len].Location);
scanf(“%s“ Student[Node_len++].Time);
}
void Del() {
int ai;
cout << “请输入要删除信息序号:“;
cin >> a;
if (a >= Node_len)cout << “错误操作,第a条信息不存在“< for (i = 1; i < Node_len; i++) {
if (Student[i].flag ==1)continue;
if (a == 1)break;
a--;
}
Student[i].flag = 1;
}
void Pref() {
int a i;
cout << “请输入要修改信息序号:“;
cin >> a;
if (a >= Node_len)cout << “错误操作,第a条信息不存在“ << endl;
for (i = 1; i < Node_len; i++) {
if (Student[i].flag ==1)continue;
if (a == 1)break;
a--;
}
int ch;
cout << “请选择要修改的信息:1-姓名,2-学号,3-签到地点,4-签到时间\t:“;
cin >> ch;
if (ch == 1)cin >> Student[i].Name;
else if (ch == 2)cin >> Student[i].Snum;
else if (ch == 3)cin >> Student[i].Location;
else if (ch == 4)cin >> Student[i].Time;
else cout
- 上一篇:计算机图形学 帧动画
- 下一篇:C++定义一个MyString类,实现两个字符串相加
相关资源
- 学生管理系统,mfc做的,本人课设作
- 基于OC语言的学生管理系统实现了增删
- 详细学生管理系统源代码
- 学院学生管理系统C语言 数据结构 文
- 学生教师管理系统OC
- C语言课程设计大作业-学生管理系统含
- 学生管理系统的设计与实现
- C++版学生管理系统
- C++大作业_学生管理系统(含源代码实
- mfc学生管理系统112034
- C++大作业之学生管理系统图表
- Qt实现学生管理系统
- 基于C++的学生管理系统
- 二叉平衡树学生管理系统
- MFC学生管理系统
- 学生管理系统模板.docx
- C语言作业:学生管理系统EasyX版
- C/C++ 学生管理系统源码(控制台)
- c语言学生管理系统源码(基于codebl
- c++ 学生管理系统源码(mysql数据库)
- c++ 学生成绩管理系统
- c++ 学生管理系统源码(文本型数据库
- c++学生管理系统控制台源码
- 学生管理系统控制台源码
- c++学生管理系统
- C++学生管理系统(二叉树)
- c语言-学生管理系统源码(适合新手)
- C语言链式学生管理系统
- VS2010学生信息管理系统 C++源码
- 学生信息管理系统C语言实现
评论
共有 条评论