會員 | 【求助】VC求助 #include<stdio.h> struct person{ char name[30];/*姓名*/ char number[30];/*學號*/ char answer[11];/*答案*/ float result;/*成績*/ }con[17]; void main(void) { char right[11]="ABCAAACDDA"; FILE *hw6; FILE *ans6; hw6=fopen("hw6.txt","r"); ans6=fopen("ans6.txt","w"); int nu=0; int j,m; do { fscanf(hw6,"%s %s %s %f",con[nu].name,con[nu].number,con[nu].answer,con[nu].result=0); for(j=0;j<11;j++) { if(con[nu].answer[j]==right[j]) { con[nu].result+=10; } else { con[nu].result-=2.5; } } if(con[nu].result<0) con[nu].result=0; nu++; } while(con[nu].number[0]!='E'); for(m=0;m<17;m++) fprintf(ans6,"%s %s %s %f",con[m].name,con[m].number,con[m].answer,con[m].result); fclose(hw6); fclose(ans6); } ============================================ hw6.txt內容: number name answer result u471201 john ABCCBACDDA u471202 Mary BBCAABDDDA u471203 Jenny BBCCAACDBA u471204 Joe ABACAACDDC u471205 Sally CBBAAACDCD u471206 Jeff ABCAAADDDA u471207 April ABDACADDDA u471208 May ABDBABADCC u471209 Jordan ABDABACCDD u471210 Ronman ABDABABBCA u471211 Billy BBCAACBBDA u471212 Amy CCBABCBCBA u471213 Kobe CBCACCCDAA u471214 Iverson ABDACCCDDD u471215 David ABAAACBCDD u471216 Matt BAABAABCDA u471217 Lucy CABCAAACDA E 在ans6.txt輸出考生姓名,學號,答案與計算出該考生成績.一題十分寫錯扣2.5分.讀到E結束. 用vc跑有一些奇怪的錯誤,請大家幫我看看有什麼錯誤. 可是都會跳出這樣的錯誤: Debug Assertion Failed! program:c:\debug\測試.exe File:fscanf.c Line:54 Expression:stream!=null for information on how you program can cause an assertion failure,see the Visual c++doumentation on asserts. (Press Retry to debug the application) 中止A 重試R 略過I |
回覆 |
我的咪咪 | fscanf(hw6,"%s %s %s %f",con[nu].name,con[nu].number,con[nu].answer,con[nu].result=0); 妳不是只要三個輸入嗎 怎麼會列舉了四個?? 還把0 當作位址傳了進去 |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。