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

📄 课题参考5.txt

📁 C语言课题参考资料 C语言课题参考资料
💻 TXT
字号:
#i nclude<stdio.h> 
#i nclude<conio.h> 
#i nclude<stdlib.h> 
#i nclude<string.h> 
#define SU 10 
FILE *fp1; 
struct student 
{ 
 int no; 
 char name[10]; 
 int ji1; 
 int ji2; 
 int ji3; 
 int sum; 
}stu[SU]; 
int han_shu(); 
int han_cha(); 
int han_xiu(); 
int han_shan(); 
int han_tong(); 
int n=0; 
void main() 
{ 
 if ((fp1=fopen("wen_shu","w"))==NULL) /*定义文件*/ 
 printf("文件不能打开" );fclose(fp1); 
 int c; 
 while(1) 
 { 
 printf("\n"); 
 printf("\n"); 
 printf("\n"); 
 printf(" *****************************************************\n"); 
 printf(" * *\n"); 
 printf(" * 1-输入 2-查询 3-修改 4-删除 *\n"); 
 printf(" * 5-统计 0-退出 *\n"); 
 printf(" * *\n"); 
 printf(" *****************************************************\n"); 
 printf("\n"); 
 printf("\t请选择:"); 
 c=getchar();clrscr(); 
 switch? 
 { 
 case'1':han_shu();break; 
 case'2':han_cha();break; 
 case'3':han_xiu();break; 
 case'4':han_shan();break; 
 case'5':han_tong();break; 
 case'0':{clrscr(); 
 printf("\n\n\n\n\n\t\t您已经退出系统!"); 
 }exit(0); 
  
 } 
 } 
} 
/*********************************/ 
int han_shu() /*输入的函数*/ 
 { 
 int t; 
 if ((fp1=fopen("wen_shu","a+"))==NULL) 
 printf("打开错误"); 
 for(t=n;t<SU;t++) 
 { printf("\t 学号 姓名 基础 导论 程序\n"); 
 printf("请输入:"); 
 scanf("%d%s%d%d%d",&stu[t].no,stu[t].name,&stu[t].ji1, 
 &stu[t].ji2,&stu[t].ji3); 
 stu[t].sum=stu[t].ji1+stu[t].ji2+stu[t].ji3; 
 fwrite(&stu[t],sizeof(struct student),1,fp1); 
 n++; 
 printf("还要添加吗?y/n"); 
 getchar(); 
 if (getchar()!='y')break; 
 } 
 fclose(fp1); /*关闭f1所指文件*/ 
 return 0; 
 } 
/*********************************/ 
int han_cha() /*查询的函数*/ 
{ 
 if ((fp1=fopen("wen_shu","r"))==NULL) 
 printf("打开错误"); 
 int i,c2; 
 while(!feof(fp1)) 
 { 
 clrscr(); 
 printf("请输入你要查询的学号:"); 
 scanf("%d",&c2); 
 rewind(fp1); 
 for(i=0;i<SU;i++) 
 { 
 fread(&stu[i],sizeof(struct student),1,fp1); 
 if (c2==stu[i].no) 
 { 
 printf("\n该生情况如下:\n学号 姓名 基础 导论 程序\n"); 
 printf("%d %4s %4d %4d %4d",stu[i].no,stu[i].name, 
 stu[i].ji1,stu[i].ji2,stu[i].ji3); 
 break; 
 } 
 } 
 if(i==SU) 
 printf("\n\n\n对不起!没有您所需的记录"); 
 printf("\n\n\n还需查询吗?y/n"); 
 getchar(); 
 if (getchar()!='y')break; 
 } 
 fclose(fp1); /*关闭f1所指文件*/ 
 return 0; 
} 
/*********************************/ 
int han_shan() /*删除的函数*/ 
{ 
 int r,y,u,j,e,m; 
 while(1) 
 { 
 if ((fp1=fopen("wen_shu","r"))==NULL) 
 printf("不能打开"); 
 if (!feof(fp1))rewind(fp1); 
 for (r=0;!feof(fp1)&&fread(&stu[r],sizeof(struct student), 
 1,fp1);r++); 
 printf("要删除的学号"); 
 scanf("%d",&y); 
 for (u=0;u<r&&stu[u].no!=y;u++); 
 if(u>=r)printf("没有学生信息"); 
 fclose(fp1); 
 n--; 
 if(r>1) 
 { 
 printf("\n删除后的学生情况如下:\n学号 姓名 基础 导论 程序\n"); 
 for (j=u;j<r-1;j++)stu[u]=stu[u+1]; 
 fp1=fopen("wen_shu","w+"); 
 for (u=0;u<r-1;u++) 
 { 
 fwrite(&stu[u],sizeof(struct student),1,fp1); 
 fread(&stu[u],sizeof(struct student),1,fp1); 
 printf("\n%d %4s %4d %4d %4d",stu[u].no,stu[u].name, 
 stu[u].ji1,stu[u].ji2,stu[u].ji3); 
 } 
 fclose(fp1); 
 } 
 else 
 {printf ("无任何记录"); 
 fclose(fp1); 
 } 
 printf("\n\n还要删除吗?y/n"); 
 getchar(); 
 if (getchar()!='y'){clrscr();break; } 
 clrscr(); 
 } 
 return 0; 
} 

/*********************************/  
int han_xiu() /*修改的函数*/ 
{ 
 int z,a,d,s,g,l; 
 if ((fp1=fopen("wen_shu","r"))==NULL)printf("不能打开"); 
 if(!feof(fp1)) 
 { 
 rewind(fp1); 
 printf("输入要修改的学生学号"); 
 scanf("%d",&s); 
 for (z=0;fread(&stu[z],sizeof(struct student), 
 1,fp1);z++) 
 if(s==stu[z].no){a=z;break;} 
 if (z==SU) 
 printf("\n没有学生信息\n"); 
 for (1;z<SU;z++) 
 fread(&stu[z],sizeof(struct student),1,fp1); 
 fclose(fp1); 
 printf("\t 学号 姓名 基础 导论 程序\n"); 
 printf("请输入:"); 
 scanf("%d%s%d%d%d",&stu[a].no,stu[a].name,&stu[a].ji1, 
 &stu[a].ji2,&stu[a].ji3); 
 fp1=fopen("wen_shu","w+"); 
 printf("\n\n修改后的学生情况如下:\n学号 姓名 基础 导论 程序\n"); 
 for (g=0;g<n;g++) 
 fwrite(&stu[g],sizeof(struct student),1,fp1); 
 rewind(fp1); 
 for(l=0;l<n;l++) 
 { fread(&stu[g],sizeof(struct student),1,fp1); 
 printf("\n%d %4s %4d %4d %4d",stu[g].no,stu[g].name, 
 stu[g].ji1,stu[g].ji2,stu[g].ji3); 
 } 
 } 
 else 
 { printf ("无任何记录"); 
 fclose(fp1); 
 }  
 printf("\n\n退回菜单请输入回车键"); 
 getchar(); 
 if (getchar()!=EOF); clrscr(); 
 return 0; 
} 
/*********************************/ 
int han_tong() /*统计的函数*/ 
{ 
 int k; 
 printf("\n学生情况如下:\n学号 姓名 基础 导论 程序 总成绩\n"); 
 if ((fp1=fopen("wen_shu","r"))==NULL) /*打开f1所指文件*/ 
 printf("打开错误"); 
 for(k=0;k<n;++k) 
 { fread(&stu[k],sizeof(struct student),1,fp1); 
 printf("%d %4s %4d %4d %4d %4d\n",stu[k].no,stu[k].name, 
 stu[k].ji1,stu[k].ji2,stu[k].ji3, stu[k].sum); 
 } 
 fclose(fp1); /*关闭f1所指文件*/ 
 printf("\n\n退回菜单请输入回车键"); 
 getchar(); 
 if (getchar()!=EOF); clrscr(); 
 return 0; 
}

⌨️ 快捷键说明

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