c语言课程设计在哪做,C语言课程设计————写下流程图! 谢谢
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
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));?/*申請(qǐng)空間*/
if(!info)
{
printf("\nout?of?memory");?/*沒(méi)有申請(qǐng)到,內(nèi)存溢出本函數(shù)結(jié)束*/
return?;
}
inputs("enter?no:",info->no,11);?/*調(diào)用inputs輸入學(xué)號(hào)*/
inputs("enter?name:",info->name,15);?/*調(diào)用inputs輸入姓名*/
printf("please?input?%d?score?\n",N);?/*提示輸入成績(jī)*/
s1=0;
for(i=0;i
{
do{
printf("score%d:",i+1);
scanf("%d",&info->score[i]);?/*輸入成績(jī)*/
if(info->score[i]>100||info->score[i]<0)printf("bad?data,repeat?input\n");
}while(info->score[i]>100||info->score[i]<0);?/*成績(jī)數(shù)據(jù)驗(yàn)證*/
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)?/*向二進(jìn)制文件尾增加數(shù)據(jù)方式打開(kāi)文件*/
{
printf("can?not?open?file\n");?/*顯示不能打開(kāi)*/
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);?/*關(guān)閉文件*/
}
/*文件拷貝*/
void?copy()
{
char?outfile[10],infile[10];
FILE?*sfp,*tfp;?/*源和目標(biāo)文件指針*/
STUDENT?*p=NULL;?/*移動(dòng)指針*/
clrscr();?/*清屏*/
printf("Enter?infile?name,for?example?c:\\f1\\te.txt:\n");
scanf("%s",infile);?/*輸入源文件名*/
if((sfp=fopen(infile,"rb"))==NULL)?/*二進(jìn)制讀方式打開(kāi)源文件*/
{
printf("can?not?open?input?file\n");
exit(0);
}
printf("Enter?outfile?name,for?example?c:\\f1\\te.txt:\n");?/*提示輸入目標(biāo)文件名*/
scanf("%s",outfile);?/*輸入目標(biāo)文件名*/
if((tfp=fopen(outfile,"wb"))==NULL)?/*二進(jìn)制寫方式打開(kāi)目標(biāo)文件*/
{
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);?/*關(guān)閉源文件*/
fclose(tfp);?/*關(guān)閉目標(biāo)文件*/
printf("you?have?success?copy?file!!!\n");?/*顯示成功拷貝*/
}
/*排序*/
STUDENT?*sort(STUDENT?*h)
{
int?i=0;?/*保存名次*/
STUDENT?*p,*q,*t,*h1;?/*定義臨時(shí)指針*/
h1=h->next;?/*將原表的頭指針?biāo)傅南乱粋€(gè)結(jié)點(diǎn)作頭指針*/
h->next=NULL;?/*第一個(gè)結(jié)點(diǎn)為新表的頭結(jié)點(diǎn)*/
while(h1!=NULL)?/*當(dāng)原表不為空時(shí),進(jìn)行排序*/
{
t=h1;?/*取原表的頭結(jié)點(diǎn)*/
h1=h1->next;?/*原表頭結(jié)點(diǎn)指針后移*/
p=h;?/*設(shè)定移動(dòng)指針p,從頭指針開(kāi)始*/
q=h;?/*設(shè)定移動(dòng)指針q做為p的前驅(qū),初值為頭指針*/
while(t->sumsum&&p!=NULL)?/*作總分比較*/
{
q=p;?/*待排序點(diǎn)值小,則新表指針后移*/
p=p->next;
}
if(p==q)?/*p==q,說(shuō)明待排序點(diǎn)值大,應(yīng)排在首位*/
{
t->next=p;?/*待排序點(diǎn)的后繼為p*/
h=t;?/*新頭結(jié)點(diǎn)為待排序點(diǎn)*/
總結(jié)
以上是生活随笔為你收集整理的c语言课程设计在哪做,C语言课程设计————写下流程图! 谢谢的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言程序设计教学探讨,C语言程序设计多
- 下一篇: C语言简单计算器考虑优先级,利用你现有的