c++ 学生信息录入系统9

优化了部分(一些东西无需回车,但有一些小隐患)

下面为了防止非粉丝看见

#include <bits/stdc++.h>
#include <Windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;

int main() {
	system("color 1f");
	string a[999], z[999], xj[999], xb[999], zs, ddw[999], ddz;
	int m, x[999], b[999], ji = 0, j, sh[999], i, ji2 = 0, nl[999], jq[999], ji3 = 0, k;
	bool s, ddzd = 0, s2;
	cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
	     << endl;

	while (1) {
		if (KEY_DOWN('1')) {
			cout << "请输入姓名:" << endl;

			while (cin >> a[ji]) {
				s = 1;

				for (i = 0; i < ji; i++) {
					if (a[i] == a[ji]) {
						cout << "姓名重复了!" << endl;
						s = 0;
					}
				}

				if (s == 1) {
					break;
				}
			}

			cout << "请输入性别:" << endl;
			cin >> xb[ji];
			cout << "请输入年龄:" << endl;
			cin >> nl[ji];
			cout << "请输入班级:" << endl;
			cin >> b[ji];
			cout << "请输入学号:" << endl;
			cin >> x[ji];
			cout << "请输入现金:" << endl;
			cin >> jq[ji];
			cout << "请输入学籍:" << endl;
			cin >> xj[ji];
			cout << "请输入备注:" << endl;
			cin >> z[ji];
			ji++;
			cout << "录入成功!";
			Sleep(3000);
			system("cls");
			cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
			     << endl;
		} else if (KEY_DOWN('2')) {
			for (i = 0; i < ji; i++) {
				cout << a[i] << " " << xb[i] << " " << nl[i] << "岁 " << b[i] << "班 " << x[i] << "号 拥有" << jq[i] << "元 学籍:" <<
				     xj[i] << " 备注:" << z[i] << endl;
			}

			cout << "输入0表示已看完" << endl;

			while (1) {
				if (KEY_DOWN('0')) {
					system("cls");
					cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
					     << endl;
					break;
				}
			}
		} else if (KEY_DOWN('3')) {
			for (i = 0; i < ji; i++) {
				cout << a[i] << " " << xb[i] << " " << nl[i] << "岁 " << b[i] << "班 " << x[i] << "号 拥有" << jq[i] << "元  学籍:" <<
				     xj[i] << " 备注:" << z[i] << endl;
			}

			cout << "输入1编辑三好学生,输入2查看三好学生" << endl;

			while (1) {
				if (KEY_DOWN('1')) {
					s = 0;
					cout << "请输入对方学籍:" << endl;
					cin >> zs;

					for (i = 0; i < ji; i++) {
						if (b[i] == -1) {
							continue;
						}

						if (zs == xj[i]) {
							sh[ji2] = i;
							ji2++;
							s = 1;
							cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
							     << endl;
							break;
						}
					}

					if (s != 1) {
						system("cls");
						cout << "无学生拥有此学籍!" << endl;
						cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
						     << endl;
					}

					break;
				}

				if (KEY_DOWN('2')) {
					for (j = 0; j < ji2; j++) {
						if (b[i] == -1) {
							continue;
						}

						cout << a[sh[j]] << xb[sh[j]] << " " << nl[sh[j]] << "岁 " << " " << b[sh[j]] << "班 " << x[sh[j]] << "号 拥有" << jq[i]
						     << "元  学籍:" << xj[sh[j]] << " 备注:" << z[sh[j]] << endl;
					}

					cout << "输入0表示已看完" << endl;

					while (1) {
						if (KEY_DOWN('0')) {
							system("cls");
							cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
							     << endl;
							break;
						}
					}

					break;
				}
			}
		} else if (KEY_DOWN('4')) {
			cout << "考试中...";
			Sleep(5000);
			cout << endl << "考试结束,成绩:" << endl;

			for (i = 0; i < ji; i++) {
				if (b[i] == -1) {
					continue;
				}

				cout << a[i] << " " << xb[i] << " " << nl[i] << "岁 " << b[i] << "班 " << x[i] << "号 拥有" << jq[i] << "元  学籍:" <<
				     xj[i] << " 备注:" << z[i] << endl;
				cout << "语文:" << rand() % 101 << " 数学:" << rand() % 101 << " 英语:" << rand() % 101 << endl;
			}

			cout << "输入0表示已看完" << endl;

			while (1) {
				if (KEY_DOWN('0')) {
					system("cls");
					cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
					     << endl;
					break;
				}
			}

			system("cls");
			cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
			     << endl;
			continue;
		} else if (KEY_DOWN('5')) {
			s = 0;
			cout << "请输入对方姓名" << endl;

			while (cin >> zs) {
				for (i = 0; i < ji; i++) {
					if (b[i] == -1) {
						continue;
					}

					if (a[i] == zs) {
						b[i] = -1;
						cout << "删除成功!" << endl;
						Sleep(3000);
						s = 1;
						break;
					}
				}

				if (s == 1) {
					system("cls");
					cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
					     << endl;
					break;
				} else {
					cout << "删除失败!" << endl;
					Sleep(3000);
				}
			}

			continue;
		} else if (KEY_DOWN('6')) {
			for (i = 0; i < ji; i++) {
				cout << a[i] << " " << xb[i] << " " << nl[i] << "岁 " << b[i] << "班 " << x[i] << "号 拥有" << jq[i] << "元  学籍:" <<
				     xj[i] << " 备注:" << z[i] << endl;
			}

			cout << "请输入对方的姓名:" << endl;
			cin >> zs;

			for (i = 0; i < ji; i++) {
				if (a[i] == zs) {
					s = 1;
					break;
				}
			}

			if (s == 1) {
				cout << "输入要增加的钱数(如果要减少就输入负数)" << endl;
				cin >> m;
				jq[i] += m;
				cout << "编辑成功!" << endl;
				Sleep(3000);
				system("cls");
				cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
				     << endl;
			} else {
				system("cls");
				cout << "没有此学生!" << endl;
				Sleep(3000);
				system("cls");
				cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
				     << endl;
			}
		} else if (KEY_DOWN('7')) {
			cout << "输入1管理大队委,输入2管理大队长,输入3查看" << endl;

			while (1) {
				if (KEY_DOWN('1')) {
					while (1) {
						for (i = 0; i < ji; i++) {
							cout << a[i] << " " << xb[i] << " " << nl[i] << "岁 " << b[i] << "班 " << x[i] << "号 拥有" << jq[i] << "元  学籍:" <<
							     xj[i] << " 备注:" << z[i] << endl;
						}

						cout << "请输入对方姓名:" << endl;
						cin >> zs;
						s = 0;

						for (i = 0; i < ji; i++) {
							if (zs == a[i]) {
								s = 1;
								break;
							}
						}

						if (s == 1) {
							s2 = 0;

							for (j = 0; j < ji3; j++) {
								if (ddw[j] == zs) {
									s2 = 1;
									break;
								}
							}

							if (s2 == 1) {
								cout << "已取消对方大队委职位" << endl;
								ddw[j] = (char)(0);
							} else {
								cout << "已把对方加为大队委" << endl;
								ddw[ji3] = zs;
								ji3++;
							}

							Sleep(3000);
							system("cls");
							break;
						} else {
							system("cls");
							cout << "没有这个人!" << endl;
							Sleep(3000);
							system("cls");
						}
					}

					break;
				} else if (KEY_DOWN('3')) {
					if (ddzd == 1) {
						cout << "大队长:" << endl << ddz << endl;
					}

					cout << "大队委:" << endl;

					for (i = 0; i < ji3; i++) {
						cout << ddw[i] << " ";
					}

					cout << endl << "输入0表示已看完" << endl;

					while (1) {
						cin >> m;

						if (KEY_DOWN('0')) {
							system("cls");
							break;
						}
					}

					break;
				} else if (KEY_DOWN('2')) {
					while (1) {
						if (ddzd == 0) {
							cout << "请输入对方姓名" << endl;
							cin >> zs;
							s = 0;

							for (i = 0; i < ji; i++) {
								if (a[i] == zs) {
									s = 1;
								}
							}

							if (s == 1) {
								system("cls");
								ddz = zs;
								ddzd = 1;
								cout << "对方已成为大队长" << endl;
								Sleep(3000);
								system("cls");
								break;
							} else {
								system("cls");
								cout << "没有这个人!" << endl;
								Sleep(3000);
								system("cls");
							}
						} else {
							system("cls");
							ddz = (char)(0);
							ddzd = 0;
							cout << "已把对方撤除大队长职位" << endl;
							Sleep(3000);
							system("cls");
							break;
						}
					}

					break;
				}
			}

			cout << "输入1录入新学员,输入2查看,输入3管理三好学生,输入4开始考试,输入5删除学生,输入6管理学生现金,输入7管理大队委以及大队长"
			     << endl;
		}
	}

	return  0;
}

源程序使用说明 1、运行环境设置 本实例是在Windows 2000下开发的,程序测试环境为Windows2000和WindowsXP。用户在Windows 2000和Windows XP下都可使用本实例。为保证程序中的查询功能能够正常使用,请将系统时间格式改为“yyyy-MM-dd”日期格式。设置(Windows XP下)步骤如下。 1)打开控制面板,选择“区域与语言选项”,选择“区域选项”选项卡。 2)在“区域选项”选项卡选择“自定义”按钮,将弹出“自定义区域”对话框。 3)在“自定义区域”对话框中选择“日期”选项卡,将“短日期格式”设置为“yyyy-MM-dd”日期格式。 注意:在Windows 2000下,打开控制面板后,直接选择“区域选项”,在打开的对话框中选择“日期”选项卡,将“短日期格式”设置为“yyyy-MM-dd”日期格式。 2、源程序使用方法 如果用户要使用源程序,计算机除了满足上面要求的配置外,还需要完成如下工作。 (1)在系统上安装Visual C++ 6.0。 (2)使用本书中源程序时,请将该文件夹下的所有文件拷贝到计算机硬盘上,并去掉所有文件的只读属性。 (3)如果后台数据库为SQL Server 2000,请在系统上安装SQLServer2000。关于数据库方面的说明参见下一节。 (4)本书中的案例程序统一用户名及密码,用户名:mr,密码:mingrisoft。 3、使用数据库 使用SQL Server2000数据库。这些实例的数据库文件均被放在对应实例目录的“database”文件夹下(资产设备管理为“数据库”文件夹),使用程序时应首先在SQL Server2000的企业管理器中附加数据库。学生管理系统需要配置ODBC。 4、附加数据库 (1)将实例目录“database”文件夹下扩展名为“.MDF”和“.LDF”的两个文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。 (2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项,如图1所示。 图1 附加数据库 (3)将弹出“附加数据库”对话框,如图2所示。 图2 附加数据库对话框 (4)在该对话框中单击“…”按钮选择所要附加数据库的.mdf文件的路径,例:附加图书管理系统的数据库可以选择 “C:\sql\MSSQL\Data\BookManage_Data.MDF”,如图3所示。单击【确定】按钮,即可完成数据库的附加操作。 图3 选择所要附加的数据库 5、配置ODBC 介绍配置ODBC的方法。 (1)单击“控制面板”/“ODBC数据源”,打开“ODBC数据源管理器”。 (2)单击“添加”按钮,打开“创建新数据源”窗口,在此选择“SQL Server”。 (3)单击“完成”按钮,打开“建立新的数据源到SQL Server”窗口,在“名称”文本框中输入“mystudentsys”(数据库名称);在“服务器”下拉列表框中输入想连接的SQL Server服务器。如果要连接的SQL Server是安装在本地机上的,那么可以选择local,local表示连接到本地的服务器。如果要连接的SQL Server是安装在其他的服务器上的,则选择所需的服务器名称。 (4)单击“下一步”按钮,打开“创建到SQL Server 的新数据源”窗口,选定“使用用户输入登录ID和密码的SQL Server验证”选项,在“登录ID”文本框中输入“sa”;“密码”文本框为空。 (5)单击“下一步”按钮,在弹出的对话框中勾选“更改默认的数据库为”选项,在下拉列表中选择“tb_student”数据库,单击“下一步”按钮,再单击“完成”按钮,数据源便配置成功了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sixth grade

谢谢,我会更加努力的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值