2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C
高级语言程序设计课程第十次个人作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13314
学号:102400226
姓名:石华波
本次作业所用到的"Source.txt"文本文件均为下图文件:
//1202.1
#include<stdio.h>void CopyFile(const char *Source,const char *Destination);int main(){char *Source="Source.txt";char *Destination="Destination.txt";CopyFile(Source,Destination);return 0;
}void CopyFile(const char *Source,const char *Destination){FILE *Src=fopen(Source,"r");FILE *Dest=fopen(Destination,"w");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return;}else if(Dest==NULL) {printf("Failed to open file \"%s\".\n",Destination);return;}char ch;while((ch=fgetc(Src))!=EOF) fputc(ch,Dest);fclose(Src);fclose(Dest);printf("Done!");
}
//1202.2
#include<stdio.h>int CountCharacters(const char *Source);int main(){char *Source="Source.txt";int Amount=CountCharacters(Source);printf("%d characters totally.",Amount);return 0;
} int CountCharacters(const char *Source){FILE *Src=fopen(Source,"r");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return -1;}int Count=0;while(fgetc(Src)!=EOF) Count++;fclose(Src);return Count;
}
//1202.3
#include<stdio.h>void DisplayFile(const char *Source);int main(){char *Source="Source.txt";DisplayFile(Source);return 0;
} void DisplayFile(const char *Source){FILE *Src=fopen(Source,"r");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return;}char ch;while((ch=fgetc(Src))!=EOF) putchar(ch);fclose(Src);
}
//1202.4
#include<stdio.h>void AppendFile(const char *Source,const char *Text);int main(){char *Source="Source.txt";AppendFile(Source,"\nThe extra line.");return 0;
} void AppendFile(const char *Source,const char *Text){FILE *Src=fopen(Source,"a");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return;}fprintf(Src,Text);fclose(Src);printf("Done!");
}
//1202.5
#include<stdio.h>
#include<string.h>void DeletLine(const char *Source,const char *Text);int main(){char *Source="Source.txt";DeletLine(Source,"third");return 0;
} void DeletLine(const char *Source,const char *Text){FILE *Src=fopen(Source,"r");FILE *Dest=fopen("NewFile.txt","w");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return;}char Line[32767];while(fgets(Line,sizeof(Line),Src)!=NULL){if(strstr(Line,Text)==NULL){fputs(Line,Dest);}}fclose(Src);fclose(Dest);printf("Done!");
}
//1202.6
#include<stdio.h>
#include<string.h>int FileBytes(const char *Source);int main(){char *Source="Source.txt";int Size=FileBytes(Source);printf("The file is %d Bytes long.",Size);return 0;
} int FileBytes(const char *Source){FILE *Src=fopen(Source,"r");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return -1;}fseek(Src,0,SEEK_END);int Size=ftell(Src);fclose(Src);return Size;
}
//1202.7
#include<stdio.h>typedef struct{char ID[10];char Name[20];float Grade[3];float Average;
} Student;void SaveInfo(const char *Source,Student Students[]);int main(){char *Source="students.txt";Student Students[5];for(int i=0;i<5;i++){printf("Now Enter Student%d's Infos.\n",i+1);printf("ID: \n");scanf(" %s",Students[i].ID);printf("Name: \n");scanf(" %s",Students[i].Name);printf("Grades(Three): \n");scanf(" %f %f %f",&Students[i].Grade[0],&Students[i].Grade[1],&Students[i].Grade[2]);Students[i].Average=(Students[i].Grade[0]+Students[i].Grade[1]+Students[i].Grade[2])/3;}SaveInfo(Source,Students);printf("Done!");return 0;
} void SaveInfo(const char *Source,Student Students[]){FILE *Src=fopen(Source,"w");if(Src==NULL) {printf("Failed to open file \"%s\".\n",Source);return;}for(int i=0;i<5;i++){fprintf(Src,"Student %d\n",i+1);fprintf(Src,"ID: %s,Name: %s,Grades: %.2f %.2f %.2f,Average: %.2f\n",Students[i].ID,Students[i].Name,Students[i].Grade[0],Students[i].Grade[1],Students[i].Grade[2],Students[i].Average);}fclose(Src);
}