RSA ( Rivest Shamir Adleman )is crypthograph system that used to give a secret information and digital signature . Its security based on Integer Factorization Problem (IFP). RSA uses an asymetric key. RSA was created by Rivest, Shamir, and Adleman in 1977. Every user have a pair of key, public key and private key. Public key (e) . You may choose any number for e with these requirements, 1< e <Æ (n), where Æ (n)= (p-1) (q-1) ( p and q are first-rate), gcd (e,Æ (n))=1 (gcd= greatest common divisor). Private key (d). d=(1/e) mod(Æ (n)) Encyption (C) . C=Mª mod(n), a = e (public key), n=pq Descryption (D) . D=C° mod(n), o = d (private key
標(biāo)簽: crypthograph information Adleman Rivest
上傳時(shí)間: 2017-09-01
上傳用戶:chfanjiang
Flash functions for STR71X uControllers. This file replaces the ST Library flash.c file, including the option of execute any flash function from Ram, alowing a way to program flash from a program running in flash.
標(biāo)簽: file uControllers functions including
上傳時(shí)間: 2017-09-19
上傳用戶:xzt
#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請選擇:"); 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請選擇:"); 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請選擇:"); 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)計(jì)學(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é)生信息(在最后一個(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("請輸入要查詢的學(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 (請將此地址復(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請選擇:"); 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請選擇:"); 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請選擇:"); 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)計(jì)學(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é)生信息(在最后一個(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("請輸入要查詢的學(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 (請將此地址復(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
上傳用戶:啊的撒旦
這份 資 安 事 件 應(yīng) 變 小抄,專給想要 調(diào)查安全事件的 網(wǎng) 管 人 員 。 記住:面對事件時(shí), 跟著 資 安 事 件 應(yīng) 變 方 法 的流程,記下記錄不要驚慌。如果需要請立刻聯(lián)絡(luò)臺(tái)
上傳時(shí)間: 2020-10-13
上傳用戶:
新版本無人機(jī).刷機(jī)用借助此實(shí)際應(yīng)用程序,管理無人機(jī)的所有區(qū)域,例如電動(dòng)機(jī),GPS,傳感器,陀螺儀,接收器,端口和固件INAV-Chrome 的配置器中的新功能:修復(fù)了導(dǎo)致加速度計(jì)校準(zhǔn)失敗的錯(cuò)誤支持DJI FPV系統(tǒng)配置輸出選項(xiàng)卡中的怠速節(jié)氣門和馬達(dá)極現(xiàn)在可以在“混合器”選項(xiàng)卡中選擇“漫遊者”和“船用”平臺(tái)。 固件方面的支持仍然有限!閱讀完整的變更日誌 在過去的幾年中,無人駕駛飛機(jī)取得了相當(dāng)大的進(jìn)步,越來越多的人能夠獲取和使用無人機(jī)。 不用說,無人機(jī)可以基於特定固件在一組命令上運(yùn)行。 在這方面, 用於Chrome的INAV-Configurator隨附的工具可幫助您輕鬆配置無人機(jī)的各個(gè)方面。支持多種硬件配置首先要提到的一件事是,要求Google Chrome瀏覽器能夠訪問INAV-Chrome的配置器功能。 儘管它已集成到Chrome中,但它可以作為獨(dú)立應(yīng)用程序運(yùn)行,甚至可以脫機(jī)使用,而與瀏覽器無關(guān)。 您甚至可以從Google Apps菜單為其創(chuàng)建桌面快捷方式。不用說,另一個(gè)要求是實(shí)際的飛行裝置。 該應(yīng)用程序支持所有支持INAV的硬件配置,例如Sirius AIR3,SPRacingF3,Vortex,Sparky,DoDo,CC3D / EVO,F(xiàn)lip32 / + / Deluxe,DragonFly32,CJMCU Microquad,Chebuzz F3,STM32F3Discovery,Hermit ,Naze32 Tricopter框架和Skyline32。該窗口非常直觀,並提供各種令人印象深刻的提示和文檔。 在上方的工具欄上,您可以找到連接選項(xiàng),這些選項(xiàng)可以通過COM端口,手動(dòng)選擇或無線模式進(jìn)行。 您也可以選擇自動(dòng)連接。 連接後,您可以在上方的工具欄中查看設(shè)備的功能,並在側(cè)面板中輕鬆瀏覽配置選項(xiàng)。管理傳感器,電機(jī),端口和固件本。
標(biāo)簽: configurator 無人機(jī)
上傳時(shí)間: 2022-06-09
上傳用戶:
1.1 概述本章首先介紹客戶-服務(wù)器事務(wù)概念。我們從使用 U D P的客戶-服務(wù)器應(yīng)用開始,這是最簡單的情形。接著我們編寫使用 T C P的客戶和服務(wù)器程序,并由此考察兩臺(tái)主機(jī)間交互的T C P / I P分組。然后我們使用T / T C P,證明利用T / T C P可以減少分組數(shù),并給出為利用 T / T C P需要對兩端的源代碼所做的最少改動(dòng)。接下來介紹了運(yùn)行書中示例程序的測試網(wǎng)絡(luò),并對分別使用 U D P、T C P和T / T C P的客戶-服務(wù)器應(yīng)用程序進(jìn)行了簡單的時(shí)間耗費(fèi)比較。我們考察了一些使用 T C P的典型I n t e r n e t應(yīng)用程序,看看如果兩端都支持 T / T C P,將需要做哪些修改。緊接著,簡要介紹了 I n t e r n e t協(xié)議族中事務(wù)協(xié)議的發(fā)展歷史,概略敘述了現(xiàn)有的 T / T C P實(shí)現(xiàn)。本書全文以及有關(guān)T / T C P的文獻(xiàn)中,事務(wù)一詞的含義都是指客戶向服務(wù)器發(fā)出一個(gè)請求,然后服務(wù)器對該請求作出應(yīng)答。 I n t e r n e t中最常見的一個(gè)例子是,客戶向域名服務(wù)器 ( D N S )發(fā)出請求,查詢域名對應(yīng)的 I P地址,然后域名服務(wù)器給出響應(yīng)。本書中的事務(wù)這個(gè)術(shù)語并沒有數(shù)據(jù)庫中的事務(wù)那樣的含義:加鎖、兩步提交、回退,等等。TCP IP詳解 卷1協(xié)議 :http://dl.21ic.com/download/tcpip-288223.html TCP IP詳解 卷2實(shí)現(xiàn) :http://dl.21ic.com/download/tcpip-288224.html TCPIP詳解卷三:TCP事務(wù)協(xié)議,HTTP,NNTP和UNIX域協(xié)議 :http://dl.21ic.com/download/tcpip-288225.html
上傳時(shí)間: 2022-07-27
上傳用戶:
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(104)資源包含以下內(nèi)容:1. mips命令集詳解.2. 數(shù)碼相框原理圖,ZXDP-010 (8302+720).3. CBM2090單片8BIT 16BIT共板原理圖.4. 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn).5. 時(shí)間觸發(fā)嵌入式系統(tǒng)設(shè)計(jì)模式 使用8051系列微控制器開發(fā)可靠應(yīng)用.6. 關(guān)于555時(shí)基電路原理以及應(yīng)用的介紹說明.7. 一個(gè)關(guān)于s3c2410_LCD_640*480的驅(qū)動(dòng)程序.8. ipod——touch攻略.9. SDMMC 源碼 SD、MMC卡的讀寫程序.10. 嵌入式試驗(yàn)開發(fā)平臺(tái)簡介.11. Mobile phone MMI design reference..12. 我寫的stv2248 芯片的驅(qū)動(dòng)程序.13. 應(yīng)用于S60平臺(tái)的示例程序.14. YAFFS (Yet Another Flash File System) is now in its second generation and provides a fast robust fil.15. 關(guān)于h264的演示 內(nèi)容不錯(cuò) 希望大家喜歡..16. Michael Barr是Netrino公司的總裁兼創(chuàng)始人.17. 2006年軟考的嵌入式系統(tǒng)設(shè)計(jì)師考試題及答案.18. S3C2440開發(fā)板原理圖以及成品圖片.是硬件開發(fā)工程師的好參考資料.19. 一個(gè)可以實(shí)現(xiàn)嵌入式視頻監(jiān)控系統(tǒng)的服務(wù)器軟件。.20. 一個(gè)可以實(shí)現(xiàn)嵌入式視頻監(jiān)控系統(tǒng)的最新版客戶端軟件。.21. 東軟嵌入式高級(jí)C培訓(xùn)(2007)).22. 最新的uffs,目前是1.1.2版本.23. NokiaSeries40Book1,介紹了40平臺(tái)的手機(jī)開發(fā).24. 數(shù)控編程開發(fā)事例,對數(shù)控機(jī)床的直線和圓戶進(jìn)行插補(bǔ),.25. 用STR710控制串口及CC1100進(jìn)行無線通信.26. 非常不錯(cuò)的單片機(jī)開發(fā)板原理圖.27. s3c44b0bootloader分析.28. 以 DSpic30f4011為 SPI SLAVE的范例程式.29. 漢字與字符顯示函數(shù)。對于任一主函數(shù).30. 最詳細(xì)最專業(yè)的MODBus協(xié)議介紹。 給MODBus總線開發(fā)的朋友們一些參考!.31. 本文較為詳細(xì)的介紹了雙CPU的C51系統(tǒng)設(shè)計(jì)中.32. c51的時(shí)鐘芯片讀寫函數(shù).33. 本書介紹了PCI局部總線的基本概念,功能,操作規(guī)則和使用方法.34. Intel公司的閃存轉(zhuǎn)換層(Flash Translaion Layer)規(guī)范指導(dǎo)文件.35. h.261 player with running h.261,p24,h26 file.36. I2C接口協(xié)議.37. First of all we would like to thank God Almighty for giving us the strength and confidence in pursi.38. 2008年最新出版Silverlight及Blend學(xué)習(xí)電子書教程合集.39. 利用VB與VC程式整合開發(fā)實(shí)現(xiàn)影像物體分類辨識(shí)的PLC輸送帶系統(tǒng).40. 凌陽公司機(jī)sunplus1002在這個(gè)芯片下.
標(biāo)簽: 光電子
上傳時(shí)間: 2013-06-25
上傳用戶:eeworm
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(114)資源包含以下內(nèi)容:1. FREESCALE 9S08AW60 串口調(diào)試程序.2. saa7113視頻解碼芯片外圍電路設(shè)計(jì)原理圖.3. 這是在用的AD7705源程序.4. 紅外線遙控原理以及單片機(jī)制作自學(xué)習(xí)遙控器詳細(xì)設(shè)計(jì)思路.5. 在微波整體集成電路設(shè)計(jì)、理論和描述特性的一條新穎的路線的PDF學(xué)術(shù)論文.6. 對于內(nèi)部具有D /A轉(zhuǎn)換器的單片機(jī),采用其自備的D /A轉(zhuǎn)換器產(chǎn)生需要的信號(hào)是最經(jīng) 濟(jì)的方法。C8051F020是Cygnal公司最新的一款功能強(qiáng)大的內(nèi)部具有D /A轉(zhuǎn)換器的單片機(jī)。介紹了 采用查.7. 液晶6963模塊 240*64,外接PS2鍵盤,多級(jí)菜單.這是我工作中的一個(gè)程序,有興趣的可以看.8. 這是一個(gè)i2c程序,經(jīng)過多次應(yīng)用都能成功實(shí)現(xiàn)功能,而且簡要實(shí)用.9. 本電子書是很多嵌入式開發(fā)經(jīng)典文章和技巧使用的PDF格式的書籍.10. 168線SD內(nèi)存條電路原理圖資料,好像是臺(tái)灣人寫的.11. FPGA可促進(jìn)嵌入式系統(tǒng)設(shè)計(jì)改善即時(shí)應(yīng)用性能.12. fat32文件系統(tǒng)格式說明 十分詳盡.13. fat32和fat16文件系統(tǒng)格式說明.14. 講解嵌入式開發(fā)的入門書!非常不錯(cuò),值得一看!.15. TMS320C6000CSLAPIReferenceGuideRev.I的pdf.16. s7300 400 step7 plc仿真軟件說明.17. with avr mega 8515 in the C-code AVR.18. Altera原裝MAX_II開發(fā)板原理圖,是用protel繪制的.19. zlg7290是一個(gè)能夠8*8的鍵盤驅(qū)動(dòng)芯片.20. 主要介紹各種芯片原理、功能、及其使用方法.21. 對芯片MCP2551的中文使用說明.22. 嵌入式T9輸入法的源代碼.23. BMP頭文件的源代碼.24. 自己收集整理和調(diào)試OK的三個(gè)Game源代碼.25. S24C10最小系統(tǒng)原理圖 包括FLASH SRAM等.26. 一個(gè)電平轉(zhuǎn)換芯片的資料74LVC4245,它在以太網(wǎng)中也發(fā)揮了很大的作用,對WEB開發(fā)人員有借鑒的價(jià)值.27. mmc卡的specification標(biāo)準(zhǔn)的英文版的.28. TMS320C2812全套例程.29. 這是用于lpc2106的自帶ADC功能的演示,利用KEIL FOR ARM 開發(fā),可以參考學(xué)習(xí)..30. megal16在codevision下關(guān)于1602的驅(qū)動(dòng)程序.31. 分布式多DSP系統(tǒng)的CPCI總線接口設(shè)計(jì)和驅(qū)動(dòng)開發(fā).32. 電子音量pT2314原程序 需要的朋友請趕快.33. 用protel dxp繪制三分頻原理圖和pcb電路板等.34. Bootloader(引導(dǎo)裝載器)是用于初始化目標(biāo)板硬件.35. OKI DEMO FLASH WRITE PROGRAM.36. OKI 675050 hardware accelerator sample program.37. verilog的一些源代碼.38. i.mx31 3DS平臺(tái)Nandboot引導(dǎo)程序源碼.39. c8051f24是個(gè)教學(xué)的程序.40. < ALTERA FPGA/CPLD 高級(jí)篇>>光盤資料中 體會(huì)“面積和速度的平衡與互換” 例程.
標(biāo)簽: RFID 無線 射頻識(shí)別技術(shù)
上傳時(shí)間: 2013-07-17
上傳用戶:eeworm
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(132)資源包含以下內(nèi)容:1. siemens PLC Prodave 通訊測試.2. 嵌入式系統(tǒng)下IC卡讀寫的源碼.3. 數(shù)字音樂盒的完整畢業(yè)論文(無意中發(fā)現(xiàn)的) 課程設(shè)計(jì)題目:數(shù)字音樂盒.4. 單片機(jī)程序 51頻率計(jì) 電子琴 電子鐘程序 按鍵顯示程序最終成功.5. C和C++嵌入式系統(tǒng)編程,一本很嵌入式編程很不錯(cuò)的書..6. 一本很好的介紹yaffs文件系統(tǒng)的書籍 一本很好的介紹yaffs文件系統(tǒng)的書籍.7. 一份不錯(cuò)的介紹linux 字符設(shè)備驅(qū)動(dòng)的文檔.8. 工程源文件.9. 用holtek3000開發(fā)環(huán)境編寫的單片機(jī)C語言鍵盤掃描程序..10. 8255A芯片的中文資料(8255中文資料).11. mmc_sd_memory_card_driver_sample_project_files spi接口的sd card driver 示例.12. 單片機(jī)驅(qū)動(dòng)PS2鍵盤的c程序 希望對大家有用.13. a voice guide client ,it is the second part of voice guide center.14. msc map program to control client of tools,use for map guide.15. C#開發(fā)win ce代碼程序.16. 2個(gè)Ds18b20溫度顯示電路,12Mhz晶振.17. 5分頻cpld原理圖實(shí)現(xiàn).18. 可實(shí)現(xiàn)對ST公司的SPI flash的控制.19. VB實(shí)現(xiàn)的文字圖片原理,VB實(shí)現(xiàn)的文字圖片原理.20. 嵌入式C精華, 嵌入式C精華,嵌入式C精華.21. 一個(gè)簡單的電梯控制系統(tǒng),主要實(shí)現(xiàn)一個(gè)八層樓的電梯控制..22. 這是自己做的一個(gè)gui 及供初學(xué)者參考 如有問題可以一起討論 可發(fā)到我的郵箱里 完成的功能就是 對uicontrol的應(yīng)用.23. 觸摸屏校正算法,主流嵌入式設(shè)計(jì)都使用此算法,個(gè)人覺得經(jīng)典..24. 基于51單片機(jī)的源碼,內(nèi)有液晶顯示(IIC)接口,還實(shí)現(xiàn)串口和定時(shí)操作等功能..25. 鏈接器和加載器,這是一本全面介紹我們編寫的程序是如何被鏈接的,個(gè)人覺得做嵌入式開發(fā)的軟件工程師必備的一本書..26. 使用Embest IDE for ARM 開發(fā)環(huán)境及ARM 軟件模擬器; 通過實(shí)驗(yàn)掌握簡單ARM 匯編指令的使用方法。.27. AD7714是一款24位高速AD轉(zhuǎn)換芯片.28. Cortex-M3是首款基于ARMv7-M架構(gòu)的處理器.29. 剛剛學(xué)習(xí)ne2000驅(qū)動(dòng)開發(fā).30. ATMEL的芯片資料pdf文檔.31. GPS衛(wèi)星定位模塊的驅(qū)動(dòng)程序.32. 還可以.33. 基于CAN總線的分布式三維步進(jìn)電機(jī)控制系統(tǒng).34. 自己做的交通燈~~~用c編寫的.35. 基于PCI總線的高速數(shù)據(jù)傳輸.36. [轉(zhuǎn)載]嵌入到系統(tǒng)進(jìn)程中,檢查并報(bào)告主板型號(hào).37. Freescale_071112_1公司內(nèi)部的器件資料.38. 關(guān)于2410開發(fā)板的u-boot的說明.39. CX1-22R 可編程控制器(簡稱 CX1)是 22 路 I/O 一體化小型可編程控制器(PLC).40. PIC匯編各個(gè)時(shí)間延時(shí)小程序.
標(biāo)簽: SD卡
上傳時(shí)間: 2013-04-15
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1