【C語言】利用文本編輯軟件在磁盤上建立一個有n個學生的學號、姓名及英語、數學和計算機三門課程成績的數據文件。編寫程序將數據文件讀入,且求出每個學生的平均成績。


題目:1.利用文本編輯軟件在磁盤上建立一個有n個學生的學號、姓名及英語、數學和計算機三門課程成績的數據文件。

    2.編寫程序將數據文件讀入,且求出每個學生的平均成績。

 

過程:

  文本編輯軟件就是記事本等等,我用的是notepad++,在此推薦大家可以裝一個notepad++寫代碼是真的方便快捷。

  建立如下數據文件,文件名students.dat

  *此處也可以建立成txt后綴的文件

  

下面是C語言代碼

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define N 5
 4 struct student{
 5     int num;
 6     char name[10];
 7     float eng;
 8     float mat;
 9     float com;
10 }stu[N];
11 int main(){
12     FILE *fp;
13     int i;
14     float ave=0;
15     if((fp=fopen("C:\\Users\\root\\Desktop\\students.dat","r"))==NULL)
16     {
17         printf("Open file error!");
18         exit(0);
19     }
20     for(i=0;i<N;i++)
21     {    fscanf(fp,"%d",&stu[i].num);
22         fscanf(fp,"%s",&stu[i].name);
23         fscanf(fp,"%f",&stu[i].eng);
24         fscanf(fp,"%f",&stu[i].mat);
25         fscanf(fp,"%f",&stu[i].com);
26         //fread(&stu[i],sizeof(struct student),1,fp);
27         ave = (stu[i].eng + stu[i].mat + stu[i].com)/3;
28         printf("學號\t姓名\t平均成績\n");
29         printf("%d\t%s\t%.2f\n",stu[i].num,stu[i].name,ave);
30     }
31     fclose (fp);
32     return 0;
33 }

 

程序運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 學生成績表數據包括:學號,姓名,高數,英語和計算機三門課成績,計算每個學生總分,每課程平均分,最高分和最低分 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) 有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,況原有的數據和計算出的平均分數存放在磁盤文件 有五個學生,每個學生有3門課(語文、數學、英語)的成績, * 寫一個程序接收從鍵盤輸入學生的信息,輸入格式為:name,30,30,30(姓名,三門課成績) 按平均成績從高到低顯示所有學生的“數據庫”、“企業管理”、“英語”三門的課程成績,按如下形式顯示: 學生ID,,數據庫,企業管理,英語,有效課程數,有效平均分 sql練習-查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績 【sql: 聯系題26 ,27】查詢平均成績大於等於 85 的所有學生的學號、姓名和平均成績,查詢課程名稱為「數學」,且分數低於 60 的學生姓名和分數 1查詢所有學生的學號、姓名、選課數、總成績,3、查詢出每門課程都大於80分的學生姓名4、刪除除了id號不同,其他信息都相同的學生冗余信息 一個SQL查詢出每門課程的成績都大於80的學生姓名 有一個班4個學生,5門課程 1求第1門課程的平均分; 2找出有兩門以上課程不及格的學生,輸出他們的學號和全部課程成績及平均成績; 3找出平均成績在90分以上或全部課程成績在85分以上的學生。4分別編3個函數實現以上3個要求。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM