RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [資訊電機] [求助]C++的問題....最後出了點錯還請求解...   字型大小:||| 
heroine
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 51
 . 文章: 68
 . 收花: 248 支
 . 送花: 67 支
 . 比例: 0.27
 . 在線: 1625 小時
 . 瀏覽: 23375 頁
 . 註冊: 6774
 . 失蹤: 97
 . 地心
#1 : 2006-10-22 03:20 PM     只看本作者 引言回覆

我程式行都沒錯 不過最後輸入的地方有問題...
http://tw.knowledge.yahoo.com/question/?qid=1206102206679

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>


struct
{
int hw;
int mid;
int term;
int sum;
char name[10];   
float average;
}student[4],temp;

void file_error(void)
{
printf("****load file error****\n");
exit(1);
}

int main(void)
{
FILE *fp1,*fp2;
char ip;
int i=0;
do
        {
        system("cls");
        fp1=fopen("score.txt","r");
        fp2=fopen("avg.txt","w");
        if(fp1==NULL)
                {
                file_error();
                }
        while(fscanf(fp1,"%s%d%d%d",&student.name,&student.hw,&student.mid,&student.term) !=EOF)
                {
                        i++;
                }
        printf("\name    hw      mid       term\n");
        printf("===========================================\n");
        for(i=0;i<10;i++)
                {
                student.sum=student.hw+student.mid+student.term;
                student.average=(float)student.sum/3;
                printf("%s\t%d\t%d\t%d\t%d\t%f\n",student.name,student.hw,student.mid,student.term,student.sum,student.average);
                fprintf(fp2,"%-10s %d %d %d %d %f\n",student.name,student.hw,student.mid,student.term,student.sum,student.average);
                printf("\n");
                }
        fclose(fp1);
        fclose(fp2);
        printf("restart?(y/n)\n");
        ip=getch();
}
while(ip=='y');
exit(1);
return 0;
}

如果輸入y以外的東西 會發生記憶體xxxx的問題....
想請問一下要怎麼改正勒?

[heroine 在  2006-10-22 04:50 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8007
 . 失蹤: 5360
#2 : 2006-10-22 04:20 PM     只看本作者 引言回覆

while(fscanf(fp1,"%s%d%d%d",&student.name,&student.hw,&student.mid,&student.term) !=EOF)

大致看了一下... 應該這兒有問題, 紅色是不需要的

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
heroine
鐵驢友〔中級〕
等級: 5等級: 5


 . 積分: 51
 . 文章: 68
 . 收花: 248 支
 . 送花: 67 支
 . 比例: 0.27
 . 在線: 1625 小時
 . 瀏覽: 23375 頁
 . 註冊: 6774
 . 失蹤: 97
 . 地心
#3 : 2006-10-22 04:56 PM     只看本作者 引言回覆

回稟大大....
那個&的確可以不要- -a

不過最後的問題還是存在就是...

剛剛發現了問題所在 原來是陣列宣告有問題.... 設太少...

另外想補問一下 有辦法把程式改成每次do loop中間改.txt黨的數值

會使下個loop的結果不同的話...

可以做啥修改呢?

[heroine 在  2006-10-22 05:22 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記

   



 



所在時區為 GMT+8, 現在時間是 2024-4-27 10:46 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.029955 second(s), 8 queries , Qzip disabled