⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.c

📁 1.简介 本程序是用纯C语言编的一个基于菜单命令行的数据库系统。可以创建多个数据库
💻 C
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <io.h>
#include "database.h"


///////////////////////////////////////
// Main Function : Main menu hadle
void main(void)
{
	mainhandle();
}

void mainhandle(void)
{
	char key;
	int flag=0;
	while(flag==0)
	{	
		MainMenu();
		printf("Your choice:");
		scanf(" %c",&key);
		switch(key)
		{
		case 'N':case 'n':case '1':
			New();
			flag=1;
			break;
		case 'F':case 'f':case '2':
			File();
			flag=1;
			break;
		case 'E':case 'e':case '3':
			Edit();
			flag=1;
			break;
		case 'a':case 'A':case '4':
			Query();
			flag=1;
			break;
		case 'H':case 'h':case '5':			
			Help();
			flag=0;
			break;
		case 'M':case 'm':case '6':
			NewMenu();
			EditMenu();
			QueryMenu();
			flag=0;
			break;
		case 'Q':case 'q':case '7':
			exit(0);
		default:printf("Invalid command! Input again:\n");
			flag=0;
		}
	}
}
///////////////////////////////////////
// New menu handle
void New(void)
{	
	char key;
	int flag=0;
	NewMenu();
	while(flag==0)
	{
		printf("Your choice:");
		scanf(" %c",&key);
		switch(key)
		{
		case 'd':case 'D':case '1':
			CreateDatabase();
			flag=0;
			break;
		case 't':case 'T':case '2':
			CreateTable();
			flag=0;
			break;
		case 'c':case 'C':case '3':
			CreateColumn();
			flag=0;
			break;
		case 'H':case 'h':case '4':	
			Help();
			flag=0;
			break;
		case 'b':case 'B':case '5':
			flag=1;
			mainhandle();
			break;
		case 'q':case 'Q':case '6':
			exit(0);
		default:printf("Invalid command! Input again:\n");
			flag=0;
		}
	}
}
///////////////////////////////////////
// Edit menu handle
void Edit(void)
{	
	char key;
	int flag=0;
	EditMenu();
	while(flag==0)
	{
		printf("Your choice:");
		scanf("  %c",&key);
		switch(key)
		{
		case 'a':case 'A':case '1':
			AddDataToTable();
			flag=0;
			break;
		case 'd':case 'D':case '2':
			Delete();
			flag=0;
			break;
		case 'f':case 'F':case '3':
			Find();
			flag=0;
			break;
		case 'm':case 'M':case '4':
			Modify();
			flag=0;
			break;
		case 's':case 'S':case '5':
			SortTable();
			flag=0;
			break;
		case 'H':case 'h':case '6':	
			Help();
			flag=0;
			break;
		case 'b':case 'B':case '7':
			flag=1;
			mainhandle();
			break;
		case 'q':case 'Q':case '8':
			exit(0);
		default:printf("Invalid command! Input again:\n");
			flag=0;
		}
	}
}
///////////////////////////////////////
// Query menu handle
void Query(void)
{
	char key;
	int flag=0;
	while(flag==0)
	{	
		QueryMenu();
		printf("\nYour choice:");
		scanf("  %c",&key);
		switch(key)
		{
		case 'd':case 'D':case '1':
			ShowDatabaseInfo();
			system("pause");
			flag=0;
			break;
		case 't':case 'T':case '2':
			QueryTableInfo();
			system("pause");
			flag=0;
			break;
		case 'c':case 'C':case '3':
			QueryColumnInfo();
			system("pause");
			flag=0;
			break;
		case 'r':case 'R':case '4':
			QueryRecords();
//			ShowAllRecord(databasehead->tablehead);
			system("pause");
			flag=0;
			break;
		case 's':case 'S':case '5':
			SQL();
			flag=0;
			break;
		case 'H':case 'h':case '6':
			Help();
			flag=0;
			break;
		case 'b':case 'B':case '7':
			flag=1;
			mainhandle();
			break;
		case 'q':case 'Q':case '8':
			exit(0);
		default:printf("Invalid command! Input again:\n");
			flag=0;
		}
	}
}
///////////////////////////////////////
// File menu handle
void File(void)
{
	char key;
	int flag=0;
	while(flag==0)
	{	
		FileMenu();
		printf("Your choice:");
		scanf("  %c",&key);
		switch(key)
		{
		case 'O':case 'o':case '1':
			Open();
			flag=1;
			mainhandle();
			break;
		case 'S':case 's':case '2':
			Save();
			flag=1;
			mainhandle();
			break;
		case 'H':case 'h':case '3':			
			Help();
			flag=0;
			break;
		case 'b':case 'B':case '4':
			flag=1;
			mainhandle();
			break;
		case 'q':case 'Q':case '5':
			exit(0);
		default:printf("Invalid command! Input again:\n");
			flag=0;
		}
	}
}
///////////////////////////////////////
// File menu
void FileMenu(void)
{
	printf("  *******************************************************************\n");
	printf("  *                              FILE                               *\n");
	printf("  *	          [1]. open                         <O>             *\n");
	printf("  *	          [2]. save                         <S>             *\n");
	printf("  *	          [3]. help                         <H>             *\n");
	printf("  *	          [4]. back to mainmenu             <B>             *\n");
	printf("  *	          [5]. quit                         <Q>             *\n");
	printf("  *******************************************************************\n");
}
///////////////////////////////////////
// Main menu
void MainMenu(void)
{
	printf("  *******************************************************************\n");
	printf("  *                            MAINMENU                             *\n");
	printf("  *	          [1]. new                          <N>             *\n");
	printf("  *	          [2]. file                         <F>             *\n");
	printf("  *	          [3]. edit                         <E>             *\n");
	printf("  *	          [4]. query                        <A>             *\n");
	printf("  *	          [5]. help                         <H>             *\n");
	printf("  *	          [6]. menu                         <M>             *\n");
	printf("  *	          [7]. quit                         <Q>             *\n");
	printf("  *******************************************************************\n");
}
///////////////////////////////////////
// Edit menu
void EditMenu(void)
{
	printf("  *******************************************************************\n");
	printf("  *                             EDIT                                *\n");
	printf("  *	          [1]. add records                  <A>             *\n");
	printf("  *	          [2]. delete records               <D>             *\n");
	printf("  *	          [3]. find records                 <F>             *\n");
	printf("  *	          [4]. modify records               <M>             *\n");
	printf("  *	          [5]. sort records                 <S>             *\n");
	printf("  *	          [6]. help                         <H>             *\n");
	printf("  *	          [7]. back to mainmenu             <B>             *\n");
	printf("  *	          [8]. quit                         <Q>             *\n");
	printf("  *******************************************************************\n");
}
///////////////////////////////////////
// New menu
void NewMenu(void)
{
	printf("  *******************************************************************\n");
	printf("  *                             NEW                                 *\n");
	printf("  *	          [1]. create a new database        <D>		        *\n");
	printf("  *	          [2]. create a new table           <T>             *\n");
	printf("  *	          [3]. create a new column          <C>             *\n");
	printf("  *	          [4]. help                         <H>             *\n");
	printf("  *	          [5]. back to mainmenu             <B>             *\n");
	printf("  *	          [6]. quit                         <Q>             *\n");
	printf("  *******************************************************************\n");
}
///////////////////////////////////////
// Query menu
void QueryMenu(void)
{
	printf("  *******************************************************************\n");
	printf("  *                             QUERY                               *\n");
	printf("  *	          [1]. query database information   <D>             *\n");
	printf("  *	          [2]. query table information      <T>             *\n");
	printf("  *	          [3]. query column information     <C>             *\n");
	printf("  *	          [4]. show all records in a table  <R>             *\n");
	printf("  *	          [5]. do SQL                       <S>             *\n");
	printf("  *	          [6]. help                         <H>             *\n");
	printf("  *	          [7]. back to mainmenu             <B>             *\n");
	printf("  *	          [8]. quit                         <Q>             *\n");
	printf("  *******************************************************************\n");
}
///////////////////////////////////////
// Help information
void Help(void)
{
	system("type SQLgrammer.txt | more");
	printf("\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -