#include stdio.h
因?yàn)榕驼嬲\(chéng),有更多的客戶和我們聚集在一起,為了共同目標(biāo),成都創(chuàng)新互聯(lián)公司在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長(zhǎng),要感謝客戶對(duì)我們的高要求,讓我們敢于面對(duì)挑戰(zhàn),才有今天的進(jìn)步與發(fā)展。從網(wǎng)站到微信小程序定制開發(fā),軟件開發(fā),成都App定制開發(fā),10年企業(yè)網(wǎng)站建設(shè)服務(wù)經(jīng)驗(yàn),為企業(yè)提供網(wǎng)站設(shè)計(jì),網(wǎng)站托管一條龍服務(wù).為企業(yè)提供營(yíng)銷型網(wǎng)站建設(shè),定制制作,原創(chuàng)設(shè)計(jì),10年品質(zhì),值得您的信賴.
#include stdlib.h
#include string.h
FILE *f1,*f2;
char file1[20],file2[20],name[200][20],name1[15];
int n,m,data[200][10];
void init(){
int i,j;
char ch=' ';
printf("%20c歡迎使用班級(jí)成績(jī)管理系統(tǒng)\n\n",ch);
printf("請(qǐng)輸入輸入和輸出文件名(中間用一個(gè)空格隔開):\n");
scanf("%s %s",file1,file2);// 1)該條語句的功能是什么?
f1=fopen(file1,"r");
f2=fopen(file2,"w");
fscanf(f1,"%d%d",n,m); // 2)該條語句的功能是什么?
for(i=1;i=n;i++)
{
fscanf(f1,"%s",name[i]); // 3)該條語句的功能是什么?
data[i][0]=0; // 4)該條語句的功能是什么?沒有這條語句可不可以?
for(j=1;j=m;j++)
{
fscanf(f1,"%d",data[i][j]);
data[i][0]+=data[i][j]; // 5)該條語句的功能是什么?
}
}
fprintf(f2,"name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n ");
for(i=1;i=n;i++)
{
fprintf(f2,"%s\t",name[i]);
for(j=1;j=m;j++)
fprintf(f2,"%d\t",data[i][j]);
fprintf(f2,"%d\n",data[i][0]);
}
fclose(f1);// 6)問什么可以在這關(guān)閉輸入文件?
fclose(f2);
}
void search(char na[],char num){
int i=1,j;
while((i=n)(strcmp(na,name[i])!=0))i++;
if(i=n){
switch(num){
case '1':printf("%s的語文成績(jī)?yōu)?d!\n",na,data[i][1]);break;
case '2':printf("%s的數(shù)學(xué)成績(jī)?yōu)?d!\n",na,data[i][2]);break;
case '3':printf("%s的英語成績(jī)?yōu)?d!\n",na,data[i][3]);break;
case '4':printf("%s的物理成績(jī)?yōu)?d!\n",na,data[i][4]);break;
case '5':printf("%s的化學(xué)成績(jī)?yōu)?d!\n",na,data[i][5]);break;
case 'a':
printf("%s的各科成績(jī)?yōu)椋篭n",name[i]);
printf("語文\t數(shù)學(xué)\t英語\t物理\t化學(xué)\t總成績(jī)\n");
for(j=1;j=m;j++)
printf("%d\t",data[i][j]);
printf("%d\n",data[i][0]);
break;
default: printf("沒有這種查詢方式,請(qǐng)確認(rèn)后再次輸入!\n");
}
}
else printf("查無此人,請(qǐng)確認(rèn)后再次查詢!\n");
printf("\n\n");
}
main(){
init();//數(shù)據(jù)初始化
printf("數(shù)據(jù)初始化結(jié)束!\n\n");
printf("------------------------------------------------\n\n");
char na[20];
char num;
while(1){ // 7)該條語句的功能是什么?
//scanf("%s%c%c",na,num,num); // 8)此處的輸入可不可以用這條語句?
printf("請(qǐng)輸入學(xué)生的姓名和要查詢成績(jī)的科目代碼(中間用一個(gè)空格隔開):\n(1 語文 2 數(shù)學(xué) 3 英語 4 物理 5 化學(xué) a 所有科目成績(jī) q 退出)\n");
scanf("%s",na);
if(strcmp(na,"q")==0)break; // 9)問什么要用這條語句strcmp(na,"q")==0?
scanf("%c%c",num,num); // 10)為什么用了兩次num?
search(na,num);
printf("------------------------------------------------\n\n");
printf("\n請(qǐng)輸入新的查詢:\n\n");
}
system("pause");
}
稍改一下就行了!
畫主程序流程圖,看懂主函數(shù)的程序,按照main()函數(shù)中的具體書寫過程來畫,例如:程序開始、定義變量、初始化變量、使用選擇或者循環(huán)或者順序結(jié)構(gòu)、調(diào)用某一個(gè)子函數(shù)、(可以沒有)程序結(jié)束。
如果會(huì)編程序而不會(huì)畫流程圖,建議先把自己的程序研究一遍。
若是畫主程序流程圖,那就需看懂主函數(shù)的程序,按照main()函數(shù)中的具體書寫過程來畫,例如:
程序開始---定義變量---初始化變量---使用選擇或者循環(huán)或者順序結(jié)構(gòu)---調(diào)用某一個(gè)子函數(shù)(可以沒有)---程序結(jié)束
以上是最簡(jiǎn)單的程序流程圖畫法。
若你是畫某一算法或是某一模塊的流程圖,就要把相應(yīng)的算法或是模塊看懂。分析算法或是模塊的具體走法,根據(jù)此走法就可以畫出對(duì)應(yīng)的流程圖。
如果你是初學(xué)者,想根據(jù)流程圖的畫法而去嘗試編程,建議就一定要研究清楚每一個(gè)使用到的算法,讀懂題目再開始編程。
下面是使VISO畫流程圖的幾個(gè)要點(diǎn):
1、選擇下載一個(gè)合適版本的VISO
2、程序開始結(jié)束用膠囊
3、分頁用圓圈
4、輸入用平行四邊形
5、語句用方塊
6、判斷用菱形
7、打印用波浪
畫法如下:
第一步:以特定的圖形符號(hào)加上說明,表示算法的圖,稱為流程圖或框圖
打開流程編輯工具。
第二步:選擇對(duì)應(yīng)的圖形
開始結(jié)束用橢圓形
過程用長(zhǎng)方形
第三步::繪制整個(gè)流程的過程
第四步:將各個(gè)流程節(jié)點(diǎn)用線連接起來
第五步:添加備注