2021秋小组作业-记录的查询与排序(开头附带程序雨)

对指定的数据文件进行显示内容、查询、排序、读写文件等操作

1. 充分了解C语言中字符串的处理

2. 学习并熟练使用数组等连续存储结构,掌握查找、排序、统计等常用算法

3. 开始学习文件的读写操作

3. 巩固基础知识,学习分析问题、设计算法、编写代码与调试程序一系列过程

我的程序开头还加了数字雨

#include
#include
#include
#include

typedef struct data{
	char id[200];
	char name[500];
	char grade[200];
}Data;
int main(){
	
	void start();
	void show();//声明寻找函数
	void search();//声明查找函数 
	void paixu();//声明排序函数 
	int flag=1;
	start();
	void welcome();
	while(flag){
	    	welcome();
	        printf("你的选择是:");
	        int chose=0;
	        scanf("%d",&chose);
		    switch(chose){
		    case 1: 
					{
		    	system("cls");
		    	show();
				break;
					}
		    case 2:
		        {
		            system("cls");
		            search();
		            break;
		        }
	        case 3:{
	        	system("cls");
		        paixu();
		        break;
			}
		    case 4:flag=0;break;
		    default:{
		       	system("cls");
		       	printf("请输入正确数字!\n");
				break;
			}
		}
	}
    return 0;
}
void start(){
	system("color 02");
  int i=0;
  while(i<20) 
   {system("color 02");
  	printf("                                                 1\n");
 printf("0                                                1                  1\n");
  printf("0                                0               1          0       1\n");
  printf("0                       1        1                           1       0\n");
  printf("0      0                01      1    1                 0    0       0\n");
  printf("00                00      1          01                0010 0   0   0\n");
  printf("1     1                 0 1        1     1  0             110  0   0\n");
  printf("0     1             0   0       0 1   1     1 1   0     11010  1   1\n");
  	printf("                                                 1\n");
 printf("0                                                 1                  1\n");
  printf("0                                0               1          0       1\n");
  printf("0                       1       1                           1       0\n");
  printf("0      0                01      1    1                 0    0       0\n");
  printf("00                00      1     01                0010 0   0   0\n");
  printf("1     1                 0 1     1     1  0                110  0   0\n");
  system("color 03");
  printf("0     1             0   0       0 1   1  1 1   0         11010  1   1\n");
  printf("0     1             1   1  1    0 1   1  0 1   0    101 001 0    1\n");
  printf("1     0 1           0    0 1      0      0 0        0011111 0  1 1      0\n");
  printf("0     0 1           0    0 1      1  1   1 1        0000 0  0  0 1      1     1\n");
  printf("00 1    1   0       0    1 1      0  1   0 0        1101  1101 0 1    0 0   1 1\n");
  printf("1 1    1   10    0 0    0 0         1               1 11 0011   0    0 0 0 0 0\n");
   printf("0     1             1   1  1    0 1   1  0 1   0    101 001 0    1\n");
  printf("1     0 1           0    0 1      0      0 0        0011111 0  1 1      0\n");
  printf("0     0 1           0    0 1      1  1   1 1        0000 0  0  0 1      1     1\n");
  printf("00 1    1   0       0    1 1      0  1   0 0        1101  1101 0 1    0 0   1 1\n");
  printf("1 1    1   10    0 0    0 0         1               1 11 0011   0    0 0 0 0 0\n");
  printf("1      1   10           1         1 1                 10 11 0   1    1 0 0 0 1\n");
 printf("0 0      1   10           1         0 10                10  0 0        0 1 1 0 0\n");
 printf("1 1 1    0  111    0 1             1  10 1   00 0        1  0 0  1     0   1 0 0\n");
 printf("0 0 1       0 1  0 0 0             0   0 1  111 1  1     1  0 0  0     1   1 0\n");
 printf("0   1       0    110 1             0   0 1 1101 1  0   1 0       0         1\n");
 system("color 04");
  printf("1      1   10           1         1 1                 10 11 0   1    1 0 0 0 1\n");
 printf("0 0      1   10           1         0 10                10  0 0        0 1 1 0 0\n");
 printf("1 1 1    0  111    0 1             1  10 1   00 0        1  0 0  1     0   1 0 0\n");
 printf("0 0 1       0 1  0 0 0             0   0 1  111 1  1     1  0 0  0     1   1 0\n");
 printf("0   1       0    110 1             0   0 1 1101 1  0   1 0       0         1\n");
 printf("1   0   1 0 1    101 11    0       10  0 11010101  0   0        01   1  0\n");
    printf(" 0       0    011 1    0     0  1   1 110010 00 0             1      1      1\n");
     printf("0       0    011 1    0     0  0     1 0011  1 1             0             1\n");
                  printf("10       1     1          00    1 0\n");                           
                   printf("0             1          0     1 \n "); 
       Sleep(0);
        i++;
}
 system("color 06");
printf("★★☆      ★   B12组倾城奉献   ★         ☆★★\n") ;
printf("★★☆   段**      甘甜      温子涵      梁绍进      肖斌     刘佳怡☆★★\n");
	printf("★★☆      ★   B12组倾城奉献   ★         ☆★★\n") ;
	printf("★★☆   段** 甘甜 王子涵 梁绍进 肖斌 刘佳怡      ☆★★\n"); 
}
void show()	{
	Data student[500];
	FILE* pf=NULL ;         //定义文件指针
	printf("请输入文件地址:");
	char place[50];
	scanf("%s",&place);
	pf=fopen(place,"r"); //打开文件,只读模式
	if(pf==NULL) //若fopen()函数返回NULL则打开文件失败
	{
		printf("Can not open file\n");
	}
	else{
		int len=0;
	    int i=0;
	    while(!feof(pf)){                     //读取一组数据后指针指向下一组数据,并且判断是否指向最后一行
		    fscanf(pf,"%s%s%s",&student[i].id,&student[i].name,&student[i].grade);//数组不就是地址吗
		    i++;
		    len++;
	    }
	    i=0;
	    for(i;i0)
			{
				strcpy(temp,student[j].grade);
				strcpy(student[j].grade,student[j+1].grade);
				strcpy(student[j+1].grade,temp); 
				//printf("%s",*temp);
				strcpy(temp1,student[j].name);
				strcpy(student[j].name,student[j+1].name);
				strcpy(student[j+1].name,temp1); 
				strcpy(temp2,student[j].id);
				strcpy(student[j].id,student[j+1].id);
				strcpy(student[j+1].id,temp2);
			}
		}
	}

	for(i=0;i0)
			{
				strcpy(temp,student[j].grade);
				strcpy(student[j].grade,student[j+1].grade);
				strcpy(student[j+1].grade,temp); 
				//printf("%s",*temp);
				strcpy(temp1,student[j].name);
				strcpy(student[j].name,student[j+1].name);
				strcpy(student[j+1].name,temp1); 
				strcpy(temp2,student[j].id);
				strcpy(student[j].id,student[j+1].id);
				strcpy(student[j+1].id,temp2);
			}
		}
	}

	for(i=0;igrade2[j+1])
			{
				strcpy(temp,student[j].grade);
				strcpy(student[j].grade,student[j+1].grade);
				strcpy(student[j+1].grade,temp); 
				//printf("%s",*temp);
				strcpy(temp1,student[j].name);
				strcpy(student[j].name,student[j+1].name);
				strcpy(student[j+1].name,temp1); 
				strcpy(temp2,student[j].id);
				strcpy(student[j].id,student[j+1].id);
				strcpy(student[j+1].id,temp2);
				d=grade2[j];
				grade2[j]=grade2[j+1];
				grade2[j+1]=d;
			}
		}
	}

	for(i=0;i

对指定的数据文件进行显示内容、查询、排序、读写文件等操作

1. 充分了解C语言中字符串的处理

2. 学习并熟练使用数组等连续存储结构,掌握查找、排序、统计等常用算法

3. 开始学习文件的读写操作

3. 巩固基础知识,学习分析问题、设计算法、编写代码与调试程序一系列过程

我的程序开头还加了数字雨

你可能感兴趣的:(c语言)