真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語(yǔ)言課程設(shè)計(jì)|學(xué)生成績(jī)管理系統(tǒng)(含完整代碼)-創(chuàng)新互聯(lián)

目錄

成都創(chuàng)新互聯(lián)公司公司2013年成立,先為陵水黎族等服務(wù)建站,陵水黎族等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為陵水黎族企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

前言

簡(jiǎn)介

學(xué)生信息錄入功能

學(xué)生單個(gè)信息查詢

查詢?nèi)繉W(xué)生信息

修改學(xué)生信息

刪除學(xué)生信息?

退出

完整代碼?


前言

在臨近期末之際,相信好多初學(xué)C語(yǔ)言的同學(xué)都開(kāi)始為寫(xiě)C語(yǔ)言課程設(shè)計(jì)這件事開(kāi)始焦慮了吧?或許會(huì)不知所措,或許會(huì)有所畏懼,亦或是對(duì)那幾百行的代碼望而止步了吧,畢竟這是作為程序員的第一個(gè)小項(xiàng)目——需要自己一個(gè)人著手去敲代碼、測(cè)試等操作,不過(guò)這些事情都不需要去害怕,我們?nèi)鄙俚牟⒉皇侵R(shí)的多少,根本原因是內(nèi)心深處是否有自信的存在,只要我們鼓起勇氣嘗試著做第一步、第二步,逐漸地熟能生巧就好了!今天我給大家?guī)?lái)一篇C語(yǔ)言課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng),希望能夠幫助大家以后在敲代碼的道路上越走越遠(yuǎn)。

簡(jiǎn)介

? 現(xiàn)在我們步入正題吧,主要來(lái)介紹一下改學(xué)生成績(jī)管理系統(tǒng)都運(yùn)用了哪些知識(shí)以及實(shí)現(xiàn)了哪些功能:首先是知識(shí)方面,主要是使用了簡(jiǎn)單的循環(huán)語(yǔ)句、函數(shù)、結(jié)構(gòu)體、鏈表存儲(chǔ)數(shù)據(jù);然后是功能方面,主要是學(xué)生信息錄入、學(xué)生單個(gè)信息查詢、查詢?nèi)繉W(xué)生信息、修改學(xué)生信息、刪除學(xué)生信息、退出系統(tǒng)。接下來(lái)就一起來(lái)看代碼吧!

學(xué)生信息錄入功能
void Add(){
	system("cls");
	int count;
	printf("請(qǐng)輸入要錄入信息的個(gè)數(shù):");
	scanf("%d",&count);
	struct Student *s1,*s2,*temp;
	s1=s2=(struct Student*)malloc(LEN);
	if(head==NULL){
		head = s1;
	}else{
		end->next = s1 ;
	}
	int i = 1;	
	while(count>0){
		printf("請(qǐng)輸入第%d位學(xué)生信息:\n",i++);
		printf("學(xué)號(hào):\n");
		scanf("%s",&s1->number);
		printf("姓名:\n");
		scanf("%s",&s1->name);
		printf("性別:\n");
		scanf("%s",&s1->sex);
		printf("語(yǔ)文成績(jī):\n");
		scanf("%d",&s1->Chinese);
		printf("數(shù)學(xué)成績(jī):\n");
		scanf("%d",&s1->Math);
		printf("英語(yǔ)成績(jī):\n");
		scanf("%d",&s1->English);
		count--;
		s2->next=s1;
		s2=s1;
		s1=(struct Student*)malloc(LEN);
		printf("添加成功!\n");
		system("pause");
		system("cls");
	}
	s2->next= NULL;
	end = s2;
	printf("全部添加成功!\n");
	system("pause");
}

學(xué)生單個(gè)信息查詢

函數(shù)作用:有目的性地尋找學(xué)生的所有信息。

實(shí)現(xiàn)方法:將鏈表中的數(shù)據(jù)一一遍歷,與所輸入的數(shù)據(jù)進(jìn)行對(duì)比,若匹配成功,則將該指針?biāo)赶蚪Y(jié)構(gòu)體中的數(shù)據(jù)輸出。

void View(){
	system("cls");
	struct Student *VS;
	printf("輸入要查詢信息的學(xué)生學(xué)號(hào):\n");
	char num[10];
	int flag=1;
	scanf("%s",&num);
	for(VS=head;VS!=NULL;){
		if(strcmp(VS->number,num)==0){
			printf("成功找到!\n");
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",VS->number,VS->name,VS->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d",VS->Chinese,VS->Math,VS->English);
			flag=0;
			break;
		}
		VS=VS->next;
	}
	if(flag){
		printf("不好意思,未找到!\n");
	}
	system("pause");
}

查詢?nèi)繉W(xué)生信息

函數(shù)作用:將學(xué)生信息管理系統(tǒng)中所有數(shù)據(jù)呈現(xiàn)出來(lái)。

實(shí)現(xiàn)方法:定義一個(gè)結(jié)構(gòu)體指針變量(局部變量)VA,將頭指針head賦值給VA,通過(guò)循環(huán)輸出pt指針?biāo)赶虻慕Y(jié)構(gòu)體,并將所指向結(jié)構(gòu)體中的next所指向的地址賦值給VA,從而實(shí)現(xiàn)對(duì)下一個(gè)結(jié)構(gòu)體的訪問(wèn)。

void ViewAll(){
	system("cls");
	struct Student *VA;
	if(head!=NULL){
		printf("所有學(xué)生成績(jī)?nèi)缦拢篭n");
		for(VA=head;VA!=NULL;){
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",VA->number,VA->name,VA->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d\n",VA->Chinese,VA->Math,VA->English);
			VA=VA->next; 
		}
	}else{
		printf("該系統(tǒng)中還未錄入信息");
	}	
	system("pause");
}

修改學(xué)生信息
void Repair(){
	system("cls");
	struct Student *RS;
	char num[10];
	int flag = 1;
	printf("輸入要修改成績(jī)學(xué)生的學(xué)號(hào):\n");
	scanf("%s",num);
	for(RS=head;RS!=NULL;){
		if(strcmp(RS->number,num)==0){
			printf("成功找到該學(xué)生");
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",RS->number,RS->name,RS->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d\n",RS->Chinese,RS->Math,RS->English);
			flag = 0;
			printf("學(xué)號(hào):\n");
			scanf("%s",&RS->number);
			printf("姓名:\n");
			scanf("%s",&RS->name);
			printf("性別:\n");
			scanf("%s",&RS->sex);
			printf("語(yǔ)文成績(jī):\n");
			scanf("%d",&RS->Chinese);
			printf("數(shù)學(xué)成績(jī):\n");
			scanf("%d",&RS->Math);
			printf("英語(yǔ)成績(jī):\n");
			scanf("%d",&RS->English);
			printf("修改成功");
			system("pause");
		}
		RS=RS->next;
	}
	if(flag){
		printf("輸入信息有誤,未查詢到");
		system("pause");
	}
}

刪除學(xué)生信息?

函數(shù)作用:有目的性地刪除一些失效信息

實(shí)現(xiàn)方法:依然是通過(guò)遍歷找到想要?jiǎng)h除的指針,不過(guò)在這之前應(yīng)該定義一個(gè)結(jié)構(gòu)體指針用來(lái)獲取DS的地址。其目的是為了能夠在刪除該指針之前將該指針之前的數(shù)據(jù)與之后的數(shù)據(jù)能夠連接起來(lái)。

void Delete(){
	system("cls");
	int flag =1;
	while(flag){
		printf("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):");
		char num[10];
		scanf("%s",&num);
		struct Student * DS,*temp;
		for(DS=head;DS!=NULL;){
			if(strcmp(DS->number,num)==0){
				if(DS==head){
					head = DS->next;
					flag = 0;
					printf("刪除成功!\n");
					system("pause");
				}else{
					flag = 0;
					printf("刪除成功!\n");
					temp->next= DS->next;
					free(DS);
					system("pause");
				}
				
			}
			temp = DS;
			DS=DS->next;
		}
		if(flag){
			printf("未找到該學(xué)生學(xué)號(hào)!\n");
			system("pause");
		}
	}
}

退出

exit(0),簡(jiǎn)單的皮一下!?

完整代碼?

本次由于時(shí)間的原因,所以未對(duì)所有代碼作詳解 ,希望大家可以理解。不過(guò)大家如果有不理解的地方或者代碼有誤的地方,都可以私聊我,隨時(shí)為你解答。

#include#include#include#define LEN sizeof(struct Student)
struct Student{
	char number[20];		//學(xué)號(hào) 
	char name[10];		//姓名 
	char sex[4];			//性別 
	int Chinese;			//語(yǔ)文成績(jī) 
	int Math;				//數(shù)學(xué)成績(jī) 
	int English;			//英語(yǔ)成績(jī) 
	struct Student* next;	//指向下一個(gè)數(shù)據(jù)的指針 
};
struct Student* head = NULL;
struct Student* end = NULL;
 void Menu(){
 	void Menu();
	void Add();
	void View();
	void Delete();
	void Repair();
	void ViewAll();
	system("cls");
	printf("1、學(xué)生信息錄入\n");
	printf("2、學(xué)生單個(gè)成績(jī)查詢\n");
	printf("3、查詢?nèi)繉W(xué)生成績(jī)\n");
	printf("4、修改學(xué)生信息\n");
	printf("5、刪除學(xué)生信息\n");
	printf("6、退出系統(tǒng)\n");
	int choice;
	printf("請(qǐng)選擇要使用的功能:\n");
	loop:
	scanf("%d",&choice);
	switch (choice) {
	case 1:
		Add();
		Menu();
	case 2:
		View();
		Menu();
	case 3:
		ViewAll();
		Menu();
	case 4:
		Repair();
		Menu();
	case 5:
		Delete();
		Menu();
	case 6:
		exit(0);
	default:
			printf("輸入有誤,請(qǐng)重新選擇:");
			goto loop;	
	}
} 

void Add(){
	system("cls");
	int count;
	printf("請(qǐng)輸入要錄入信息的個(gè)數(shù):");
	scanf("%d",&count);
	struct Student *s1,*s2,*temp;
	s1=s2=(struct Student*)malloc(LEN);
	if(head==NULL){
		head = s1;
	}else{
		end->next = s1 ;
	}
	int i = 1;	
	while(count>0){
		printf("請(qǐng)輸入第%d位學(xué)生信息:\n",i++);
		printf("學(xué)號(hào):\n");
		scanf("%s",&s1->number);
		printf("姓名:\n");
		scanf("%s",&s1->name);
		printf("性別:\n");
		scanf("%s",&s1->sex);
		printf("語(yǔ)文成績(jī):\n");
		scanf("%d",&s1->Chinese);
		printf("數(shù)學(xué)成績(jī):\n");
		scanf("%d",&s1->Math);
		printf("英語(yǔ)成績(jī):\n");
		scanf("%d",&s1->English);
		count--;
		s2->next=s1;
		s2=s1;
		s1=(struct Student*)malloc(LEN);
		printf("添加成功!\n");
		system("pause");
		system("cls");
	}
	s2->next= NULL;
	end = s2;
	printf("全部添加成功!\n");
	system("pause");
}
void View(){
	system("cls");
	struct Student *VS;
	printf("輸入要查詢信息的學(xué)生學(xué)號(hào):\n");
	char num[10];
	int flag=1;
	scanf("%s",&num);
	for(VS=head;VS!=NULL;){
		if(strcmp(VS->number,num)==0){
			printf("成功找到!\n");
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",VS->number,VS->name,VS->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d",VS->Chinese,VS->Math,VS->English);
			flag=0;
			break;
		}
		VS=VS->next;
	}
	if(flag){
		printf("不好意思,未找到!\n");
	}
	system("pause");
}
void ViewAll(){
	system("cls");
	struct Student *VA;
	if(head!=NULL){
		printf("所有學(xué)生成績(jī)?nèi)缦拢篭n");
		for(VA=head;VA!=NULL;){
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",VA->number,VA->name,VA->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d\n",VA->Chinese,VA->Math,VA->English);
			VA=VA->next; 
		}
	}else{
		printf("該系統(tǒng)中還未錄入信息");
	}	
	system("pause");
}
void Repair(){
	system("cls");
	struct Student *RS;
	char num[10];
	int flag = 1;
	printf("輸入要修改成績(jī)學(xué)生的學(xué)號(hào):\n");
	scanf("%s",num);
	for(RS=head;RS!=NULL;){
		if(strcmp(RS->number,num)==0){
			printf("成功找到該學(xué)生");
			printf("學(xué)號(hào):%s\t姓名:%s\t性別:%s\n",RS->number,RS->name,RS->sex);
			printf("語(yǔ)文:%d\t數(shù)學(xué):%d\t英語(yǔ):%d\n",RS->Chinese,RS->Math,RS->English);
			flag = 0;
			printf("學(xué)號(hào):\n");
			scanf("%s",&RS->number);
			printf("姓名:\n");
			scanf("%s",&RS->name);
			printf("性別:\n");
			scanf("%s",&RS->sex);
			printf("語(yǔ)文成績(jī):\n");
			scanf("%d",&RS->Chinese);
			printf("數(shù)學(xué)成績(jī):\n");
			scanf("%d",&RS->Math);
			printf("英語(yǔ)成績(jī):\n");
			scanf("%d",&RS->English);
			printf("修改成功");
			system("pause");
		}
		RS=RS->next;
	}
	if(flag){
		printf("輸入信息有誤,未查詢到");
		system("pause");
	}
}
void Delete(){
	system("cls");
	int flag =1;
	while(flag){
		printf("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):");
		char num[10];
		scanf("%s",&num);
		struct Student * DS,*temp;
		for(DS=head;DS!=NULL;){
			if(strcmp(DS->number,num)==0){
				if(DS==head){
					head = DS->next;
					flag = 0;
					printf("刪除成功!\n");
					system("pause");
				}else{
					flag = 0;
					printf("刪除成功!\n");
					temp->next= DS->next;
					free(DS);
					system("pause");
				}
				
			}
			temp = DS;
			DS=DS->next;
		}
		if(flag){
			printf("未找到該學(xué)生學(xué)號(hào)!\n");
			system("pause");
		}
	}
}
	
int main(){
	void Menu();
	void Add();
	void View();
	void Delete();
	void Repair();
	void ViewAll();
	Menu();
	
}

創(chuàng)作不易,給個(gè)三連吧?

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


分享文章:C語(yǔ)言課程設(shè)計(jì)|學(xué)生成績(jī)管理系統(tǒng)(含完整代碼)-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/cdjgss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部