C++ 学生数据管理

2024 年 8 月 28 日 | 阅读 13 分钟

一个简单的 C++ 应用程序,称为学生管理系统,被教育机构用来处理学生数据和学校中与学生相关的许多其他数据需求。用户可以在这个学生管理系统项目中创建、查看和编辑内容。

如今,数据库已渗透到我们生活的方方面面。世界各地的服务器中存储着数万亿字节的数据。使用此类数据库最简单的方法之一是使用 SQL。但是,您是否曾考虑过使用 C++ 来管理此类数据库。在本文中,我们将讨论如何根据用户类型创建文本文件的多个视图并进行相应调整。

此代码存储以下信息:

  1. 姓名和注册号
  2. CSE10001 成绩
  3. CSE10002 成绩
  4. 导师 ID

程序分解

我们在此程序中包含所有必要的库,以避免任何编译错误。

我们将输入数据的最大长度视为 15。并且 ifstream 正在访问“Example.txt”文件,其中 DB 已排序。

上面的 for 循环用于计算文件中的行数。

上面的 while 循环仅在所选选项不等于 6 时执行,并逐行打印可用操作:添加新学生、学生登录、教师登录、导师登录、管理员视图、退出(对于第六个选项)并输入选项。

当用户选择选项 1 时,上面的代码片段才会执行。在此,它将要求用户输入学生人数。学生的全部数据将逐行存储,然后它将要求输入注册号和姓名。

在上面演示的代码片段中,当用户选择 2 作为第二个选项时,else if 循环将执行。注册号的大小为 9 个字符,并要求用户输入注册号,然后它将显示注册号。此外,它将要求输入科目分数。

如果用户选择 0 作为选项,则会显示“未找到此注册号”。

上面的 else if 循环仅在用户选择了第三个选项时执行。在此,将要求用户输入科目代码、可用操作和查看数据。基本上,此循环用于查看或向学生数据库添加分数。

在上面的代码片段中,如果用户选择了选项 1,它将显示一条警告消息,告知您需要添加分数;文件中的查找已根据插入数据的长度完成。它需要根据不同的数据长度进行相应调整。

在上面的代码片段中,else 循环仅在用户选择选项 2 时执行。此循环用于查看学生的分数。由于数据已通过制表符分隔,因此使用了额外的 infile 命令仅获取特定分数。

在上面的代码片段中,循环显示同一导师 ID 下所有学生的详细信息。

此循环充当管理员视图,以查看文件中的所有数据。此变量值可以根据您对管理员密码的要求进行更改。

C++ 中的学生数据库管理程序

输出

Available operations: 
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 1
Enter the number of students: 2
Enter your registration number: 12BCE2083
Enter your name: Prateek
Enter your proctor ID: 10001
Enter your registration number: 15BCE2022
Enter your name: shubham
Enter your proctor ID: 10002

Available operations: 
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 3
Enter your subject code: CSE10001

Available operations: 
1. Add data about marks
2. View data
Enter option: 1
Warning! You would need to add mark details for all the students!
Enter the mark of student#1 : 54
Enter the mark of student#2 : 90
No such subject code found!

Available operations: 
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 5
Enter the admin password: admin
Reg No.       Name    CSE1001    CSE1002    Proctor ID
15BCE2083    Prateek    54         00         10001
15BCE2082    Shubham    89         00         10002

Available operations: 
1. Add New Students
2. Student Login
3. Faculty Login
4. Proctor Login
5. Admin View
6. Exit
Enter option: 6 
- - - - - - - - - - - - - - - - - - - - - - - 
(Program exited with code: 0)
Press return to continue

注意:请注意,指针位置已调整以反映我们添加到文本文件中的数据的长度。我们假设注册号始终为 9 个字符长,科目代码为 CSE10001 或 CSE10002,导师 ID 为 4 个字符长,标签仅为 2 个字符长。如果您想输入不同类型的数据,您将不得不相应地修改代码。