运行环境 devc++

需创建如下目录文件:d:\\code.txt

代码如下:

#include <stdio.h>
#include <stdlib.h> 
#include <string.h>
#include <conio.h>
#include <ctype.h> 
#include<windows.h> 

struct Teacher{
	char num[20];
	char pass[20];
};
typedef struct Teacher teach;

char teachernum2[20]; 

struct Node{
	char pass[10];
	int class_num; 
	char name[30];
	char stunum[10];
	char phonenumber[20];
	char addres[30];
	int math;
	int english;
	int cyuyan;
	int sum;
	struct Node *next;
};
typedef struct Node *node;
int count=0;

node creat();//创建一个链表 录入学生信息
node delet(node phead);//根据班内序号从链表中删除一个学生 信息
int teacher_find(node phead);//从链表中根据班内序号查找一个学生信息
int stu_find(node phead);
node insert(node phead);//从链表中根据班内 
void stu_read();
void stu_score_read();
int teacher();
int stu_showpass(node temp);
int student(node phead);
int teacher_showpass();
int teachernum();
int change_teacherpass();
int change_severpass();
int change_severpass();
int input_stu_score();
int main1();
int main2();
int menu1_1();
int menu1_2();
int main();
int change_stu_score(node phead); 
int sort_score();
int score_print();
void showwelcome();
void SetColor(int foreColor,int backColor);


node creat(){
	node phead,pend,pnew,t;
	phead=(node)malloc(sizeof(struct Node));
	phead->next=NULL;
	pend=phead;
	printf("输入要录入学生的个数");
	scanf("%d",&phead->class_num);
	printf("接下来请依次输入%d个学生信息\n",phead->class_num);
	printf("请输入学生以下信息:\n");
	for(int i=1;i<=phead->class_num;i++){
		pnew=(node)malloc(sizeof(struct Node));
		printf("\t班内序号:");
		scanf("%d",&pnew->class_num);
		printf("\t姓名:");
		scanf("%s",pnew->name);
		printf("\t学号:");
		scanf("%s",pnew->stunum);
		//检验学号是否重复 
		for(int i=0;i<count;i++)
		{	
			t=phead->next;
			if(strcmp(t->stunum,pnew->stunum)==0)
			{
				printf("学号错误!请从新输入!\n");
				printf("\t学号:");
				scanf("%s",pnew->stunum);
				break;
			}
		}
		strcpy(pnew->pass,pnew->stunum);
		printf("\t电话:");
		scanf("%s",pnew->phonenumber);
		printf("\t住址:");
		scanf("%s",pnew->addres);
		printf("_____________________\n");	
		pnew->math = 0;
		pnew->english = 0;
		pnew->cyuyan = 0;
		pnew->sum = pnew->math + pnew->english + pnew->cyuyan;
		pnew->next=NULL;
		pend->next=pnew;
		pend=pnew;
		count++;
	}
	return phead;
}
void save(node phead){
	node temp;
	char filename[30]={"d:\\code.txt"};
	FILE *fp;
	if((fp=fopen(filename,"at+"))==NULL){
		
		printf("写文件时出错,按任意键退出!");
		exit(1);
	}
	for(temp=phead->next;temp!=NULL;temp=temp->next) {
		fprintf(fp,"%d %s %s %s %s %s %d %d %d %d\n",temp->class_num,temp->pass,
			temp->name,temp->stunum,temp->phonenumber,
			temp->addres,temp->math,temp->english,temp->cyuyan,temp->sum);
	}
	printf("文件保存成功!按任意键退出!");
	fclose(fp);
}
void stu_read(){
	FILE *fp=fopen("d:\\code.txt","rt");
	char name[30];
	char pass[20];
	int class_num;
	char stunum[8];
	char phonenumber[20];
	char addres[30];
	int i = 1;
	int math,english,cyuyan,sum;
	if(fp == NULL){
		printf("文件打开失败!");
		return ;
	}
	printf("    ________________________________________________\n");
	while(fscanf(fp,"%d %s %s %s %s %s %d %d %d %d",&class_num,pass,name,stunum,
		phonenumber,addres,&math,&english,&cyuyan,&sum)!=EOF){
	printf("  第丨\t班内序号:%d\t密码:%s\n",class_num,pass);
	printf("   %d丨\t姓名:%s\n",i++,name);
	printf("  个丨\t学号:%s\n",stunum);
	printf("  学丨\t电话:%s\n",phonenumber);
	printf("  生丨\t住址:%s\n",addres);
	printf("    ________________________________________________\n");
	}
	fclose(fp);
	count=i;
} 

int teacher_find(node phead){
	node temp=phead->next;
	char xh[100];
	printf("\n\t\t请输入学号:");
	scanf("%s",xh);
	temp = phead->next;
	while(strcmp(xh,temp->stunum)!=0&&temp->next!=NULL)
		temp = temp->next;
	if(strcmp(xh,temp->stunum) == 0){
	printf("\n\n\n\t\t\t这个学生的信息如下\n\n\n");
		printf("\t\t _______________________________________________\n");
	printf("\t\t丨\t班内序号:%d\t密码:%s\t\t丨\n",temp->class_num,temp->pass);
	printf("\t\t丨\t姓名:%s\t\t\t\t丨\n",temp->name);
	printf("\t\t丨\t学号:%s\t\t\t\t丨\n",temp->stunum);
	printf("\t\t丨\t电话:%s\t\t\t\t丨\n",temp->phonenumber);
	printf("\t\t丨\t住址:%s\t\t\t\t丨\n",temp->addres);
	printf("\t\t _______________________________________________\n");
	}
	else{ 
		system("cls");
		printf("\n\n\t\t\t学号输入错误!\n"); 
		} 
	} 

int teachernum(){
	teach teachernum;
	int i;
	FILE *fp;
	printf("\n\n\n\n\n\t\t\t\t教师账号:");
	scanf("%s",teachernum.num);
	printf("\t\t\t\t教师密码:");
	scanf("%s",teachernum.pass);
	fp = fopen("d://teacher.txt","wt+");
	fprintf(fp,"%s %s\n",teachernum.num,teachernum.pass);
	fclose(fp);
	system("cls");
}


int change_teacherpass(){
	teach teachernum;
	int i;
	FILE *fp1;
	fp1 = fopen("d://teacher.txt","rt");
	fscanf(fp1,"%s%s",teachernum.num,teachernum.pass);
	fclose(fp1);
	FILE *fp2;
	printf("\n\n\n\n\n\t\t\t\t教师账号:%s\n",teachernum.num);
	printf("\t\t\t\t更改密码:");
	scanf("%s",teachernum.pass);
	fp2 = fopen("d://teacher.txt","wt+");
	fprintf(fp2,"%s %s\n",teachernum.num,teachernum.pass);
	fclose(fp2);
	system("cls");
}
/*
int change_severpass(){
	seve severnum;
	int i;
	FILE *fp1;
	fp1 = fopen("d://sever.txt","rt");
	fscanf(fp1,"%s%s",severnum.sever_num,severnum.sever_pass);
	fclose(fp1);
	FILE *fp2;
	printf("\n\n\n\n\n\t\t\t\t管理员账号:%s\n",severnum.sever_num);
	printf("\t\t\t\t更改密码:");
	scanf("%s",severnum.sever_pass);
	fp2 = fopen("d://sever.txt","wt");
	fprintf(fp2,"%s %s\n",severnum.sever_num,severnum.sever_pass);
	fclose(fp2);
	system("cls");
}
*/

int teacher_showpass(){
	char pass[100];
	char c;
	int i = 0;
	teach teachernum1;
	FILE *fp;
	fp = fopen("d://teacher.txt","rt");
	fscanf(fp,"%s%s",teachernum1.num,teachernum1.pass);
	strcpy(teachernum2,teachernum1.num);
	do{
		i = 0;
		system("cls");
		printf("\n\n\n\n\n\t\t\t\t账号:%s\n",teachernum1.num);
			printf("\n\n");
		printf("\t\t\t\t密码: ");
		while((c = getch())!= '\r')
		{
			if(i<100&&isprint(c)){
			pass[i] = c;
			putchar('*');
		    i++;
			}
			else if(i>0&&c == '\b'){
				i--;
				putchar('\b');
				putchar(' ');
				putchar('\b');
			}
		}
		pass[i] = '\0';
		printf("\n");
	}while(strcmp(teachernum1.pass,pass));
	system("cls");
}


int stu_showpass(node temp){
	char pass[100];
	char c;
	int i=0;
	do{
		i = 0;
		system("cls");
		
		printf("\n\n\n\n\t\t\t\t账号:%s\n",temp->stunum);
		printf("\n\n");
		printf("\t\t\t\t密码: ");
		while((c = getch())!= '\r')
		{
			if(i<100&&isprint(c)){
			pass[i] = c;
			putchar('*');
			i++;
			}
			else if(i>0&&c == '\b')
			{
				i--;
				putchar('\b');
				putchar(' ');
				putchar('\b');
			} 
		} 
		printf("\n");
		pass[i] = '\0';
	}while(strcmp(temp->pass,pass));
	system("cls");
}


node stu_temp;

int stu_find(node phead)
{
	node temp=phead->next;
	char number[10];
		printf("\n\n\n\t\t\t请输入学号:");
	scanf("%s",number);
	while(strcmp(number,temp->stunum)&&temp)
		temp=temp->next;
	if(temp == NULL)
	printf("请输入正确学号!\n");
	else
	{ 
	stu_showpass(temp);
	stu_temp = temp;
	printf("\n\n\n\t\t\t学生的信息如下\n");
	printf("\t\t\t\t\t班内序号:%d\n",temp->class_num);
	printf("\t\t\t\t\t姓名:%s\n",temp->name);
	printf("\t\t\t\t\t学号:%s\n",temp->stunum);
	printf("\t\t\t\t\t电话:%s\n",temp->phonenumber);
	printf("\t\t\t\t\t住址:%s\n",temp->addres);
	printf("\t\t\t\t\t数学:%d\n",temp->math);
	printf("\t\t\t\t\t英语:%d\n",temp->english);
	printf("\t\t\t\t\tC语言:%d\n",temp->cyuyan);
	printf("\t\t\t\t\t总分:%d\n",temp->sum);
	printf("\t\t\t________________________________________________\n");
	} 
}

node seek()
{
	FILE *fp;
	count = 0;
	fp = fopen("d:\\code.txt","rt");
	if(fp == NULL){
		printf("文件打开失败!");
		exit(1);
	}
	node phead,pend,pnew;
	phead=(node)malloc(sizeof(struct Node));
	phead->next=NULL;
	pend=phead;
	struct Node temp;
	while(fscanf(fp,"%d %s %s %s %s %s %d %d %d %d",&temp.class_num,temp.pass, temp.name,
		temp.stunum,temp.phonenumber,temp.addres,&temp.math,&temp.english,&temp.cyuyan,
		&temp.sum) == 10)
	{
		pnew=(node)malloc(sizeof(struct Node));
		*pnew = temp;
		pend->next=pnew;
		pnew->next=NULL;
		pend = pnew;
		count++;
	}
	
	fclose(fp);
	return phead;
}

node seek_score()
{
	FILE *fp;
	fp = fopen("d:\\score.txt","rt");
	if(fp == NULL){
		printf("文件打开失败!");
		exit(1);
	}
	node phead,pend,pnew;
	phead=(node)malloc(sizeof(struct Node));
	phead->next=NULL;
	pend=phead;
	struct Node temp;
	while(fscanf(fp,"%d %s %s %s %s %s %d %d %d %d",&temp.class_num,temp.pass, temp.name,
		temp.stunum,temp.phonenumber,temp.addres,&temp.math,&temp.english,&temp.cyuyan,
		&temp.sum) == 10)
	{
		pnew=(node)malloc(sizeof(struct Node));
		*pnew = temp;
		pend->next=pnew;
		pnew->next=NULL;
		pend = pnew;
	}
	fclose(fp);
	return phead;
}

node print(node phead)
{
	node temp=NULL;
	temp=phead->next;
	int k=1;
	printf("一共有%d个学生\n",count);
	for(int i=1;i<=count;i++){ 
	printf("第%d个学生\n",k++);
	printf("\t\t\t\t\t班内序号:%d\t密码:%s\n",temp->class_num,temp->pass);
	printf("\t\t\t\t\t姓名:%s\n",temp->name);
	printf("\t\t\t\t\t学号:%s\n",temp->stunum);
	printf("\t\t\t\t\t电话:%s\n",temp->phonenumber);
	printf("\t\t\t\t\t住址:%s\n",temp->addres);
	printf("\t\t\t________________________________________________\n");
	temp=temp->next;
	} 
}

node insert(node phead)
{
	node pre,pnew,t;
	pre=phead;
	int k,f = 1;
	printf("已保存%d个学生\n",count);	
	printf("输入要插入的班内序号的后面\n");
	scanf("%d",&k);
	while(pre->class_num != k)
	pre=pre->next;
	pnew=(node)malloc(sizeof(struct Node));
	pnew->next=NULL;
	printf("请输入该学生信息:\n");
		printf("\t班内序号:");
		scanf("%d",&pnew->class_num);
		printf("\t密码:");
		scanf("%s",&pnew->pass);
		printf("\t姓名:");
		scanf("%s",pnew->name);
		printf("\t学号:");
		scanf("%s",pnew->stunum);
		//检验学号是否重复 
		while(f)
		{ 
		for(int i=0;i<count;i++)
			{	
			t=phead->next;
			if(strcmp(t->stunum,pnew->stunum)==0)
			{
				printf("学号错误!请从新输入!\n");
				printf("\t学号:");
				scanf("%s",pnew->stunum);
				break;
			}
			else
			f = 0; 
			}
		} 
		printf("\t电话:");
		scanf("%s",pnew->phonenumber);
		printf("\t住址:");
		scanf("%s",pnew->addres);
	pnew->math = 0;
	pnew->english = 0;
	pnew->cyuyan = 0;
	pnew->sum = pnew->math + pnew->english + pnew->cyuyan;	
	count++;
	pnew->next=pre->next;
	pre->next=pnew;
	print(phead);
	getchar();
	return phead;
}


node delet(node phead)
{
	int number;
	node pd,temp=phead->next,t;
	printf("请输入想要删除的班内序号:\n");
	scanf("%d",&number);
	t = phead;
	while(temp->class_num!=number)
	{
		t = temp;
		temp=temp->next;
	}
	if(temp == NULL)
	printf("你要删除的学生不存在!\n");
	else if(temp->next == NULL)
	{
		t->next = NULL;
		free(temp);
	}
	else if(temp == phead->next)
	{
		phead->next = temp->next;
		free(temp);
		count--;
	}
	else
	{ 
	pd=temp->next;
	temp->next=pd->next;
	free(pd);
	count--;
	}
	return phead;
}



void delet_save(node phead)
{
	node temp;
	char filename[30]={"d:\\code.txt"};
	FILE *fp;
	if((fp=fopen(filename,"w+"))==NULL){
		//打开文件方式‘w’可以把文件内容清空在写内容 
		printf("写文件时出错,按任意键退出!");
		exit(1);
	}
	for(temp=phead->next;temp!=NULL;temp=temp->next) {
		fprintf(fp,"%d %s %s %s %s %s %d %d %d %d\n",temp->class_num,temp->pass,
			temp->name,temp->stunum,temp->phonenumber,temp->addres,temp->math,
			temp->english,temp->cyuyan,temp->sum);
	}
	printf("保存成功!");
	fclose(fp);
}

int input_stu_score()
{
	node phead,temp;
	char xh[10];
	phead = seek();
	printf("\n\t\t请输入学号:");
	scanf("%s",xh);
	temp = phead->next;
	while(strcmp(xh,temp->stunum)!=0&&temp->next!=NULL)
		temp = temp->next;
		if(strcmp(xh,temp->stunum) == 0){
		printf("\n\n\t\t\t数学:");
		scanf("%d",&temp->math);
		printf("\t\t\t英语:");
		scanf("%d",&temp->english); 
		printf("\t\t\tC语言:");
		scanf("%d",&temp->cyuyan);
		temp->sum = temp->math + temp->english + temp->cyuyan;
	
		delet_save(phead);
		sort_score();//对新录入的成绩进行排序
		main2();
	    }
		else{ 
		system("cls");
		printf("\n\n\t\t\t输入错误,请重新输入\n"); 
		input_stu_score();
		} 
} 


void stu_score_read()
{
	FILE *fp=fopen("d:\\code.txt","rt");
	char name[30];
	char pass[20];
	int class_num;
	char stunum[8];
	char phonenumber[20];
	char addres[30];
	int i = 1;
	int math,english,cyuyan,sum;
	if(fp == NULL){
		printf("文件打开失败!");
		return ;
	}

	printf("     _______________________________________________\n");
	while(fscanf(fp,"%d %s %s %s %s %s %d %d %d %d",&class_num,pass,name,stunum,
		phonenumber,addres,&math,&english,&cyuyan,&sum)!=EOF){
	printf("  第丨\t姓名:%s\n",name);
	printf("   %d丨\t学号:%s\n",i++,stunum);
	printf("  个丨\t数学:%d\n",math);
	printf("    丨\t英语:%d\n",english);
	printf("  学丨\tC语言:%d\n",cyuyan);
	printf("  生丨\t总分:%d\n",sum);
	printf("     _______________________________________________\n");
	}
	fclose(fp);
}

int change_stu_score(node phead)
{
	node temp=phead->next;
	char number[10];
	printf("\n\n\n\t\t\t请输入学号:");
	scanf("%s",number);
	while(strcmp(number,temp->stunum)&&temp)
		temp=temp->next;
	if(temp == NULL)
	printf("请输入正确学号!\n");
	else
	{ 
		printf("\t班内序号:%d\n",temp->class_num);
		printf("\t姓名:%s\n",temp->name);
		printf("\t数学:");
		scanf("%d",&temp->math);
		printf("\n\t英语:");
		scanf("%d",&temp->english);
		printf("\n\tC语言:");
		scanf("%d",&temp->cyuyan);
		temp->sum = temp->math + temp->english + temp->cyuyan;
		delet_save(phead);
	}
}

int sort_score()
{
	node phead;
	phead = seek();
	node temp1,temp2,t;
	temp1 = phead->next;
	t = (node)malloc(sizeof(struct Node));
	while(temp1->next != NULL)
	{	
		temp2 = temp1->next;
		while(temp2 != NULL)
		{
			if(temp1->sum < temp2->sum)
			{
				strcpy(t->name,temp2->name);
				strcpy(temp2->name,temp1->name);
				strcpy(temp1->name,t->name);
				t->math = temp1->math;
				temp1->math = temp2->math;
				temp2->math = t->math;
				t->english = temp1->english;
				temp1->english = temp2->english;
				temp2->english = t->english;
				t->cyuyan = temp1->cyuyan;
				temp1->cyuyan = temp2->cyuyan;
				temp2->cyuyan = t->cyuyan;
				t->sum = temp1->sum;
				temp1->sum = temp2->sum;
				temp2->sum = t->sum;
			}
			temp2 = temp2->next;
		}
		temp1 = temp1->next;
	}
	
	node temp = phead->next;;
	FILE *fp;
	fp = fopen("d:\\score.txt","wt+");
	while(temp != NULL)
	{ 
	fprintf(fp,"%d %s %s %s %s %s %d %d %d %d\n",temp->class_num,temp->pass,
			temp->name,temp->stunum,temp->phonenumber,temp->addres,temp->math,
			temp->english,temp->cyuyan,temp->sum);
			temp = temp->next;
	} 
	
		fclose(fp);	

	free(t);
}

int score_print(){
	node phead,temp;
	phead = seek_score();
	printf("\n\n\n");
	printf("%s %-11s%-11s%-11s%-11s%s\n",
	"名次","姓名","数学","英语","C语言","总分");
	temp = phead->next;
	int i = 1;
	if(temp == NULL)
	printf("asdasd");
	while(temp != NULL)
	{
		printf(" %d ",i++);
		printf("%5s",temp->name);
		printf(" %10d",temp->math);
		printf(" %10d",temp->english);
		printf(" %10d",temp->cyuyan);
		printf(" %10d\n",temp->sum);
		temp = temp->next;
	}	
}


int menu1_2()
{
	int flag; 
	system("cls");
	printf("\n\n\n\n\n\n");
	printf("\t\t\t\t学生成绩系统\n\n");
	printf("\t\t%-16s","1.输入学生成绩");
	printf("\t\t%s\n\n","2.删除学生信息");
	printf("\t\t%-16s","3.修改学生成绩");
	printf("\t\t%s\n\n","4.查看学生成绩");
	printf("\t\t%-16s","5.查看成绩排名");
	printf("\t\t%s\n\n","0.返回");
	printf("\n\n\t\t请输入序号:");
	char flag1[1000];
	scanf("%s", &flag1);

		if (strcmp(flag1, "1") == 0) flag = 1;

		else if (strcmp(flag1, "2") == 0) flag = 2;

		else if (strcmp(flag1, "3") == 0) flag = 3;

		else if (strcmp(flag1, "4") == 0) flag = 4;

		else if (strcmp(flag1, "5") == 0) flag = 5;

		else if (strcmp(flag1, "0") == 0) flag = 0;
		
		else 
			main2();
 
	return flag;
}

int main2()//学生成绩 系统
{ 
	int choice=1;
	node phead;
	while(choice){
	choice=menu1_2();
	switch(choice){
		case 1:
				system("cls");
		input_stu_score();
				system("pause");
			break;
		case 2:
				system("cls");
		phead=seek();
		phead=delet(phead);
		delet_save(phead);
				system("pause");
			break;
		case 3:
				system("cls");
		phead=seek();		
		change_stu_score(phead);
				system("pause");
			break;	
		case 4:
				system("cls");
		stu_score_read(); 
				system("pause");
			break;
		case 5:
				system("cls");
		score_print();
				system("pause");
			break;	
		case 0:
			main();
		default :
			system("cls");
		printf("\n\n\n\n\t\t\t\t请输入(0-5)\n");
			system("pause"); 
			break;
	}
}
}

int menu1_1()
{
	int flag; 
	system("cls");
	printf("\n\n\n\n\n\n");
	printf("\t\t\t\t学生管理系统\n\n");
	printf("\t\t%-16s","1.教师登录");
	printf("\t\t%s\n\n","2.学生登录");
	printf("\t\t%-16s","3.教师注册");
	printf("\t\t%s\n\n","0.返回");
	printf("\n\n\t\t请输入序号:");
	char flag1[1000];
	scanf("%s", &flag1);

		if (strcmp(flag1, "1") == 0) flag = 1;

		else if (strcmp(flag1, "2") == 0) flag = 2;

		else if (strcmp(flag1, "3") == 0) flag = 3;

		else if (strcmp(flag1, "0") == 0) flag = 0;
		
		else 
			main1();
 
	return flag;
}



int main1()
{//学籍管理系统 
	int choice=1;
	node phead;
	while(choice){

	choice=menu1_1();
	
	switch(choice){
		case 1:
				system("cls");
		teacher_showpass();
		teacher();
				system("pause");
			break;
		case 2:
				system("cls");
		phead = seek();
		student(phead);
				system("pause");
			break;
		case 3:	
				system("cls");
		teachernum();	
				system("pause");
			break;
		case 0:
			main();
		default :
			system("cls");
		printf("\n\n\n\n\t\t\t\t请输入(0-5)\n");
			system("pause");
			break;
	}
	} 
}



int menu2()
{
	int flag; 
	system("cls");
	printf("\n\n\n\n\n");
	printf("\t\t\t\t教师账号:%s\n\n",teachernum2);
	printf("\t\t\t\t学生管理系统\n\n");
	printf("\t\t%-16s","1.学生信息录入");
	printf("\t\t%s\n\n","2.学生信息插入");
	printf("\t\t%-16s","3.学生信息删除");
	printf("\t\t%s\n\n","4.学生信息查询");
	printf("\t\t%-16s","5.查看已录信息");
	printf("\t\t%s","0.返回");
	printf("\n\n\t\t请输入序号:");
	char flag1[1000];
	scanf("%s", &flag1);

		if (strcmp(flag1, "1") == 0) flag = 1;

		else if (strcmp(flag1, "2") == 0) flag = 2;

		else if (strcmp(flag1, "3") == 0) flag = 3;

		else if (strcmp(flag1, "4") == 0) flag = 4;

		else if (strcmp(flag1, "5") == 0) flag = 5;
		
		else if (strcmp(flag1, "0") == 0) flag = 0;
		
		else 
			teacher();
 
	return flag;
}



int teacher()
{
	int choice = 1;
	node phead;
	while(choice){
	choice=menu2();
	switch(choice){
		case 1:
				system("cls");
		phead=creat();
		save(phead);
				system("pause");
			break;
		case 2:
				system("cls");
		phead=seek();
		phead=insert(phead);
		delet_save(phead);
				system("pause");
			break;
		case 3:
				system("cls");
		phead=seek();
		phead=delet(phead);
		delet_save(phead);
				system("pause");
			break;
		case 4:
				system("cls");
		phead=seek();
		teacher_find(phead);
				system("pause");
			break;
		case 5:
				system("cls");
		stu_read();
				system("pause");
			break;
		case 0:
			main1();
		default :
		printf("请输入(0-5)");
			break;
	}
}
}



int student(node phead){
	stu_find(phead);
	printf("\n\n");
	printf("\t------------------排名-----------------\n");
	score_print();
	printf("\n\n");
	char c[100]; 
	printf("信息是否有误?(1-修改/2-无误):");
	scanf("%s",c);
	if(strcmp(c , "1") == 0)
	{
		printf("\t班内序号:");
		scanf("%d",&stu_temp->class_num);
		printf("\t密码:");
		scanf("%s",stu_temp->pass);
		printf("\t姓名:");
		scanf("%s",stu_temp->name);
		printf("\t学号:");
		scanf("%s",stu_temp->stunum);
		printf("\t电话:");
		scanf("%s",stu_temp->phonenumber);
		printf("\t住址:");
		scanf("%s",stu_temp->addres);
		delet_save(phead);
	}
	else
	main1();
}


int menu(){
	int flag; 
	system("cls");
	printf("\n\n\n\n\n");
	printf("\t\t%-16s","1.学籍管理系统"); 
	printf("\t\t%s\n\n","2.成绩管理系统");	
	printf("\n\n\t\t请输入序号:");
	char flag1[1000];
	scanf("%s", &flag1);

		if (strcmp(flag1, "1") == 0) flag = 1;

		else if (strcmp(flag1, "2") == 0) flag = 2;
		
		else 
		main();
 
	return flag;
}

int main(){
	char t[100] = {"学生管理系统"};
	SetConsoleTitle(t);
	system("color F0");
	int choice = 1;
	while(choice){
	choice = menu();
	switch(choice){
		case 1:
			system("cls");
		main1();
		break; 
		case 2:
			system("cls");
		teacher_showpass();
		main2();
			break;
		default :
		printf("请输入(1、2)");
			break;
	}
	} 
}


void showwelcome(){
	COORD pos;
	pos.X = 20;
	pos.X = 20;
	HANDLE winHandle;
	winHandle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(winHandle,pos);
	printf("欢迎使用学生管理系统!\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
	system("pause");
} 

void SetColor(int foreColor,int backColor)
{
    HANDLE winHandle;//句柄
    winHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(winHandle,foreColor + backColor * 0x10);
    //设置文字颜色
}
//0-黑色 1-蓝色 2-绿色 3-浅绿色 4-红色 5-紫色 6-黄色 7-白色
//8-灰色 9-淡蓝色 10-淡绿色 11-淡浅绿色 12-淡红色 13-淡紫色
//14-淡黄色 15-亮白色

 

Logo

快速构建 Web 应用程序

更多推荐