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

📄 student02.cpp

📁 用C做的一个小的管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	fprintf(fp,"学号 姓名 计算机应用 Java \tC语言 \tA v e\tS u m\n"); 
	printf("输入你插入的学号:"); 
	scanf("%d",&id); 
	for(i=0;i<input;i++) 
	{ 
		if(stu[i].num==id) //判断学员的学号信息否存在? 
		{ 
			printf("学号信息已经存在!\n"); 
			flag=0; 
			getch(); 
			break; 
		} 
	} 
	if (flag!=0) 
	{ 
		input++; //插入一个,原来的总数增加1 
		printf("请确认输入要插入学生的学号:"); 
		scanf("%d",&stu[input-1].num); //如果不存在..那么就把插入的信息放到结构数组最后 
		printf("输入学生姓名:"); 
		fflush(stdin); 
		gets(stu[input-1].name); 
		printf("输入学生3科成绩\n"); 
		printf("——————————————————————————————\n"); 
		printf("\n计算机应用: "); 
		fflush(stdin); 
		scanf("%f",&stu[input-1].score1); 
		printf("\nJava 语言: "); 
		fflush(stdin); 
		scanf("%f",&stu[input-1].score2); 
		printf("\nC 语言: "); 
		fflush(stdin); 
		scanf("%f",&stu[input-1].score3); 
		printf("——————————————————————————————\n"); 
		stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; 
		stu[i].ave=stu[i].sum/3; 
		fprintf(fp," %d %s \t%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n",stu[input-1].num,stu[input-1].name,stu[input-1].score1,stu[input-1].score2,stu[input-1].score3,stu[input-1].ave,stu[input-1].sum); 
		Sleep(500); 
		printf("插入数据成功!\n"); 
		getch(); 
	} 
} 
void ListStu(struct student stu[]) //浏览所有学生成绩 
{ 
	int i=0; 
	for(i=0;i<input;i++) 
	{ 
		stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; 
		stu[i].ave=stu[i].sum/3; 
	} 
	
	printf("\n学号 姓名 计算机应用 java语言 C 语言 平均成绩 总 分\n"); 
	for(i=0;i<input;i++) 
	{ 
		printf("\n %d %s %.1f\t %.1f\t %.1f\t %.1f\t %.1f",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave, stu[i].sum); 
	} 
	getch(); 
} 
void DelStu(struct student stu[]) //删除学员信息函数 
{ 
	pp=stu; 
	struct student temp; 
	int delnum; 
	char ask; 
	int i,j; 
	if((fp=fopen("Deldata.sys","wb+"))==NULL) 
	{ 
		printf("Cannot open file strike any key exit!"); 
		getch(); 
		exit(1); 
	} 
	fprintf(fp,"学号 姓名 计算机应用 Java \tC语言 \tA v e\tS u m\n"); 
	system("cls"); 
	printf("\n\n\t请输入你要删除的学员的学号:"); 
	fflush(stdin); 
	scanf("%d",&delnum); 
	printf("\n\t是否确认删除学员%d的信息(y/n)",delnum); 
	fflush(stdin); 
	ask = getchar(); 
	if(ask != 'n') 
	{ 
		for(i=0;i<input;i++) 
		{ 
			if(stu[i].num == delnum) 
				break; 
		} 
		if(i > input) 
			printf("\n\t没有你要删除的学员!\n"); 
		else 
		{ 
			for(j=i;j<input;j++) 
			{ 
				temp = stu[j]; 
				stu[j] = stu[j+1]; 
				stu[j+1] = temp; 
			} 
			input--; //删掉一个学员信息后学员总数相应-1 
			system("cls"); 
			printf("\n\n删除成功!\n"); 
		} 
		stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; 
		stu[i].ave=stu[i].sum/3; 
		fprintf(fp," %d %s \t%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum); 
		getch(); 
	} 
} 
void SortStu(struct student stu[]) //排序函数 
{ 
	int i,j,chose; //i,j为循环变量 chose为接收用户输入的排序方式 
	struct student temp; 
	printf("排序前的数据为\n"); 
	printf("\n学号 姓名 计算机应用 java语言 C语言 平均成绩 总 分\n"); 
	for(i=0;i<input;i++) 
	{ 
		printf("\n %d %s %.1f\t %.1f\t %.1f\t %.1f\t %.1f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum); 
	} 
	printf("\n1.按学号排序\t2.按总分(高→低)排序\n"); 
	printf("\n请您正确选择:"); 
	fflush(stdin); 
	scanf("%d",&chose); 
	if(chose==1) 
	{ 
		for(i=0;i<input-1;i++) 
		{ 
			for(j=i+1;j<input;j++) 
			{ 
				if(stu[i].num>stu[j].num) 
				{ 
					temp=stu[i]; 
					stu[i]=stu[j]; 
					stu[j]=temp; 
				} 
			} 
		} 
		printf("\n学号 姓名 计算机应用 java语言 C语言 平均成绩 总 分\n"); 
		for(i=0;i<input;i++) 
		{ 
			printf("\n %d %s %.1f\t %.1f\t %.1f\t %.1f\t %.1f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum); 
		} 
		system("pause"); 
	} 
	else if(chose==2) 
	{ 
		for(i=0;i<input-1;i++) 
		{ 
			for(j=i+1;j<input;j++) 
			{ 
				if(stu[i].ave<stu[j].ave) 
				{ 
					temp=stu[i]; 
					stu[i]=stu[j]; 
					stu[j]=temp; 
				} 
			} 
		} 
		printf("\n学号 姓名 计算机应用 java语言 C语言 平均成绩 总 分\n"); 
		for(i=0;i<input;i++) 
		{ 
			printf("\n %d %s %.1f\t %.1f\t %.1f\t %.1f\t %.1f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum); 
		} 
		system("pause"); 
	} 
} 
void Password() //密码验证函数 
{ 
	char *pass=NULL; //初始化指针 
	int i,count; 
	time_t start,end; //时间函数 
	pass=(char *)malloc(255*sizeof(char)); //分配内存 
	while(1) 
	{ 
		count=0; 
		printf("\n\n\n\n\n\t\t\t学 生 成 绩 管 理 系 统 \n"); 
		printf("\n\t\t UserName:ChenYiWan \n"); 
		printf("\n\t\t PassWord:"); 
		while((count>=0)&&(pass[count++]=getch())!=13) //密码输入 
		{ 
			if(pass[0]=='\b') 
			{ 
				count=0; 
				continue; 
			} 
			else if(pass[count-1]=='\b') 
			{ 
				printf("%c%c%c",'\b','\0','\b'); 
				count-=2; 
			} 
			else 
				putchar('*'); 
		} 
		pass[--count]='\0'; 
		if(!strcmp(pass,PASSWORD)) //开始验证 
		{ 
			printf("\n\n\t\t\t\t\t\tLoading"); 
			for(i=0;i<=25;i++) 
			{ 
				Sleep(250); 
				printf("."); 
			} 
			system("cls"); 
			printf("\n\n\n\n\n\n\n\n\n\t\t\t"); 
			printf(" 欢 迎 登 陆 学 生 成 绩 管 理 系 统 !"); 
			start=time(NULL); 
			end=time(NULL); 
			while(end-start<2) //延时2秒执行以下程序 
			{ 
				end=time(NULL); 
			} 
			system("cls"); 
			free(pass); //释放储存密码的内存 
			return ; 
		} 
		free(pass); //释放密码错误的那块内存 
		pass=(char *)malloc(255*sizeof(char)); //重新分配储存密码内存 
		system("cls"); 
		printf("\a\n\n\n\n\n\n\n\n\t\t\t\t密 码 错 误 !"); 
		getch(); 
		system("cls"); 
	} 
} 
void Save(struct student stu[]) //成绩保存函数 
{ 
	int i,j; 
	pp=stu; //指针指向结构 
	system("cls"); 
	printf("\n\n\n\n\t\t\tSaving"); 
	for(j=0;j<20;j++) 
	{ 
		Sleep(300); 
		printf("."); 
	} 
	if((fp=fopen("stu_list2.doc","wb+"))==NULL) 
	{ 
		printf("Cannot open file strike any key exit!"); 
		getch(); 
		exit(1); 
	} 
	fprintf(fp,"学号 \t姓名 计算机应用\tJava \tC语言 \tA v e\tS u m\n"); 
	for(i=0;i<input;i++) 
	{ 
		stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; 
		stu[i].ave=stu[i].sum/3; 
		fprintf(fp," %d \t%s \t%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum); 
	} 
} 

⌨️ 快捷键说明

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