对指定的数据文件进行显示内容、查询、排序、读写文件等操作
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. 巩固基础知识,学习分析问题、设计算法、编写代码与调试程序一系列过程
我的程序开头还加了数字雨