我也是因?yàn)閷W(xué)習(xí)需要,下拉個(gè)金山詞霸沒想到要用戶名和密碼,,可是我沒有啊,所以請(qǐng)求你的幫助,,
我本人推薦你用谷歌金山詞霸,功能多,?! ∵@些是可用金山詞霸2009的通行證和密碼,你可以試試看,?! ?include<stdio.h> #include <time.h> #include<conio.h> /*清屏*/ #include <stdlib.h> /*顯示目錄*/ #include<string.h> #define MAX 80 void input(); /*輸入數(shù)據(jù)函數(shù)*/ void sort();/*排序數(shù)據(jù)函數(shù)*/ void sort1(); void sort2(); void sort3(); void display();/*顯示數(shù)據(jù)函數(shù)*/ void display1(); void insert(); /*插入數(shù)據(jù)函數(shù)*/ void del(); /*刪除數(shù)據(jù)函數(shù)*/ void average(); /*平均值函數(shù)*/ void find();/*查找數(shù)據(jù)函數(shù)*/ void find1(); void find2(); void save(); /*保存數(shù)據(jù)函數(shù)*/ void read(); /*讀出數(shù)據(jù)函數(shù)*/ void del_file(); /*刪除文件函數(shù)*/ void modify(); /*修改文件函數(shù)*/ int now_no=0; struct student { int no; char name[20]; char sex[4]; float score1; float score2; float score3; float sort; float ave; float sum; }; struct student stu[MAX],*p; main()/*主函數(shù)*/ { int as; char ch; do{ start: printf("歡迎使用學(xué)生成績(jī)管理系統(tǒng)"); printf("******************按任意鍵繼續(xù)********************"); ch=getch(); } while(!ch); system("cls"); /*一下為功能選擇模塊*/ do { printf("1.錄入學(xué)員信息2.顯示學(xué)員總成績(jī)信息3.對(duì)總成績(jī)排序4.顯示學(xué)員單科成績(jī)排序5.添加學(xué)員信息6.刪除學(xué)員信息7.修改學(xué)員信息8.查詢學(xué)員信息9.從文件讀入學(xué)員信息10.刪除文件中學(xué)員信息11.保存學(xué)員信息12.退出"); printf("選擇功能選項(xiàng)(輸入所選功能前的數(shù)字):"); fflush(stdin); /*可用可不用,用于清除緩存防止下次用scanf輸入是出現(xiàn)錯(cuò)誤*/ scanf("%d",&as); switch(as) { case 1:system("cls"); input(); break; case 2:system("cls"); display(); break; case 3:system("cls"); sort(); break; case 4:system("cls"); display1(); break; case 5:system("cls"); insert(); break; case 6:system("cls"); del(); break; case 7:system("cls"); modify(); break; case 8:system("cls"); find(); break; case 9:system("cls"); read(); break; case 10:system("cls"); del_file(); break; case 11:system("cls"); save(); break; case 12:system("exit"); exit(0); default:system("cls"); goto start; } }while(1);/*while(1),,1表示真,,所以while(1)表示永遠(yuǎn)循環(huán)下去,一般在while(1)的循環(huán)體內(nèi)都有break 或者return 跳出循環(huán)*/ /*至此功能選擇結(jié)束*/ } void input()/*原始數(shù)據(jù)錄入模塊*/ { int i=0; char ch; do { printf("1.錄入學(xué)員信息輸入第%d個(gè)學(xué)員的信息",i+1); printf("輸入學(xué)生編號(hào):"); scanf("%d",&stu[i].no); fflush(stdin); printf("輸入學(xué)員姓名:"); fflush(stdin); gets(stu[i].name); printf("輸入學(xué)員性別:"); fflush(stdin); gets(stu[i].sex); printf("輸入學(xué)員成績(jī)1:"); scanf("%f",&stu[i].score1); printf("輸入學(xué)員成績(jī)2:"); fflush(stdin); scanf("%f",&stu[i].score2); printf("輸入學(xué)員成績(jī)3:"); fflush(stdin); scanf("%f",&stu[i].score3); printf(""); i++; now_no=i; printf("是否繼續(xù)輸入?(Y/N)"); fflush(stdin); ch=getch(); system("cls"); } while(ch!="n"&&ch!="N"); system("cls"); } void sort()/*排序數(shù)據(jù)函數(shù)*/ { struct student temp; int i,j; average(); for(i=1;i<now_no;i++) { for(j=1;j<=now_no-i;j++) { if(stu[j-1].ave<stu[j].ave) { temp=stu[j]; stu[j]=stu[j-1]; stu[j-1]=temp; } } } printf("排序以完成進(jìn)入功能2可進(jìn)行顯示"); system("pause"); system("cls"); } void sort1()/*排序數(shù)據(jù)函數(shù)*/ { struct student temp; int i,j; for(i=1;i<now_no;i++) { for(j=1;j<=now_no-i;j++) { if(stu[j-1].score1<stu[j].score1) { temp=stu[j]; stu[j]=stu[j-1]; stu[j-1]=temp; } } } } void sort2()/*排序數(shù)據(jù)函數(shù)*/ { struct student temp; int i,j; for(i=1;i<now_no;i++) { for(j=1;j<=now_no-i;j++) { if(stu[j-1].score2<stu[j].score2) { temp=stu[j]; stu[j]=stu[j-1]; stu[j-1]=temp; } } } } void sort3()/*排序數(shù)據(jù)函數(shù)*/ { struct student temp; int i,j; for(i=1;i<now_no;i++) { for(j=1;j<=now_no-i;j++) { if(stu[j-1].score3<stu[j].score3) { temp=stu[j]; stu[j]=stu[j-1]; stu[j-1]=temp; } } } } void display()/*顯示數(shù)據(jù)函數(shù)*/ { int i; char as; average(); do { printf("班級(jí)學(xué)員信息列表"); printf("編號(hào)姓名性別成績(jī)1成績(jī)2成績(jī)3平均值"); for(i=0;i<now_no&&stu[i].name[0];i++) printf("%d%s%s%.2f%.2f%.2f%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); printf("按任意鍵返回主菜單."); fflush(stdin); as=getch(); } while(!as); system("cls"); } void display1()/*顯示數(shù)據(jù)函數(shù)*/ { int i; char as; do { printf("班級(jí)學(xué)員score1成績(jī)排序"); printf("編號(hào)姓名性別成績(jī)1"); sort1(); for(i=0;i<now_no&&stu[i].name[0];i++) printf("%d%s%s%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1); printf("班級(jí)學(xué)員score2成績(jī)排序"); printf("編號(hào)姓名性別成績(jī)2"); sort2(); for(i=0;i<now_no&&stu[i].name[0];i++) printf("%d%s%s%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score2); printf("班級(jí)學(xué)員score3成績(jī)排序"); printf("編號(hào)姓名性別成績(jī)3"); sort3(); for(i=0;i<now_no&&stu[i].name[0];i++) printf("%d%s%s%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score3); printf("按任意鍵返回主菜單."); fflush(stdin); as=getch(); } while(!as); system("cls"); } void insert()/*插入數(shù)據(jù)函數(shù)*/ { char ch; do { printf("輸入新插入學(xué)員隊(duì)信息"); printf("輸入學(xué)生編號(hào):"); scanf("%d",&stu[now_no].no); fflush(stdin); printf("輸入學(xué)員姓名:"); fflush(stdin); gets(stu[now_no].name); printf("輸入學(xué)員性別:"); fflush(stdin); gets(stu[now_no].sex); printf("輸入學(xué)員成績(jī)1:"); fflush(stdin); scanf("%f",&stu[now_no].score1); printf("輸入學(xué)員成績(jī)2:"); fflush(stdin); scanf("%f",&stu[now_no].score2); printf("輸入學(xué)員成績(jī)3:"); fflush(stdin); scanf("%f",&stu[now_no].score3); printf(""); now_no=now_no+1; sort(); printf("是否繼續(xù)輸入?(Y/N)"); fflush(stdin); ch=getch(); system("cls"); } while(ch!="n"&&ch!="N"); } void del()/*刪除數(shù)據(jù)函數(shù)*/ { int inum,i; printf("輸入要?jiǎng)h除學(xué)員的編號(hào):"); fflush(stdin); scanf("%d",&inum); for(i=0;i<now_no;i++) { if(stu[i].no==inum) { if(i==now_no)now_no-=1; else { stu[i]=stu[now_no-1]; now_no-=1; } sort(); break; } } system("cls"); } void save()/*保存數(shù)據(jù)函數(shù)*/ { FILE *fp; int i; char filepath[20]; printf("輸入要保存的文件路徑:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) { printf("保存失敗!"); exit(0); } for(i=0;i<now_no;i++) { stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; stu[i].ave=stu[i].sum/3; fprintf(fp,"%d%s%s%.2f%.2f%.2f%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); } fclose(fp); printf("學(xué)生信息已保存在%s中!",filepath); system("pause"); system("cls"); } void find()/*查詢函數(shù)*/ { int i; char str[20],as; do { printf("輸入要查詢的學(xué)生姓名:"); fflush(stdin); gets(str); for(i=0;i<now_no;i++) if(!strcmp(stu[i].name,str)) { printf("編號(hào)姓名性別成績(jī)1成績(jī)2成績(jī)3平均值"); printf("%d%s%s%.2f%.2f%.2f%.2f",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); } printf("按任意鍵返回主菜單."); fflush(stdin); as=getch(); } while(!as); system("cls"); } void average()/*求平均數(shù)*/ { int i; for(i=0;i<now_no;i++) { stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; stu[i].ave=stu[i].sum/3; } } void modify()/*修改數(shù)據(jù)函數(shù)*/ { int i; char str[20]; printf("輸入要修改的學(xué)生姓名:"); fflush(stdin); gets(str); for(i=0;i<now_no;i++) { if(!strcmp(stu[i].name,str)) { system("cls"); printf("輸入新插入學(xué)員隊(duì)信息"); printf("輸入學(xué)生編號(hào):"); fflush(stdin); scanf("%d",&stu[i].no); printf("輸入學(xué)員性別:"); fflush(stdin); gets(stu[i].sex); printf("輸入學(xué)員成績(jī)1:"); fflush(stdin); scanf("%f",&stu[i].score1); printf("輸入學(xué)員成績(jī)2:"); fflush(stdin); scanf("%f",&stu[i].score2); printf("輸入學(xué)員成績(jī)3:"); fflush(stdin); scanf("%f",&stu[i].score3); printf(""); sort(); break; } } system("cls"); } void read() { FILE *fp; int i; char filepath[20]; printf("輸入要讀入的文件路徑:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s文件!",filepath); system("pause"); exit(0); } now_no=0; for(i=0;i<MAX&&!feof(fp);i++) { fscanf(fp,"%d%s%s%f%f%f%f",&stu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave); now_no++; } fclose(fp); printf("保存的在文件%s中的所有信息已經(jīng)讀入!",filepath); system("pause"); /*按任意鍵繼續(xù)*/ system("cls"); } void del_file() { FILE *fp; char filepath[20]; printf("輸入要?jiǎng)h除的文件路徑:"); fflush(stdin); gets(filepath); fp=fopen(filepath,"w"); fclose(fp); printf("保存的在文件%s中的所有信息已經(jīng)刪除!",filepath); system("pause"); system("cls"); }
相關(guān)推薦
便查問答是一款實(shí)用的網(wǎng)絡(luò)熱門知識(shí)問答平臺(tái),,專注于分享你不知道的知識(shí),、經(jīng)驗(yàn)及生活問題,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。