• 大小: 6KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: C/C++
  • 标签:

资源简介

支持学生信息的录入,删除,修改,按姓氏模糊查找,姓名/学号查询,按时间查询,并且将信息写入到本地文件

资源截图

代码片段和文件信息

#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 

评论

共有 条评论