1. 程式人生 > >C語言 學生資訊管理系統

C語言 學生資訊管理系統

前文是樓主的一些經歷,給大家分享一下,希望能夠幫到大家。文中有不足的地方還請指出,我們一同探討,或者可以直接看正文(恩~第一次在這兒發帖確實有點小激動O(∩_∩)O~)。

|前文|

我是一名職高學生,入校選擇專業時毫不猶豫選擇了計算機,只因對此擁有濃厚的興趣(哈哈,可能是很早接觸計算機有關吧!)。樓主對於C語言也是情有獨鍾(這是真愛啊、)。自學的階段總是迷茫的,尤其對於初學者。  對於初學者提升興趣的方法就是成功,當你認真去寫一個程式並且能夠載入計算機記憶體成功執行,這種感覺是之前未有過的。  樓主開始學的時候也是一頭霧水,不知從何開始,從剛開始到現在已經有一個學期了,記得剛開始的時候最多就是寫個hello world!學了許久只是簡單瞭解基本資料型別定義,還是停留在懵逼的狀態,

慢慢的通過老師的講解可以做一些簡單的資料處理了,這是一個良好的開端,不要小看這些資料處理,它就猶如是一個“零件”,“零件”運用多了,才能熟練,將這些小型的零件拼接到一起就構成了一個大型的系統。這樣方能做到“知其然知其所以然”。  “百度”一個非常好的搜尋引擎,裡面有很多相關的資料,這是一個很高效的網路學習方法,最重要的還是自己要努力。  學習C語言本就是枯燥乏味的,我覺得計算機專業學生不應該只停留在軟體應用上(那是業餘人乾的),應該要偏重學習程式開發。有人就說了:“恩,我覺得開發這東西不適合我,而且我基礎不太好,不學!”。這不是藉口,只能說明自己懶,懶得編寫,懶得想,每個人的起步都是一樣的,沒有什麼天才,只有付諸行動,才能有收穫,學習C語言要經常寫程式碼,程式碼寫多了自然就理解了     其實呢,學習程式語言最重要的還是要掌握程式設計的思想,從計算機的角度去思考問題,自然迎刃而解!!!

|正文|

上圖:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
struct students
{
	int id;
	int age;
	char name[10];
	char xin[10];
	int yu,shu,yin,com,sum;
}stu[100];
int i=0,j=0;     //i迴圈新增資訊變數  j顯示全部資訊迴圈變數 
int menu(void)    //主介面 
{
	int a;
	printf("\t***   ╭□════■□■□══╮ ***\n");
	printf("\t*    │ 學生資訊管理系統       │  *\n");
	printf("\t*    ╰═■□■□══════■╯  *\n");
	printf("\t*    ┌───────────┐    *\n");
	printf("\t*    │1.新增資訊  2.修改資訊│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │3.查詢資訊  4.刪除資訊│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │5.資料排序  6.儲存讀取│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │7.退出系統            │    *\n");
	printf("\t*    └───────────┘    *\n");
	printf("\t************************************\n");
	printf("\t請輸入你的選擇(1~7):");
	scanf("%d", &a);
	while (a<1 || a>7)
	{
		printf("\t輸入範圍為1~7:");
		scanf("%d", &a);
	}
	if (a == 1)
		ID();
	if (a == 2)
		xiugai();
	if (a == 3)
		chaxun();
	if (a == 4)
		shanchu();
	if (a == 5)
		paixu();
	if (a == 6)
		menufile();
	if (a == 7)
		printf("\n\t\t\t\t退出系統中...");
	Sleep(3000);
	exit(0);
	return 0;
}
//**********************
//**********************
//**********************
int ID(void)     //新增資訊 
{
	int a,k,j,x,one;
	do
	{
		printf("\n----------------------------------------------------\n");
		printf("\t      ———新增資訊———\n\n");
		fflush(stdin);
		printf("學號:");
		scanf("%d", &x);
		while ( x<1 || x>100)
		{
			printf("輸入範圍為1~100:");
			scanf("%d", &x);
		}
		one=0;
		for(j=0;j<i;j++)
		{
			if(x==stu[j].id)
			{
				one=1;
				printf("\n記錄中已有此人!不得重複新增...");
				getch();
				system("cls");
				menu();
			}
		}
		if(one==0)
		{
			stu[i].id=x;
		}
		printf("姓名:");
		getchar();
		gets(stu[i].name);
		printf("性別:");
		gets(stu[i].xin);
		while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
		{
			printf("性別只限男女:");
			gets(stu[i].xin);
		}
		printf("年齡:");
		scanf("%d", &stu[i].age);
		while (stu[i].age <= 0 || stu[i].age>100)
		{
			printf("年齡只限1~100:");
			scanf("%d", &stu[i].age);
		}
		printf("語文:");
		scanf("%d", &stu[i].yu);
		while (stu[i].yu<0 || stu[i].yu>100)
		{
			printf("輸入只限0~100:");
			scanf("%d", &stu[i].yu);
		}
		printf("數學:");
		scanf("%d", &stu[i].shu);
		while (stu[i].shu<0 || stu[i].shu>100)
		{
			printf("輸入只限0~100:");
			scanf("%d", &stu[i].shu);
		}
		printf("英語:");
		scanf("%d", &stu[i].yin);
		while (stu[i].yin<0 || stu[i].yin>100)
		{
			printf("輸入只限0~100:");
			scanf("%d", &stu[i].yin);
		}
		printf("專業:");
		scanf("%d", &stu[i].com);
		while (stu[i].com<0 || stu[i].com>100)
		{
			printf("輸入只限1~100:");
			scanf("%d", &stu[i].com);
		}
		stu[i].sum=0;
		stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
		i++;
		printf("\n新增完畢!  目前共有%d名學生!\n按1回到主介面!按2繼續新增資訊!按其他鍵退出程式!  ",i);
		scanf("%d", &a);
	}while(a==2);
	if (a == 1)
	{
		system("cls");
		menu();
	}
	if (a != 1)
	{
		printf("\n退出系統中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//*********************
//*********************
//*********************
int xiugai(void)      //修改資訊 
{
	int a;
	printf("\n----------------------------------------------------\n");
	printf("\t      ───修改資訊───\n\n");
	printf("\t        ┌──────┐\n");
	printf("\t        │1.按學號修改│\n");
	printf("\t        │            │\n");
	printf("\t        │2.按姓名修改│\n");
	printf("\t        │            │\n");
	printf("\t        │3.返回      │\n");
	printf("\t        └──────┘\n");
	printf("\t  請選擇修改方式:");
	scanf("%d", &a);
	while (a<1 || a>3)
	{
		printf("輸入錯誤~請重新輸入:");
		scanf("%d", &a);
	}
	if (a == 1)
	{
		idxiugai();   //按學號方式修改 
	}
	if (a == 2)
	{
		namexiugai();   //按姓名方式修改 
	}
	if (a == 3)
	{
		system("cls");   
		menu();
	}
	return 0;
}
//**************************
//**************************
//**************************
int chaxun(void)   //查詢資訊
{
	int a;
	printf("----------------------------------------------------\n");
	printf("\t      ───查詢資訊───\n");
	printf("\t  ┌─────────────┐ \n");
	printf("\t  │1.按學號查詢  2.按姓名查詢│ \n");
	printf("\t  │                          │ \n");
	printf("\t  │3.全部顯示    4.返回      │ \n");
	printf("\t  └─────────────┘ \n");
	printf("\t  請輸入你的選擇:");
	scanf("%d", &a);
	while(a<1||a>3)
	{
		printf("\t  請輸入你的選擇:");
		scanf("%d",&a);
	} 
	if (a == 1)
	{
		idchaxun();    //按學號方式查詢 
	}
	if (a == 2)
	{
		namechaxun();  //按姓名方式查詢 
	}
	if (a == 3)
	{
		quanbuxianshi();  //全部顯示 
	}
	if (a == 4)
	{
		system("cls");
		menu();
	}
}
//******************************
//******************************
//******************************
int idchaxun(void)    //按學號查詢
{
	int i,j,a;
	printf("\t  請輸入需要查詢的學號:");
	scanf("%d",&a);
	j=0;
	for(i=0;i<100;i++)
	{
		if(stu[i].id==a)
		{
			j=1;        //節點 
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n");
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
			stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
			printf("\n\n   輸入1返回主介面,按其他鍵退出程式! ");
			break; 
		}
	}
	if(j==0)   //節點沒變說明沒有查詢到結果 
	{
		printf("\t  對不起,記錄中沒有此人!\n");
		printf("\n\n   輸入1返回主介面,按其他鍵退出程式! ");
	}
	scanf("%d",&a);
	if(a==1)
	{
		system("cls");
		menu();
	}
	if(a!=1)
	{
		printf("\n\t\t\t\t退出系統中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//******************************
//******************************
//******************************
int namechaxun(void)  //按姓名查詢
{
	char num[10];
	int i,j,a;
	printf("\t  請輸入需要查詢的姓名:");
	scanf("%s",num);
	j=0;
	for(i=0;i<10;i++)
	{
		if(strcmp(num,stu[i].name)==0)
		{
			j=1;
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n");
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
			stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
			printf("\n\n   輸入1返回主介面,按其他鍵退出程式! ");
			break;
		}
	}
	if(j==0)
	{
		printf("\t  對不起,記錄中沒有此人!");
		printf("\n\n  輸入1返回主介面,按其他鍵退出程式!  ");
	}
	scanf("%d",&a);
	if(a!=1)
	{
		printf("\n\t\t\t\t退出程式中...");
		Sleep(3000);
		exit(0);
	}
	if(a==1)
	{
		system("cls");
		menu();
	}
	return 0;
}
//******************************
//******************************
//******************************
int quanbuxianshi(void)  //全部顯示
{
	int a;
	printf("\n");
	printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
	printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n");
	printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
	for(j=0;j<i;j++)
	{
		printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[j].id, stu[j].name, stu[j].xin, stu[j].age,
		stu[j].yu, stu[j].shu, stu[j].yin, stu[j].com, stu[j].sum);
	}
	printf("\n\n   輸入1返回主介面,按其他鍵退出程式! ");
	scanf("%d", &a);
	if (a == 1)
	{
		system("cls");
		menu();
	}
	if (a != 1)
	{
		printf("\n\t\t\t\t\t退出程式中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//**************************
//**************************
//**************************
int idxiugai(void)  //按學號修改
{
	int i,a,j;
	printf("\t  請輸入需要修改的學號資訊:");
	scanf("%d",&a);
	while(a>100&&a<1)
	{
		printf("\t  輸入範圍為1~100:");
		scanf("%d",&a);
	}
	j=0;
	for(i=0;i<100;i++)
	{
		if(a==stu[i].id)
		{
			j=1;
			printf("請輸入修改後新的資訊:\n");
			printf("學號:");
			scanf("%d", &stu[i].id);
			while (stu[i].id<1 || stu[i].id>100)
			{
				printf("輸入範圍為1~100:");
				scanf("%d", &stu[i].id);
			}
			printf("姓名:");
			getchar();
			gets(stu[i].name);
			printf("性別:");
			gets(stu[i].xin);
			while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
			{
				printf("性別只限男女:");
				gets(stu[i].xin);
			}
			printf("年齡:");
			scanf("%d", &stu[i].age);
			while (stu[i].age <= 0 || stu[i].age>100)
			{
				printf("年齡只限1~100:");
				scanf("%d", &stu[i].age);
			}
			printf("語文:");
			scanf("%d", &stu[i].yu);
			while (stu[i].yu<0 || stu[i].yu>100)
			{
				printf("輸入只限0~100:");
				scanf("%d", &stu[i].yu);
			}
			printf("數學:");
			scanf("%d", &stu[i].shu);
			while (stu[i].shu<0 || stu[i].shu>100)
			{
				printf("輸入只限0~100:");
				scanf("%d", &stu[i].shu);
			}
			printf("英語:");
			scanf("%d", &stu[i].yin);
			while (stu[i].yin<0 || stu[i].yin>100)
			{
				printf("輸入只限0~100:");
				scanf("%d", &stu[i].yin);
			}
			printf("專業:");
			scanf("%d", &stu[i].com);
			while (stu[i].com<0 || stu[i].com>100)
			{
				printf("輸入只限1~100:");
				scanf("%d", &stu[i].com);
			}
			stu[i].sum=0;
			stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
			printf("\n修改完畢!\n\n按1返回主介面,按其他鍵退出程式!  ");
		}
	}
	if(j==0)
	{
		printf("\t  對不起,記錄中沒有此人!");
		printf("\n\n按1返回主介面,按其他鍵退出程式!  ");
	}
	scanf("%d",&a);
	if(a==1)
	{
		system("cls");
		menu();
	}
	if(a!=1)
	{
		printf("\n\t\t\t\t退出程式中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//**************************
//**************************
//**************************
int namexiugai(void)  //按姓名修改
{
	int a,i,j;
	char num[10];
	printf("\t  請輸入需要修改的名稱資訊:");
	scanf("%s",num);
	j=0;
	for(i=0;i<100;i++)
	{
		if(strcmp(num,stu[i].name)==0)
		{
			j=1;
			printf("請輸入修改後新的資訊:\n");
			printf("學號:");
			scanf("%d", &stu[i].id);

	。。。。。。。。
    。。。。。。。。
    。。。。。。。。
    如果需要購買全部程式碼,那麼請新增 qq:1294604252  青樹檸檬。
    如果不好用  當我啥也沒說 →_→ →_→
//嘿嘿  樓主第一次在這兒寫帖子,有什麼問題麻煩指出來哈! 多多關照O(∩_∩)O