commit
						8b5df5c693
					
				| @ -0,0 +1,226 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | struct student  | ||||||
|  | {	long int num;	 | ||||||
|  | 	char name[20]; | ||||||
|  | 	int age; | ||||||
|  | 	char sex[4];	 | ||||||
|  | 	char p[15]; | ||||||
|  | }stu[100]; | ||||||
|  | 	int n=0; | ||||||
|  | 	FILE *fp;	 | ||||||
|  | 	struct student *p; | ||||||
|  | 	void lr(); | ||||||
|  | 	void ll(); | ||||||
|  | 	void cx(); | ||||||
|  | 	void px(); | ||||||
|  | 	void xg(); | ||||||
|  | 	void sc(); | ||||||
|  | 	void bc(); | ||||||
|  | 	void bc(); | ||||||
|  | 	void main() | ||||||
|  | { | ||||||
|  | 	int z;	 | ||||||
|  | 	printf("/欢迎使用学生信息管理系统/\n");		 | ||||||
|  | 	do | ||||||
|  | {	printf(" 主菜单 \n"); | ||||||
|  | 	printf(" [1]----录入学生信息 \n"); | ||||||
|  | 	printf(" [2]----浏览学生信息 \n"); | ||||||
|  | 	printf(" [3]----查询学生信息 \n"); | ||||||
|  | 	printf(" [4]----排序学生信息 \n"); | ||||||
|  | 	printf(" [5]----删除学生信息 \n"); | ||||||
|  | 	printf(" [6]----修改学生信息 \n"); | ||||||
|  | 	printf(" [7]----保存学生信息 \n"); | ||||||
|  | 	printf(" [0]----退出系统 \n"); | ||||||
|  | 	printf("请输入您的选择:"); | ||||||
|  | 	scanf("%d", &z); | ||||||
|  | 	switch(z) | ||||||
|  | {	case 0 : break; | ||||||
|  | 	case 1 :lr();break; | ||||||
|  | 	case 2 :ll();break; | ||||||
|  | 	case 3 :cx();break; | ||||||
|  | 	case 4 :px();break; | ||||||
|  | 	case 5 :sc();break; | ||||||
|  | 	case 6 :xg();break; | ||||||
|  | 	case 7 :bc();break; | ||||||
|  | 	default:printf("\n无效选项"); | ||||||
|  | } | ||||||
|  | } | ||||||
|  | 	while(z!= 0); | ||||||
|  | } | ||||||
|  | 	void lr()/*录入函数*/ | ||||||
|  | {	int y; | ||||||
|  | 	if(n==0)	p=stu; | ||||||
|  | 	do | ||||||
|  | {	printf("请输入学生的学号:"); | ||||||
|  | 	scanf("%ld",&p->num); | ||||||
|  | 	printf("请输入学生的姓名:"); | ||||||
|  | 	scanf("%s",p->name); | ||||||
|  | 	printf("请输入学生的年龄:"); | ||||||
|  | 	scanf("%d",&p->age); | ||||||
|  | 	printf("请输入学生的性别:"); | ||||||
|  | 	scanf("%s",p->sex);		 | ||||||
|  | 	printf("请输入学生的电话:"); | ||||||
|  | 	scanf("%s",p->p); | ||||||
|  | 	n++;  p++; | ||||||
|  | 	printf("\n1.继续输入.\n0.输入完毕.\n"); | ||||||
|  | 	printf("请选择:"); | ||||||
|  | 	scanf("%d",&y); | ||||||
|  | } | ||||||
|  | 	while(y==1); | ||||||
|  | 	printf("输入完毕!您一共输入%d个\n",n); | ||||||
|  | } | ||||||
|  | 	void ll()/*浏览函数*/ | ||||||
|  | 	{	printf("\n学号    姓名    年龄   性别   电话\n"); | ||||||
|  | 		char ch; | ||||||
|  | 		if((fp=fopen("student.txt","r"))==NULL) | ||||||
|  | 		{ | ||||||
|  | 			printf("打开文件失败"); | ||||||
|  | 			exit(0); | ||||||
|  | 		} | ||||||
|  | 		ch=fgetc(fp); | ||||||
|  | 		while(ch!=EOF) | ||||||
|  | 		{ | ||||||
|  | 			printf("%c",ch); | ||||||
|  | 			ch=fgetc(fp); | ||||||
|  | 		} | ||||||
|  | 		fclose(fp); | ||||||
|  | 	}	 | ||||||
|  | 	void cx()/*查询函数*/ | ||||||
|  | {	int c; | ||||||
|  | 	int w,i,j=0; | ||||||
|  | 	char name[20]; | ||||||
|  | 	if(n!=0) | ||||||
|  | {	do{ printf("\n"); | ||||||
|  | 		printf("  按学号查询 请按 1 \n"); | ||||||
|  | 		printf("  按姓名查询 请按 2 \n");  | ||||||
|  | 		printf("  取消 请按 0 \n");	 | ||||||
|  | 		printf("  请输入您的选择:"); | ||||||
|  | 		scanf("%d", &c); | ||||||
|  | 	switch(c) | ||||||
|  | {	case 0:break; | ||||||
|  | 	case 1: | ||||||
|  | 	printf("请输入学生的学号:"); | ||||||
|  | 	scanf("%ld", &w); | ||||||
|  | 	printf("\n"); | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	if(stu[i].num==w) | ||||||
|  | {	printf("\n学号    姓名    年龄   性别   电话\n");/*显示查询界面1*/ | ||||||
|  | 	printf("%ld    %s    %d     %s     %s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].p); | ||||||
|  | 	j=1; | ||||||
|  | } | ||||||
|  | 	if(j==0) | ||||||
|  | 	printf("提示:没有该学生记录,请核对!");break; | ||||||
|  | 	case 2:printf("请输入学生的姓名:"); | ||||||
|  | 	scanf("%s", name); | ||||||
|  | 	printf("\n"); | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	if(strcmp(name,stu[i].name)==0) | ||||||
|  | {	printf("\n学号    姓名    年龄   性别   电话\n");/*显示查询界面2*/ | ||||||
|  | 	j=1; | ||||||
|  | 	printf("%ld    %s    %d     %s     %s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].p); | ||||||
|  | } | ||||||
|  | 	if(j==0) | ||||||
|  | 	printf("提示:没有该学生记录,请核对!");break; | ||||||
|  | 	default: | ||||||
|  | 	printf("\n提示:无效选项!");break; | ||||||
|  | } | ||||||
|  | }	while(c!= 0); | ||||||
|  | }	else printf("提示:无学生数据,请输入数据!"); | ||||||
|  | 	return; | ||||||
|  | } | ||||||
|  | 	void px()/*排序函数*/ | ||||||
|  | {		int i,j; | ||||||
|  | 		struct student t[100]; | ||||||
|  | 		for(i=0;i<n;i++) | ||||||
|  | 		{	for(j=0;j<n-1-i;j++) | ||||||
|  | 			{if(stu[j].num>stu[j+1].num) | ||||||
|  | 				{t[i]=stu[j]; | ||||||
|  | 				stu[j]=stu[j+1]; | ||||||
|  | 				stu[j+1]=t[i]; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		for(i=0;i<n;i++) | ||||||
|  | 		{	printf("%ld    %s    %d    %s    %s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].p); | ||||||
|  | 		} | ||||||
|  | } | ||||||
|  | 	void xg()/*修改函数*/ | ||||||
|  | {	long int num; | ||||||
|  | 	int i,j,c; | ||||||
|  | 	if(n!=0) | ||||||
|  | {	printf("请输入您要修改的学生的学号:"); | ||||||
|  | 	scanf("%ld", &num); | ||||||
|  | 	printf("\n"); | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	if(stu[i].num==num) | ||||||
|  | 	j=i; | ||||||
|  | 	do{ | ||||||
|  | 	printf("请选择您要修改的学生的信息内容:\n"); | ||||||
|  | 	printf(" 姓名 请按 1 \n"); | ||||||
|  | 	printf(" 年龄 请按 2 \n"); | ||||||
|  | 	printf(" 性别 请按 3 \n"); | ||||||
|  | 	printf(" 学号 请按 4 \n"); | ||||||
|  | 	printf(" 电话 请按 5 \n"); | ||||||
|  | 	printf(" 取消 请按 0 \n"); | ||||||
|  | 	printf("请输入您的选择:"); | ||||||
|  | 	scanf("%d", &c); | ||||||
|  | 	printf("\n"); | ||||||
|  | 	switch(c) | ||||||
|  | {	case 0:break; | ||||||
|  | 	case 1:printf("请输入新姓名:"); | ||||||
|  | 	scanf("%s",stu[j].name);break; | ||||||
|  | 	case 2:printf("请输入新年龄:"); | ||||||
|  | 	scanf("%d",&stu[j].age);break; | ||||||
|  | 	case 3:printf("请输入新性别:"); | ||||||
|  | 	scanf("%s",stu[j].sex);break; | ||||||
|  | 	case 4:printf("请输入新学号:"); | ||||||
|  | 	scanf("%ld",&stu[j].num);break; | ||||||
|  | 	case 5:printf("请输入新电话:"); | ||||||
|  | 	scanf("%s",stu[j].p);break; | ||||||
|  | 	default: | ||||||
|  | 		printf("\n无效选项!"); | ||||||
|  | 	break; | ||||||
|  | } | ||||||
|  | }	while(c!= 0); | ||||||
|  | }	else printf("提示:无学生数据,请输入数据!"); | ||||||
|  | } | ||||||
|  | 	void sc()/*删除函数?*/ | ||||||
|  | {	long int num; | ||||||
|  | 	int i,j,e;  | ||||||
|  | 	if(n!=0) | ||||||
|  | {	printf("学号    姓名    年龄   性别   电话\n");/*显示删除界面*/ | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	printf("%ld    %s    %d     %s     %s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].p); | ||||||
|  | 	printf("请输入您要删除的学生的学号:"); | ||||||
|  | 	scanf("%ld", &num); | ||||||
|  | 	printf("\n"); | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	if(num==stu[i].num) | ||||||
|  | 	j=i; | ||||||
|  | 	if(j!=(n-1)) | ||||||
|  | {	for(e=i-1;e<n;e++,j++) | ||||||
|  | {	stu[j].num=stu[j+1].num; | ||||||
|  | 	strcpy(stu[j].name,stu[j+1].name); | ||||||
|  | 	strcpy(stu[j].sex,stu[j+1].sex); | ||||||
|  | 	stu[j].age=stu[j+1].age;	 | ||||||
|  | 	strcpy(stu[j].p,stu[j+1].p); | ||||||
|  | 	n--; | ||||||
|  | 	p--; | ||||||
|  | } | ||||||
|  | }else {n--; | ||||||
|  | 		p--;} | ||||||
|  | 	printf("提示:删除完毕!"); | ||||||
|  | }else printf("提示:无学生数据,请输入数据!"); | ||||||
|  | } | ||||||
|  | 	void bc()/*保存函数*/ | ||||||
|  | {	int i; | ||||||
|  | 	FILE *fp; | ||||||
|  | 	fp=fopen("student.txt","wb+"); | ||||||
|  | 	for(i=0;i<n;i++) | ||||||
|  | 	{	 | ||||||
|  | 		fprintf(fp,"%ld    %s    %d     %s     %s  \n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].p); | ||||||
|  | 	} | ||||||
|  | 	fclose(fp); | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue