c语言设计程序框图,C语言课程设计————写下流程图! 谢谢
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
printf("---You?have?success?read?data?from?file!!!---\n");
return?h;?/*返回頭指針*/
}
/*追加記錄到文件*/
void?append()
{
FILE?*fp;?/*定義指向文件的指針*/
STUDENT?*info;?/*新記錄指針*/
int?s1,i;
char?infile[10];?/*保存文件名*/
printf("\nplease?new?record\n");
info=(STUDENT?*)malloc(sizeof(STUDENT));?/*申請空間*/
if(!info)
{
printf("\nout?of?memory");?/*沒有申請到,內存溢出本函數結束*/
return?;
}
inputs("enter?no:",info->no,11);?/*調用inputs輸入學號*/
inputs("enter?name:",info->name,15);?/*調用inputs輸入姓名*/
printf("please?input?%d?score?\n",N);?/*提示輸入成績*/
s1=0;
for(i=0;i
{
do{
printf("score%d:",i+1);
scanf("%d",&info->score[i]);?/*輸入成績*/
if(info->score[i]>100||info->score[i]<0)printf("bad?data,repeat?input\n");
}while(info->score[i]>100||info->score[i]<0);?/*成績數據驗證*/
s1=s1+info->score[i];?/*求總分*/
}
info->sum=s1;?/*保存總分*/
info->average=(float)s1/N;?/*求均分*/
info->order=0;?/*名次初始值為0*/
info->next=NULL;?/*將新記錄后繼指針賦值為空*/
printf("Enter?infile?name,for?example?c:\\f1\\te.txt:\n");?scanf("%s",infile);?/*輸入文件名*/
if((fp=fopen(infile,"ab"))==NULL)?/*向二進制文件尾增加數據方式打開文件*/
{
printf("can?not?open?file\n");?/*顯示不能打開*/
exit(1);?/*退出程序*/
}
printf("\n?-----Appending?record!-----\n");
if(1!=fwrite(info,sizeof(STUDENT),1,fp))?/*寫文件操作*/
{
printf("-----file?write?error!-----\n");
return;?/*返回*/
}
printf("-----append?sucess!!----\n");
fclose(fp);?/*關閉文件*/
}
/*文件拷貝*/
void?copy()
{
char?outfile[10],infile[10];
FILE?*sfp,*tfp;?/*源和目標文件指針*/
STUDENT?*p=NULL;?/*移動指針*/
clrscr();?/*清屏*/
printf("Enter?infile?name,for?example?c:\\f1\\te.txt:\n");
scanf("%s",infile);?/*輸入源文件名*/
if((sfp=fopen(infile,"rb"))==NULL)?/*二進制讀方式打開源文件*/
{
printf("can?not?open?input?file\n");
exit(0);
}
printf("Enter?outfile?name,for?example?c:\\f1\\te.txt:\n");?/*提示輸入目標文件名*/
scanf("%s",outfile);?/*輸入目標文件名*/
if((tfp=fopen(outfile,"wb"))==NULL)?/*二進制寫方式打開目標文件*/
{
printf("can?not?open?output?file?\n");
exit(0);
}
while(!feof(sfp))?/*讀文件直到文件尾*/
{
if(1!=fread(p,sizeof(STUDENT),1,sfp))
break;?/*塊讀*/
fwrite(p,sizeof(STUDENT),1,tfp);?/*塊寫*/
}
fclose(sfp);?/*關閉源文件*/
fclose(tfp);?/*關閉目標文件*/
printf("you?have?success?copy?file!!!\n");?/*顯示成功拷貝*/
}
/*排序*/
STUDENT?*sort(STUDENT?*h)
{
int?i=0;?/*保存名次*/
STUDENT?*p,*q,*t,*h1;?/*定義臨時指針*/
h1=h->next;?/*將原表的頭指針所指的下一個結點作頭指針*/
h->next=NULL;?/*第一個結點為新表的頭結點*/
while(h1!=NULL)?/*當原表不為空時,進行排序*/
{
t=h1;?/*取原表的頭結點*/
h1=h1->next;?/*原表頭結點指針后移*/
p=h;?/*設定移動指針p,從頭指針開始*/
q=h;?/*設定移動指針q做為p的前驅,初值為頭指針*/
while(t->sumsum&&p!=NULL)?/*作總分比較*/
{
q=p;?/*待排序點值小,則新表指針后移*/
p=p->next;
}
if(p==q)?/*p==q,說明待排序點值大,應排在首位*/
{
t->next=p;?/*待排序點的后繼為p*/
h=t;?/*新頭結點為待排序點*/
總結
以上是生活随笔為你收集整理的c语言设计程序框图,C语言课程设计————写下流程图! 谢谢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 龋齿是怎么发生的
- 下一篇: c语言怎么编程dll,【C语言】编写的D