在各種不同的網(wǎng)絡(luò)傳送協(xié)議上,為網(wǎng)絡(luò)編程提供一個(gè)大家都很熟悉的接口,需注意各種網(wǎng)絡(luò)協(xié)議的一些特征。本章將全面講述使用特定協(xié)議時(shí)應(yīng)該留意的一些特征,其中包括一些基本的網(wǎng)絡(luò)連接原理。另外,我們還將討論如何通過程序向 Wi n s o c k查詢協(xié)議信息,并探討針對(duì)一種具體協(xié)議創(chuàng)建套接字所需的基本步驟。
標(biāo)簽: 網(wǎng)絡(luò) 傳送 協(xié)議
上傳時(shí)間: 2017-06-05
上傳用戶:a673761058
#include "string.h" #include "ctype.h" #include "stdio.h" search(char pd[]) {FILE *fp; int time=0,i=0,j=0,add[80],k=0,m; char *ch, str[900]; m=strlen(pd); if((fp=fopen("haha.txt","r"))==NULL) { printf("Cannot open this file\n"); exit(0); } for(;!feof(fp);i++) { str[i]=fgetc(fp); if(tolower(str[i])==tolower(pd[k])) {k++; if(k==m) if(!isalpha(i-m)&&!isalpha((str[i++]=fgetc(fp)))) { time++; add[j]=i-m+1; j++; k=0; } else k=0; } } if(time) { printf("The time is:%d\n",time); printf("The adders is:\n"); for(i=0;i<j;i++) printf("%5d",add[i]); if(i%5==0) printf("\n"); getch(); fclose(fp); } else printf("Sorry!Cannot find the word(^_^)"); } main() { char pd[10],choose='y'; int flag=1; while(flag) {printf("In put the word you want to seqarch:"); scanf("%s",pd); search(strlwr(pd)); printf("\nWould you want to continue?(Y/N):"); getchar(); scanf("%c",&choose); if((tolower(choose))=='n') flag=0; else flag=1; } printf("Thanks for your using!Bye-bye!\n"); getch(); }
標(biāo)簽: 學(xué)生專用
上傳時(shí)間: 2016-12-29
上傳用戶:767483511
:消落帶土壤由于在水陸交替的特殊生境和復(fù)雜的地球化學(xué)共同作用下形成,具有獨(dú)特的理化性質(zhì)和生態(tài)功能。各營養(yǎng)鹽 含量在時(shí)間和空間上具有較高的變異性,土壤中有機(jī)質(zhì)的分布及遷移和轉(zhuǎn)化均受到復(fù)雜的影響。針對(duì)官廳水庫流域上游媯水 河段消落帶,選擇典型消落帶落水區(qū),對(duì)該區(qū)土壤有機(jī)質(zhì)含量的時(shí)空分布特征進(jìn)行研究。結(jié)果表明:1)研究區(qū)消落帶土壤有機(jī) 質(zhì)含量較為貧瘠,變化范圍在1.64—26∥蠅之間,平均值僅為13.169/kg,變異系數(shù)達(dá)50.59%。說明消落帶由于季節(jié)性干濕交 替的特殊水文條件的影響,土壤養(yǎng)分的分布具有較高的空間異質(zhì)性。淹水頻繁區(qū)有機(jī)質(zhì)含量平均值為15.74∥婦,高于長期出 露區(qū)的10.12∥k,且變異系數(shù)為41.38%,小于長期出露區(qū)的54.98%。說明淹水頻繁區(qū)對(duì)土壤養(yǎng)分的持留能力更強(qiáng),且周期性 的淹水條件使得研究區(qū)近岸具有相似的生境類型,不同采樣點(diǎn)土壤有機(jī)質(zhì)含量的差異相對(duì)較小。2)不同植物群落下.蘆葦和 香蒲群落土壤有機(jī)質(zhì)含量最高,平均值為17.089/kg;含量最低的是以小葉楊和白羊草為主的中旱生植物帶,平均值為9.12,∥ kg;其次是酸模葉蓼、大刺兒菜為優(yōu)勢(shì)物種的濕生植物帶,土壤有機(jī)質(zhì)含量平均值為15.499/kg。3)不同土壤層次有機(jī)質(zhì)含量差 異較大,總體變化趨勢(shì)均由表層向下逐漸減少,各層之間體現(xiàn)出顯著差異性(P<0.05)。研究區(qū)土壤C/N變化范圍在1.64— 18.95,平均值為8.95。說明研究區(qū)土壤碳氮比相對(duì)較低,有機(jī)質(zhì)的腐殖化程度較高,且長期出露區(qū)土壤有機(jī)質(zhì)更容易發(fā)生分 解,C的累積速度遠(yuǎn)小于N。土壤C/N垂直分布大致呈先增大后減小趨勢(shì),在30cm處達(dá)到最大值,而后隨著土壤深度的增加逐 漸減小。4)消落帶土壤有機(jī)質(zhì)分布的影響因素分析中,土壤有機(jī)質(zhì)與全磷呈極顯著正相關(guān),相關(guān)系數(shù)為0.62(P<0.01):與土壤 全氮和C/N呈顯著正相關(guān)(R=0.57,O.60;P<0.05)。這說明研究區(qū)土壤全磷、全氮、C/N和有機(jī)質(zhì)明顯具有相同的變化趨勢(shì).和 有機(jī)質(zhì)存在相互影響。其次,土壤有機(jī)質(zhì)和濕度在呈顯著負(fù)相關(guān)(R=一O.51;P<0.05),表明研究區(qū)土壤濕度對(duì)有機(jī)質(zhì)含量具有 顯著的影響。氣候因子中,溫度對(duì)研究區(qū)土壤有機(jī)質(zhì)的分布具有顯著的影響,相關(guān)系數(shù)為一0.51(P<0.05)。植被因子中.植被 覆蓋度和土壤有機(jī)質(zhì)含量呈顯著正相關(guān),相關(guān)系數(shù)為0.64,表明植被因子也是影響土壤有機(jī)質(zhì)分布的重要因素之一。
上傳時(shí)間: 2018-08-13
上傳用戶:閩外莯莯
#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é)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(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é)號(hào)查詢學(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)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(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é)號(hào) 姓名 數(shù)學(xué)成績 英語成績 計(jì)算機(jī)成績 平均成績\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)計(jì)成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%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)計(jì)成績 { printf("數(shù)學(xué)新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號(hào):%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("計(jì)算機(jī)成績:%.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é)號(hào)查詢\n2、按平均分最高查詢\n請(qǐng)選擇:"); 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、按計(jì)算機(jī)成績排序\n4、按平均成績排序\n請(qǐng)選擇:"); 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é)號(hào) 姓名 數(shù)學(xué)成績 英語成績 計(jì)算機(jī)成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請(qǐng)重新輸入學(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)計(jì)學(xué)生成績\n"); printf(" 7、排序?qū)W生成績\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請(qǐng)選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(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é)號(hào):"); 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("計(jì)算機(jī)成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計(jì)算學(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)//按照計(jì)算機(jī)成績排序 { 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é)號(hào)查找學(xué)生并輸出 { int num; int c; printf("請(qǐng)輸入要查詢的學(xué)號(hào):"); 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; } } 運(yùn)行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡單的學(xué)生成績管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面)
標(biāo)簽: 成績查詢系統(tǒng)
上傳時(shí)間: 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é)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(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é)號(hào)查詢學(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)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(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é)號(hào) 姓名 數(shù)學(xué)成績 英語成績 計(jì)算機(jī)成績 平均成績\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)計(jì)成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%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)計(jì)成績 { printf("數(shù)學(xué)新成績:"); scanf("%f",&stu[a].sco.math); printf("英語新成績:"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)新成績:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號(hào):%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("計(jì)算機(jī)成績:%.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é)號(hào)查詢\n2、按平均分最高查詢\n請(qǐng)選擇:"); 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、按計(jì)算機(jī)成績排序\n4、按平均成績排序\n請(qǐng)選擇:"); 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é)號(hào) 姓名 數(shù)學(xué)成績 英語成績 計(jì)算機(jī)成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請(qǐng)重新輸入學(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)計(jì)學(xué)生成績\n"); printf(" 7、排序?qū)W生成績\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請(qǐng)選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(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é)號(hào):"); 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("計(jì)算機(jī)成績:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計(jì)算學(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)//按照計(jì)算機(jī)成績排序 { 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é)號(hào)查找學(xué)生并輸出 { int num; int c; printf("請(qǐng)輸入要查詢的學(xué)號(hào):"); 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; } } 運(yùn)行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡單的學(xué)生成績管理系統(tǒng).rar (請(qǐng)將此地址復(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é)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計(jì)算學(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é)號(hào)查詢學(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)計(jì)成績 void input_score1(void);//統(tǒng)計(jì)成績總函數(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é)號(hào) 姓名 數(shù)學(xué)成績 英語成績 計(jì)算機(jī)成績 平均成績\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)計(jì)成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!
標(biāo)簽: c語言
上傳時(shí)間: 2019-06-09
上傳用戶:啊的撒旦
eeworm.com VIP專區(qū) 單片機(jī)源碼系列 4資源包含以下內(nèi)容:1. C51 MODBUS 實(shí)現(xiàn).rar2. 51單片機(jī) 計(jì)算器 1602顯示.rar3. 51單片機(jī)電子密碼鎖.doc4. 12864LCD電子鐘資料包_小賴提供(1).rar5. 超聲波測(cè)距C程序.zip6. 單片機(jī)的頻率計(jì).rar7. Proteus的8051仿真經(jīng)典實(shí)例.rar8. stc單片機(jī)頭文件.rar9. CX20106A中文資料.pdf10. EWB經(jīng)典實(shí)用列子.rar11. 數(shù)字溫濕度傳感器SHT1 SHT7系列代碼.pdf12. PC與AVR通過D12進(jìn)行USB通訊全套資料.rar13. 51單片機(jī)各類源程序集錦.rar14. 用C51編寫的中文拼音輸入法.zip15. 51系列單片機(jī)的ModbusRTU.rar16. 51單片機(jī)PWM控制LED的亮度.doc17. ADF4106.pdf18. 字庫提取程序.zip19. STM32 uCOS+uCGUI(FSMC).rar20. 基于51單片機(jī)的循跡小車C語言程序.rar21. AVR+CH375+VS1003.rar22. PWM調(diào)速的C語言程序編寫.doc23. LM4229電子書閱讀器.rar24. 16×16點(diǎn)陣(滾動(dòng)顯示).rar25. 步進(jìn)電機(jī)控制程序.rar26. 89c52sht10溫濕度采集.rar27. 12864液晶滾動(dòng)顯示.rar28. LCD12864多級(jí)菜單仿真.rar29. 壓力傳感器mpx4115驅(qū)動(dòng)程序.rar30. 電子密碼鎖24C02.rar31. 基于51單片機(jī)的數(shù)字頻率計(jì).rar32. 用虛擬串口仿真LPC2138(UART0).zip33. AVR單片機(jī)RS232通信接口應(yīng)用設(shè)計(jì).rar34. tlc1543 1602液晶顯示 +c語言.rar35. 32*64點(diǎn)陣.doc36. CC2430溫度采集.rar37. 20多個(gè)proteus仿真的例子.rar38. 雙色點(diǎn)陣電路圖及原理 代碼.rar39. 基于51單片機(jī)制作的MP3.rar40. 單片機(jī)波形發(fā)生器電路.doc41. stm32 lcd 示波器源碼.rar42. 51最小系統(tǒng).rar43. msp430f149 c語言例程.zip44. STM8 lcd.doc45. LM3S ADC例程多種采樣觸發(fā)方式.zip46. LM3S系列ADC例程內(nèi)置的溫度傳感器.zip47. LM3S系列SSI例程:掃描8位動(dòng)態(tài)數(shù)碼管.zip48. LM3S系列IAR 4.42A工程模板.zip49. LM3S系列UART例程:UART簡單收發(fā).zip50. LM3S系列UART發(fā)送FIFO觸發(fā)中斷.zip51. LM3S系列UART例程:發(fā)送FIFO工作原理.zip52. LM3S系列UART例程:以FIFO中斷方式發(fā)送.zip53. LM3S系列UART例程:以FIFO中斷方式接收.zip54. LM3S系列UART例程:以FIFO中斷方式接收.zip55. LM3S系列基本例程:LED閃爍發(fā)光.zip56. LM3S系列Hibernate例程:冬眠RTC喚醒.rar57. LM3S系列Flash例程:當(dāng)作EEPROM.zip58. 新手必備的stm8例程.rar59. STM32中文固件庫.rar60. 單片機(jī)多級(jí)菜單編程思想.doc61. LM3S系列I2C例程:數(shù)字溫度傳感器LM75A.zip62. 基于LPC21XX下的 keil Startup.s分析.doc63. 24C02程序.doc64. uip1.0 C51源代碼.rar65. STM庫.rar66. 51實(shí)例大全.rar67. proteus與keil級(jí)聯(lián)的VDM51.dll.rar68. T9拼音輸入法源代碼.doc69. 完整msp430驅(qū)動(dòng)12864液晶程序.rar70. PID算法 C語言.rar71. 基于uIP框架的8051tcpip源碼.rar72. AVR利用USI模塊作為I2C從機(jī).zip73. AVR利用TWI模塊作為I2C從機(jī).zip74. uzz9001驅(qū)動(dòng)程序.rar75. 51單片機(jī)與三菱PLC串口通訊.doc76. MMA7455加速度傳感器51例程.rar77. 1602顯示程序(51版).rar78. usb轉(zhuǎn)rs232.rar79. 51單片機(jī)常用模塊程序代碼.rar80. 1602液晶驅(qū)動(dòng)源程序.rar81. 智能澆灌系統(tǒng)源代碼.rar82. VS1003驅(qū)動(dòng).pdf83. AD/DA轉(zhuǎn)換.rar84. STM32 DAC_產(chǎn)生正弦波.rar85. STM32 USART1 2 3三串口收發(fā).rar86. STM32 I2C 模擬.rar87. STM32 FSMC中文資料及FSMC控制LCD例程.rar88. LM3s8962 以太網(wǎng)速度測(cè)試.rar89. cortex-m0 LCD1602程序.rar90. 51電子鐘.rar91. STM32F2xx DMA配置例程.rar92. STM32F2xx FSMC配置例程.rar93. STM32F2xx GPIO配置例程.rar94. STM32F2xx 標(biāo)準(zhǔn)固件庫.rar95. STM32F103C8-PKT評(píng)估板例程.rar96. AVR單片機(jī)C語言程序設(shè)計(jì)實(shí)例精粹.rar97. C51共陽七段數(shù)碼管動(dòng)態(tài)顯示.rar98. STM32攝像頭程序.rar99. freescale k40/k60 adc 例程.rar100. freescale k40/k60 12bit dac 例程.rar
標(biāo)簽: matlab 數(shù)學(xué)建模 實(shí)驗(yàn)
上傳時(shí)間: 2013-05-15
上傳用戶:eeworm
這是用 PIC 寫的利用感應(yīng)大門轉(zhuǎn)速偵測(cè)大門是否碰到障礙物
標(biāo)簽: PIC
上傳時(shí)間: 2013-12-08
上傳用戶:aig85
量測(cè)可變電阻的類比電壓值,並將10位元的良測(cè)結(jié)果轉(zhuǎn)換成ASCII編碼,並輸出到個(gè)人電腦上的終端機(jī)
標(biāo)簽:
上傳時(shí)間: 2014-01-19
上傳用戶:hzy5825468
C函數(shù)速查手冊(cè) 出版社:人民郵電出版社 《C函數(shù)速查手冊(cè)》中所講的C語言函數(shù)按照功能順序和字母順序進(jìn)行排序,讀者既可以按照功能順序查找,也可以按照字母順序?qū)W習(xí)。《C函數(shù)速查手冊(cè)》不僅適合于C語言初學(xué)者學(xué)習(xí)使用,而且也可以作為中、高級(jí)C語言開發(fā)人員的參考手冊(cè)。 目錄 第1章 數(shù)學(xué)函數(shù) 1.1 _clear87函數(shù):清除浮點(diǎn)狀態(tài)字 1.2 _status87函數(shù):取浮點(diǎn)狀態(tài)字 1.3 abs函數(shù):求整數(shù)的絕對(duì)值 1.4 acos、acosl函數(shù):反余弦函數(shù) 1.5 asin、asinl函數(shù):反正弦函數(shù) 1.6 atan函數(shù):反正切函數(shù) 1.7 atan2、atan2l函數(shù):計(jì)算Y/X的反正切值 1.8 cabs函數(shù):計(jì)算復(fù)數(shù)的模 1.9 ceil函數(shù):向上取整 1.10 cos函數(shù):余弦函數(shù) 1.11 cosh函數(shù):雙曲余弦函數(shù) 1.12 div函數(shù):求兩個(gè)整數(shù)相除的商和余數(shù) 1.13 exp函數(shù):指數(shù)函數(shù) 1.14 fabs函數(shù):求浮點(diǎn)數(shù)的絕對(duì)值 1.15 floor函數(shù):向下取整 1.16 fmod函數(shù):計(jì)算x對(duì)y的模 1.17 frexp函數(shù):將浮點(diǎn)數(shù)分為底數(shù)與指數(shù) 1.18 hypot函數(shù):計(jì)算直角三角形的斜邊 1.19 labs函數(shù):取長整數(shù)的絕對(duì)值 1.20 ldexp、ldexpl函數(shù):冪計(jì)算 1.21 ldiv函數(shù):兩個(gè)長整型數(shù)相除 1.22 log、logl函數(shù):計(jì)算自然對(duì)數(shù) 1.23 log10、log10l函數(shù):計(jì)算常用對(duì)數(shù) 1.24 max函數(shù):求兩個(gè)數(shù)中的最大者 1.25 min函數(shù):求兩個(gè)數(shù)中的最小者 1.26 modf、modfl函數(shù):分割數(shù)為整數(shù)部分和小數(shù)部分 1.27 poly函數(shù):計(jì)算多項(xiàng)式 1.28 pow函數(shù):指數(shù)函數(shù) 1.29 pow10函數(shù):指數(shù)函數(shù) 1.30 rand函數(shù):隨機(jī)數(shù)發(fā)生器 1.31 random函數(shù):隨機(jī)數(shù)發(fā)生器 1.32 randomize函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.33 sin函數(shù):正弦函數(shù) 1.34 sinh函數(shù):雙曲正弦函數(shù) 1.35 sqrt函數(shù):計(jì)算平方根 1.36 srand函數(shù):初始化隨機(jī)數(shù)發(fā)生器 1.37 tan、tanl函數(shù):正切函數(shù) 1.38 tanh、tanhl函數(shù):雙曲正切函數(shù) 第2章 字符串函數(shù) 2.1 atof函數(shù):把字符串轉(zhuǎn)換成浮點(diǎn)數(shù) 2.2 atoi函數(shù):將字符串轉(zhuǎn)換成整型數(shù) 2.3 atol函數(shù):將字符串轉(zhuǎn)換成長整型數(shù) 2.4 ecvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.5 fcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串 2.6 gcvt函數(shù):將浮點(diǎn)數(shù)轉(zhuǎn)換成字符串 2.7 itoa函數(shù):將整數(shù)值轉(zhuǎn)換為字符串 2.8 isalnum函數(shù):字母、數(shù)字判斷函數(shù) 2.9 isalpha函數(shù):字母判斷函數(shù) 2.10 isascii函數(shù):整數(shù)值的字符分類 2.11 iscntrl函數(shù):控制字符判斷函數(shù) 2.12 isdigit函數(shù):數(shù)字判斷函數(shù) 2.13 isgraph函數(shù):打印字符判斷 2.14 islower函數(shù):小寫字母判斷函數(shù) 2.15 isprint函數(shù):可打印字符判斷函數(shù) 2.16 isptmct函數(shù):標(biāo)點(diǎn)符號(hào)判斷函數(shù) 2.17 isspace函數(shù):空格等判斷函數(shù) 2.18 isupper函數(shù):大寫字母判斷函數(shù) 2.19 isxdigit函數(shù):十六進(jìn)制數(shù)字判斷函數(shù) 2.20 ltoa函數(shù):將長整值轉(zhuǎn)換為字符串 2.21 mbstowcs函數(shù):將多字節(jié)字符序列轉(zhuǎn)換成相應(yīng)的寬字符序列 2.22 mbtowc函數(shù):將多字節(jié)字符轉(zhuǎn)換成相應(yīng)的寬字符 2.23 stpcpy函數(shù):復(fù)制字符串 2.24 strcat函數(shù):拼接字符串 2.25 strchr函數(shù):查找給定字符 2.26 strcmp函數(shù):比較字符串 2.27 strcmpi函數(shù):比較字符串 2.28 strcpy函數(shù):復(fù)制字符串 2.29 strcspn函數(shù):查找不包含指定字符集子串的段 2.30 strdup函數(shù):將字符串復(fù)制到新建的位置 2.31 stricmp函數(shù):比較字符串 2.32 strlen函數(shù):獲取字符長度
標(biāo)簽: 函數(shù) 書下載 速查手冊(cè)
上傳時(shí)間: 2014-12-25
上傳用戶:水口鴻勝電器
C函數(shù)速查
上傳時(shí)間: 2014-12-30
上傳用戶:黃婷婷思密達(dá)
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1