このような管理システムについて(更新)


2019.7.12更新記録:
多くの人が私の前に書いたコードが臭くて長いとツッコミに来たので、今日は以下を更新しました.本当にあまり変わっていませんが、好評が多くて、後でC++クラスのバージョンを書くつもりです.
誰にダウンロードを要求していないで、更に誰にポイントを出すことを要求していないで、直接公開して、csdn号にログインして直接コピーして貼り付けます
codeblocks置換テキストショートカット:ctrl+R
糞の置換テキストのショートカットキーはctrl+hです.
ソースコードはここにありません.
/*C++     ,    */
/*
v0.3    :2019.6.30  。
       :
1、        ,           ,    ,    
2、                     
3、             
4、                 ,       
5、        ,        ,      
~OuO~
*/
//VS     :     ctrl+k ctrl+d——        
//ctrl+h——      ,                 ,      ,          
//Codeblocks     :alt+l      ,  Astyle,          
//ctrl+r——      ,    
#include
#include
#include
#define MAXN 1000//           
using namespace std;

int Count = 0;

struct Tem
{
	char s1[30];
	char s2[30];
	char s3[30];
	char s4[30];
	char s5[30];
	char s6[30];
	char s7[30];
	char s8[30];
	char s9[30];
	char s10[30];//         
	int int_num1;
	int int_num2;
	int int_num3;
	int int_num4;
	int int_num5;//       
	double double_num1;
	double double_num2;
	double double_num3;
	double double_num4;
	double double_num5;//  5   
	int status;//    ,0    ,    
}tem[MAXN];

inline void insert(int index)//    
{
	cout << "   s1:" << endl;
	cin >> tem[index].s1;
	cout << "   s2:" << endl;
	cin >> tem[index].s2;
	cout << "   s3:" << endl;
	cin >> tem[index].s3;
	cout << "   s4:" << endl;
	cin >> tem[index].s4;
	cout << "   s5:" << endl;
	cin >> tem[index].s5;
	cout << "   s6:" << endl;
	cin >> tem[index].s6;
	cout << "   s7:" << endl;
	cin >> tem[index].s7;
	cout << "   s8:" << endl;
	cin >> tem[index].s8;
	cout << "   s9:" << endl;
	cin >> tem[index].s9;
	cout << "   s10:" << endl;
	cin >> tem[index].s10;
	cout << "   int_int_num1:" << endl;
	cin >> tem[index].int_num1;
	cout << "   int_num2:" << endl;
	cin >> tem[index].int_num2;
	cout << "   int_num3:" << endl;
	cin >> tem[index].int_num3;
	cout << "   int_num4:" << endl;
	cin >> tem[index].int_num4;
	cout << "   int_num5:" << endl;
	cin >> tem[index].int_num5;
	cout << "   double_int_num1:" << endl;
	cin >> tem[index].double_num1;
	cout << "   double_num2:" << endl;
	cin >> tem[index].double_num2;
	cout << "   double_num3:" << endl;
	cin >> tem[index].double_num3;
	cout << "   double_num4:" << endl;
	cin >> tem[index].double_num4;
	cout << "   double_num5:" << endl;
	cin >> tem[index].double_num5;
}

inline void output(int index)//    
{
	cout << "s1:" << tem[index].s1 << endl;
	cout << "s2:" << tem[index].s2 << endl;
	cout << "s3:" << tem[index].s3 << endl;
	cout << "s4:" << tem[index].s4 << endl;
	cout << "s5:" << tem[index].s5 << endl;
	cout << "s6:" << tem[index].s6 << endl;
	cout << "s7:" << tem[index].s7 << endl;
	cout << "s8:" << tem[index].s8 << endl;
	cout << "s9:" << tem[index].s9 << endl;
	cout << "s10:" << tem[index].s10 << endl;
	cout << "int_num1:" << tem[index].int_num1 << endl;
	cout << "int_num2:" << tem[index].int_num2 << endl;
	cout << "int_num3:" << tem[index].int_num3 << endl;
	cout << "int_num4:" << tem[index].int_num4 << endl;
	cout << "int_num5:" << tem[index].int_num5 << endl;
	cout << "double_num1:" << tem[index].double_num1 << endl;
	cout << "double_num2:" << tem[index].double_num2 << endl;
	cout << "double_num3:" << tem[index].double_num3 << endl;
	cout << "double_num4:" << tem[index].double_num4 << endl;
	cout << "double_num5:" << tem[index].double_num5 << endl;
}

void insert_function()//    
{
	insert(Count);
	tem[Count].status = 1;
	Count++;
}

void find_function()//    
{
	int flag = 0;
	char Name[30];
	cout << "    s1:" << endl;
	cin >> Name;
	for (int i = 0; i < Count; i++)
	{
		if (strcmp(Name, tem[i].s1) == 0 && tem[i].status)
		{
			flag = 1;
			output(i);
			break;
		}
	}
	if (!flag)
	{
		cout << "    " << endl;
	}
}

void del_function()//    
{
	int flag = 0;
	char Name[30];
	cout << "    s1:" << endl;
	cin >> Name;
	for (int i = 0; i < Count; i++)
	{
		if (strcmp(Name, tem[i].s1) == 0 && tem[i].status)
		{
			flag = 1;
			output(i);
			tem[i].status = 0;
			cout << "   " << endl;
			break;
		}
	}
	if (!flag)
	{
		cout << "    " << endl;
	}
}

void change_function()//    
{
	int flag = 0;
	char Name[30];
	cout << "    s1:" << endl;
	cin >> Name;
	for (int i = 0; i < Count; i++)
	{
		if (strcmp(Name, tem[i].s1) == 0 && tem[i].status)
		{
			flag = 1;
			output(i);
			insert(i);
			break;
		}
	}
	if (!flag)
	{
		cout << "    " << endl;
	}
}

void save_function()//      
{
	FILE *fp = fopen("save.txt", "w+");
	for (int i = 0; i < Count; i++)
	{
		if (tem[i].status)
		{
			fwrite(&tem[i], sizeof(struct Tem), 1, fp);
		}
	}
	fclose(fp);
}

void read_function()//      
{
	FILE *fp = fopen("save.txt", "r");
	if (fp == NULL)
	{
		fp = fopen("save.txt", "w+");
		fclose(fp);
		return;
	}
	Count = 0;
	while (!feof(fp))
	{
		fread(&tem[Count++], sizeof(struct Tem), 1, fp);
	}
	fclose(fp);
}

int main()
{
	read_function();
	while (1)
	{
		cout << "\t\t\t\tXXXXXXXX    " << endl;
		cout << "\t\t\t\t 1.  XXXX  " << endl;
		cout << "\t\t\t\t 2.  XXXX  " << endl;
		cout << "\t\t\t\t 3.  XXXX  " << endl;
		cout << "\t\t\t\t 4.  XXXX  " << endl;
		cout << "\t\t\t\t  5.    " << endl;
		cout << "   :" << endl;
		int i;
		cin >> i;
		switch (i)
		{
		case 1:
			system("cls");
			insert_function();
			system("pause");
			system("cls");
			break;
		case 2:
			system("cls");
			del_function();
			system("pause");
			system("cls");
			break;
		case 3:
			system("cls");
			change_function();
			system("pause");
			system("cls");
			break;
		case 4:
			system("cls");
			find_function();
			system("pause");
			system("cls");
			break;
		default:
			save_function();
			exit(0);
			break;
		}
	}
	return 0;
}
/*write by:Elliot Alderson*/

好きなら勝手に持っていってもいいし、使ってもいいとか言わなくても、不定期に新しいものを公開します