C語言細節(jié),要點,有利于程序員面試,筆試
上傳時間: 2018-02-08
上傳用戶:Molen99
為微蕊的單片機與LCD interface
上傳時間: 2018-10-25
上傳用戶:mike329
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計成績 void input_score1(void);//統(tǒng)計成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統(tǒng)計成績 { printf("數(shù)學(xué)新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計算機新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數(shù)學(xué)成績:%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語成績:%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計算機成績:%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學(xué)生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學(xué)生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數(shù) { printf("1、按學(xué)號查詢\n2、按平均分最高查詢\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調(diào)度總函數(shù) { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數(shù) { printf("1、按數(shù)學(xué)成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學(xué)生資料 { printf("本班所有學(xué)生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學(xué)生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請重新輸入學(xué)生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學(xué)生信息管理系統(tǒng)======\n"); printf(" 1、輸入學(xué)生資料\n"); printf(" 2、刪除學(xué)生資料\n"); printf(" 3、查詢學(xué)生資料\n"); printf(" 4、修改學(xué)生資料\n"); printf(" 5、顯示學(xué)生資料\n"); printf(" 6、統(tǒng)計學(xué)生成績\n"); printf(" 7、排序?qū)W生成績\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請輸入學(xué)生信息(在最后一個學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學(xué)生信息 { printf("學(xué)號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數(shù)學(xué)成績:"); scanf("%f",&stu[a].sco.math); printf("英語成績:"); scanf("%f",&stu[a].sco.english); printf("計算機成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計算學(xué)生平均成績 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計算機成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學(xué)號查找學(xué)生并輸出 { int num; int c; printf("請輸入要查詢的學(xué)號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學(xué)生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學(xué)生成績管理系統(tǒng).rar (請將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面)
標簽: 成績查詢系統(tǒng)
上傳時間: 2019-06-08
上傳用戶:啊的撒旦
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計成績 void input_score1(void);//統(tǒng)計成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統(tǒng)計成績 { printf("數(shù)學(xué)新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計算機新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數(shù)學(xué)成績:%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語成績:%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計算機成績:%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學(xué)生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學(xué)生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數(shù) { printf("1、按學(xué)號查詢\n2、按平均分最高查詢\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調(diào)度總函數(shù) { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數(shù) { printf("1、按數(shù)學(xué)成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學(xué)生資料 { printf("本班所有學(xué)生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學(xué)生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請重新輸入學(xué)生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學(xué)生信息管理系統(tǒng)======\n"); printf(" 1、輸入學(xué)生資料\n"); printf(" 2、刪除學(xué)生資料\n"); printf(" 3、查詢學(xué)生資料\n"); printf(" 4、修改學(xué)生資料\n"); printf(" 5、顯示學(xué)生資料\n"); printf(" 6、統(tǒng)計學(xué)生成績\n"); printf(" 7、排序?qū)W生成績\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請輸入學(xué)生信息(在最后一個學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學(xué)生信息 { printf("學(xué)號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數(shù)學(xué)成績:"); scanf("%f",&stu[a].sco.math); printf("英語成績:"); scanf("%f",&stu[a].sco.english); printf("計算機成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計算學(xué)生平均成績 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計算機成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學(xué)號查找學(xué)生并輸出 { int num; int c; printf("請輸入要查詢的學(xué)號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學(xué)生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學(xué)生成績管理系統(tǒng).rar (請將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面) #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計成績 void input_score1(void);//統(tǒng)計成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!
標簽: c語言
上傳時間: 2019-06-09
上傳用戶:啊的撒旦
單片機,C語言,應(yīng)用技術(shù)包含教學(xué)用的PPT
標簽: 單片機 C語言 應(yīng)用技術(shù)
上傳時間: 2019-07-20
上傳用戶:fangxiaochun
C++讀取sgy格式的簡單小程序,區(qū)別于讀取普通文件,該源碼可以跳過卷頭和道頭,根據(jù)不同的道數(shù)和采樣點數(shù)讀取文件內(nèi)容
上傳時間: 2019-09-03
上傳用戶:dddeng
C#網(wǎng)絡(luò)核心編程資料,網(wǎng)絡(luò)程序設(shè)計系列叢書。
標簽: C#
上傳時間: 2021-11-12
上傳用戶:
Dev-C++安裝程序:C++語言是國際通用的主流程序設(shè)計語言之一。近年來,C++語言作為信息學(xué)競賽語言為越來越多的選手所選用。C++語言功能強大,數(shù)據(jù)類型豐富,程序結(jié)構(gòu)嚴謹,流程清晰,便于閱讀和理解。本書是程序設(shè)計與算法的入門教材,把DevC++語言、算法和解題有機地結(jié)合起來,淡化理論,注重實踐的學(xué)習(xí)方法和實用技巧。本書根據(jù)學(xué)生的學(xué)習(xí)規(guī)律和可接受性等因素,在全面介紹DevC++語言、語義的同時,對常用算法進行了盡可能深入的介紹剖析,幫助讀者了解程序設(shè)計的一般方法。全書共分為13章,包括DevC++入門、DevC++語言簡介、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)、數(shù)組、指針、字符串、文件、輸入與輸出流、鏈表、調(diào)試等內(nèi)容,并附有大量習(xí)題。書中的代碼規(guī)范、簡潔、易懂,不僅能幫助讀者理解算法原理,還能幫助讀者學(xué)會很多實用的編程技巧。
標簽: C語言
上傳時間: 2022-04-29
上傳用戶:
eeworm.com VIP專區(qū) 單片機源碼系列 30資源包含以下內(nèi)容:1. 8051系列單片機C程序設(shè)計完全手冊.pdf2. protues中常用原件中英對照.doc3. 單片機應(yīng)用設(shè)計.ppt4. protel99se-微典控制.zip5. stc不斷電代碼.doc6. STC12C5A60S2資料.pdf7. 8051系列單片機C程序設(shè)計完全手冊.pdf8. 自制觸摸按鍵.doc9. 80C51定時器計數(shù)器組成及應(yīng)用.ppt10. 單片機C語言簡易數(shù)字頻率計課程設(shè)計.rar11. keil中的錯誤及警告.pdf12. 80C51中斷系統(tǒng)組成及應(yīng)用.ppt13. 數(shù)字時鐘.rar14. 51單片機帶SD卡的彩屏手機界面模擬_-_單片機設(shè)計報告.doc15. 80C51單片機IO口應(yīng)用及擴展.ppt16. 按鍵程序討論.rar17. 80C51單片機指令系統(tǒng)及編程.ppt18. 定時器初值計算器.exe19. Windows下通過計算機并口讀寫24系列I2C存儲器.zip20. 單片機課件(單片微型計算機原理及應(yīng)用)(第1,2,3章).ppt21. 51單片機開發(fā)板原理圖.pdf22. 51單片機資料.rar23. Proteus_ARES的PCB設(shè)計.pdf24. Keil中文版.rar25. 基于51單片機的lcd12864的畫圖程序.doc26. STM32固件庫詳解.pdf27. USB攝像頭原理圖.pdf28. 單片機基礎(chǔ)第三版課后答案_李廣弟.pdf29. (1小時學(xué)會C語言51單片機)C語言入門教程.doc30. 用單片機80C51控制流水燈.rar31. 無線發(fā)射模塊XL24L01_原廠及_CC2500共用資料.rar32. 運用單片機制作的高精度數(shù)顯計數(shù)器.rar33. 步進電機控制入門資料.pdf34. KEIL 無限制完全破解版及教程使用指南.rar35. 怎樣才能學(xué)好單片機.pdf36. 電子時鐘課程設(shè)計.doc37. 單片機開發(fā).rar38. NEC紅外解碼12Mhz.doc39. 刪繁就簡單片機從入門到精通.pdf40. MSP430系列超低功耗16位單片機原理與應(yīng)用.pdf41. 單片機與GPRS通訊要點.pdf42. MSP430系列單片機實用C語言(電子版書籍).PDF43. STM32固件庫使用手冊中文.pdf44. 資源測試.exe45. 南航MSP430課程試用書.pdf46. STM32F103XXX參考手冊 中文完整細節(jié)版.pdf47. 單片機PWM智能調(diào)速.doc48. MSP430F149(中文).pdf49. Cortex-M3技術(shù)參考手冊..pdf50. TX-1C型單片機實驗板原理圖.pdf51. MSP430最小系統(tǒng)板 使用說明.pdf52. 《ARM Cortex-M3開發(fā)指南》目錄.pdf53. 單片機初學(xué)之路.ppt54. MSP430最小系統(tǒng)電路圖.pdf55. Contex M3 權(quán)威指南一.pdf56. LESSON3數(shù)碼管靜態(tài)顯示及定時器和中斷應(yīng)用.ppt57. 基于磁場檢測的尋線小車傳感器布局研究.pdf58. MSP430_C語言例程注釋詳.pdf59. LESSON5_鍵盤.ppt60. C語言編程實例100題.doc61. Contex M3 權(quán)威指南二.pdf62. C語言難點講解.pdf63. 無源蜂鳴器唱歌 世上只有媽媽好.zip64. Keil_uvision_4基本使用教程(菜鳥必備).pdf65. 單片機類畢業(yè)設(shè)計.rar66. 單片機IO口知識.ppt67. 脫機ISP編程器.rar68. 單片機C語言程序設(shè)計實訓(xùn)100例——基于8051+Proteus仿真.pdf69. ARM高校培訓(xùn)-CortexM4.pdf70. AVR單片機 C語言程序設(shè)計經(jīng)典實用.rar71. 芯睿單片機各類型號常用選型表.xls72. MSP430F249資料.pdf73. 正余弦編碼器的細分技術(shù).pdf74. led8×8滾動顯示PROTEUS.rar75. 51定時器小工具.exe76. 基于AT89c51的溫度控制器設(shè)計.pdf77. 單片機原理及應(yīng)用.rar78. 基于MFC與單片機串口調(diào)試程序.docx79. C51常用子程序 [精].rar80. 51單片機控制的遙控車制作過程總結(jié)和體會.docx81. 基于AT89S52的電子萬年歷設(shè)計報告.doc82. 單片機的40個實驗.pdf83. 51單片機pwm控制.zip84. 智能往返小車的控制設(shè)計.doc85. STC89C52資料.pdf86. avr單片機icc寫的密碼鎖.zip87. 模擬串口的一些介紹.doc88. TC9012紅外發(fā)射.pdf89. 單片機編程實例大全.doc90. 基于51單片機數(shù)字時鐘的設(shè)計.doc91. 8x8點陣字模提取軟件.rar92. Keil_uVision3學(xué)習(xí)教程.doc93. 8x8LED顯示原理.doc94. PCF8591中文規(guī)格書.pdf95. PIC18F2420_2520_4420_4520_CN.pdf96. AVR單片機軟硬件設(shè)計入門教程-ppt.zip97. STC89C52RC-RD使用手冊.pdf98. ATMEGA單片機制作智能充電器的詳細說明.pdf99. Motorola微控制器MC68HC08原理及其嵌入式應(yīng)用.PDF100. Protel DXP元件庫[精華].rar
上傳時間: 2013-07-10
上傳用戶:eeworm
eeworm.com VIP專區(qū) 單片機源碼系列 36資源包含以下內(nèi)容:1. STM32實現(xiàn)定時加熱.rar2. MDK412破解版下載及說明.doc3. [單片機開發(fā)環(huán)境Keil6.12和ADS1.2].KeilC51v612.rar4. STM32控制倒立擺.rar5. 基于MSP430內(nèi)嵌溫度傳感器的溫度報警系統(tǒng).doc6. 用單片機做的小編程-心形燈.rar7. 80C51單片機原理與應(yīng)用.pdf8. 如何學(xué)習(xí)單片機(基于ARM平臺).docx9. 51-AVR(二合一)單片機開發(fā)板電路圖.pdf10. LT48UXP_900_WIN7.rar11. MSP430學(xué)習(xí)筆記.pdf12. 基于單片機的智能臺燈設(shè)計.rar13. MSP430定時器的使用.pdf14. 基于單片機的溫度采集記錄系統(tǒng).rar15. ad574程序.doc16. 基于單片的智能溫度報警系統(tǒng).rar17. 單片機輕松入門.pdf18. HOT-51_PCB全圖.pdf19. 法拉電容 組合型5.5V系列.doc20. keil c51chbook.pdf21. 51開發(fā)板(原理圖).pdf22. 數(shù)字鬧鐘的設(shè)計.doc23. JN5139最小系統(tǒng).pdf24. AT89S52芯片簡介.rar25. 18f4520數(shù)據(jù)手冊.pdf26. 基于單片機AT89C2051的九路多功能智力競賽搶答器的設(shè)計.pdf27. 基于單片機和DS18B20的溫度計的設(shè)計.rar28. AT90CAN128資料.pdf29. 自動加料機控制系統(tǒng)資料.rar30. C語言函數(shù)庫.pdf31. stm32介紹.pdf32. 控制數(shù)碼管.rar33. 自制實用多功能編程器.rar34. STC12C5A60S2數(shù)據(jù)資料.zip35. Keil-C中使用STCMCU的第二組DPTR的方法.zip36. 單片機控制系統(tǒng)的抗干擾設(shè)計.rar37. 單片機原理及應(yīng)用基礎(chǔ)知識.ppt38. STC15F2K60S2系列學(xué)習(xí)板.RAR39. 8FX開發(fā)環(huán)境Softune使用說明(中文).pdf40. MCS-51單片機中斷系統(tǒng).ppt41. 紅外代碼.rar42. 8fx工具介紹.pdf43. MCS-51系列單片機中斷系統(tǒng).ppt44. msp430單片機驅(qū)動諾基亞5110液晶程序.zip45. 8fx單片機片上資源.pdf46. 并行I/O擴展技術(shù).ppt47. 51端口的結(jié)構(gòu)及工作原理.pdf48. 富士通8位單片機應(yīng)用手冊.pdf49. 串行通信技術(shù).ppt50. 步進電機細分.pdf51. 循跡避障小車方案.docx52. 單片機應(yīng)用系統(tǒng)設(shè)計資料.ppt53. ICCAVR 軟件中文說明書.pdf54. I/O設(shè)備接口技術(shù).ppt55. C語言作單片機初級教程.pdf56. 各種電容的作用.doc57. 8051單片機C語言徹底應(yīng)用.pdf58. 基于51單片機簡易溫度顯示器匯編程序·.doc59. 凌陽_61板傻瓜書.pdf60. C語言函數(shù)大全.pdf61. 跟我學(xué)SPCE061A單片機.pdf62. 51寄存器手冊速查.doc63. STC下載軟件(STC官方燒錄工具).rar64. 單片機原理及應(yīng)用(C語言版)9.ppt65. 用89c51做的幾個好作品.rar66. 單片機顯示頻率模塊設(shè)計.doc67. 51單片機的10大作品,都不是蓋的.pdf68. 步進電機原理.pdf69. FRTOS移植到PIC.pdf70. 基于AT89C52的遙控電扇電路圖設(shè)計.rar71. 51單片機串口通信.ppt72. STC-ISP(STC官方燒錄工具).rar73. 智能小車實訓(xùn)教學(xué)大綱.doc74. 萬年歷和鬧鐘的設(shè)計.doc75. 詳細的舵機控制原理資料.pdf76. SAM88-RCRI指令集.pdf77. 80C51_HARDWARE_1.pdf78. MSP430系列C編譯器編程指南.pdf79. 遠程控制系統(tǒng)的現(xiàn)場安裝與調(diào)試.pdf80. 單片機以太網(wǎng)接口的實現(xiàn).pdf81. Proteus 仿真實例.rar82. 電子設(shè)計大賽《數(shù)字示波器》作品解析.pdf83. 指針總結(jié).pdf84. s3f9454_中文.pdf85. 電子設(shè)計大賽_數(shù)字存儲示波器設(shè)計.pdf86. AVR單片機選型.pdf87. 12864使用手冊.pdf88. 2011年全國電子設(shè)計競賽培訓(xùn).pdf89. 基于51單片機的智能快速充電器設(shè)計.doc90. msp430紅外串口通信.rar91. DS1302 DS18B20 LCD1602經(jīng)典萬年歷 高低溫報警.doc92. 單片機資料寶典.exe93. STM32芯片引腳圖.pdf94. 機器人控制電子學(xué)_做機器人必要資料.rar95. AT24c02串行口讀寫.pdf96. STM32常用的基本資料.doc97. [PIC項目實戰(zhàn):基于PIC18].Advanced.PIC.Microcontroller.Projects.in.C.pdf98. MODBUS通訊規(guī)約文本.pdf99. 80C51_PROG_GUIDE_1.pdf100. [電動機的單片機控制].王曉明.掃描版.pdf
標簽: 電磁場 中的應(yīng)用 目標識別
上傳時間: 2013-04-15
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1