#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);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\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)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%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)//統計成績 { printf("數學新成績:"); 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)//修改學生資料 { printf("學號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數學成績:%.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)//修改總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學生信息?(“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)//刪除總函數 { 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)//刪除學生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數 { printf("1、按學號查詢\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)//菜單調度總函數 { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數 { printf("1、按數學成績排序\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)//顯示全部學生資料 { printf("本班所有學生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學生信息 { 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(" 學號 姓名 數學成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學號是否重復 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學號代表的學生已錄入\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("請重新輸入學生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學生信息管理系統======\n"); printf(" 1、輸入學生資料\n"); printf(" 2、刪除學生資料\n"); printf(" 3、查詢學生資料\n"); printf(" 4、修改學生資料\n"); printf(" 5、顯示學生資料\n"); printf(" 6、統計學生成績\n"); printf(" 7、排序學生成績\n"); printf(" 8、保存學生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數 { char end; printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\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)//輸入學生信息 { printf("學號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數學成績:"); 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)//計算學生平均成績 { 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)//按照數學成績排序 { 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)//按照學號查找學生并輸出 { int num; int c; printf("請輸入要查詢的學號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學生的信息是:\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; } } 運行結果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面)
標簽: 成績查詢系統
上傳時間: 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);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\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)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%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)//統計成績 { printf("數學新成績:"); 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)//修改學生資料 { printf("學號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數學成績:%.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)//修改總函數 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學生信息?(“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)//刪除總函數 { 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)//刪除學生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數 { printf("1、按學號查詢\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)//菜單調度總函數 { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數 { printf("1、按數學成績排序\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)//顯示全部學生資料 { printf("本班所有學生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學生信息 { 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(" 學號 姓名 數學成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學號是否重復 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學號代表的學生已錄入\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("請重新輸入學生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學生信息管理系統======\n"); printf(" 1、輸入學生資料\n"); printf(" 2、刪除學生資料\n"); printf(" 3、查詢學生資料\n"); printf(" 4、修改學生資料\n"); printf(" 5、顯示學生資料\n"); printf(" 6、統計學生成績\n"); printf(" 7、排序學生成績\n"); printf(" 8、保存學生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數 { char end; printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\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)//輸入學生信息 { printf("學號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數學成績:"); 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)//計算學生平均成績 { 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)//按照數學成績排序 { 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)//按照學號查找學生并輸出 { int num; int c; printf("請輸入要查詢的學號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學生的信息是:\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; } } 運行結果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面) #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);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main() { menu(); } void save_student(student *s,int a)//保存學生信息 { FILE *fp; if((fp=fopen("d:\\學生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學生具體信息如下:\r\n"); fprintf(fp," 學號 姓名 數學成績 英語成績 計算機成績 平均成績\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)//退出系統 { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統計成績總函數 { int c; c=search_student2(iNumOfStu); printf("學號:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績錄入成功!
標簽: c語言
上傳時間: 2019-06-09
上傳用戶:啊的撒旦
Windows7下IE 8使用技巧5則 IE幾乎是各位菜鳥、大蝦上網時的首選瀏覽器,有關它的常規使用技巧,相信各位早已是耳熟能詳了。只要你足夠用心、細心,就一定會不斷“挖掘”出IE新的使用技巧來。不信,就來看看下面的幾則新鮮用法吧,相信會讓各位有耳目一新之感! 1.尋找失落的IE啟動按鈕 正常情況下,IE瀏覽器的快速啟動按鈕會在系統任務欄中“安家落戶”,可是一旦操作不小心,往往會導致IE瀏覽器的快速啟動按鈕在任務欄中“消失”。那么 你面對IE啟動按鈕從系統任務欄中消失時,你該如何去將它尋找回來呢?其實方法很簡單,只要你按照下面的步驟來進行操作就可以了。 首先用鼠標右鍵單擊桌面中的IE瀏覽器圖標,從彈出的快捷菜單中執行“創建快捷方式”命令,這樣就能為IE瀏覽器創建好一個對應的快捷方式。 接著打開系統資源管理窗口,依次雙擊C盤中的“Windows”文件夾、“ApplicationData”文件夾、“Microsoft”文件夾、 “InternetExplorer”文件夾、“QuickLaunch”文件夾;然后將桌面中創建好的IE快捷方式,直接拖動到 “QuickLaunch”文件夾窗口中。 當然還有更簡潔的方法,那就是直接將系統桌面中的IE瀏覽器圖標,用鼠標左鍵拖動到系統任務欄中,不過在拖放時一定要在出現虛線圖標之后才可以。 2.讓IE也能斷點續傳 大家知道,單擊IE頁面中的某個下載鏈接地址時,IE就會自動調用其內置的下載功能來下載文件;不過這種功能一旦遇到網絡堵塞而掉線的情況時,就會將已經下載好的內容全部丟失,以后再次下載時還需要從頭再來,顯然IE內置的下載功能容易耽誤下載時間。 那么我們有沒有辦法讓IE的下載功能也支持斷點續傳呢?答案是肯定的。只要你使用IE來下載文件出現意外掉線時,或者發現IE下載進度條長時間沒有任何反 應時,請不要單擊該下載對話框中的“取消”按鈕,而應該直接單擊該窗口中的“x”按鈕,來暫時退出下載狀態;接著重新單擊網頁中的這個下載鏈接地址,然后 再單擊“保存”按鈕,在彈出的保存對話框中,將文件名和保存路徑都設置為與上次沒下載完時的文件相同,這樣IE就能接著上次沒下載完的位置,繼續下載余下 的內容;當然這種IE斷點續傳功能只適合HTTP下載方式,而不適合FTP下載方式。 3.將IE選項設置“架空” 倘若允許其他人隨意對IE的上網參數進行設置的話,那么IE的安全、甚至系統的安全都會受到威脅,例如一旦非法用戶打開IE瀏覽器的“Internet選 項”設置框,將上網安全級別降低的話,那么網絡中的各種病毒、木馬,都有可能就會隨之而來。為了確保安全,你有時必須“架空”IE瀏覽器中的 Internet選項,讓非法用戶無法自行設置IE上網參數: 首先打開Windows系統的資源管理器窗口,找到并進入到“system32”文件夾窗口,選中其中的“inetcpl.cpl”文件,并用鼠標右鍵單 擊之,從彈出的右鍵菜單中,單擊“重命名”選項,將“inetcpl.cpl”的文件名稱更名為“inetcplnew.cpl”,當然你也能將其換成其 他名稱,不過你一定要將更名后的文件名稱記得,以后需要恢復時以便能快速找到。完成重命名操作后,再單擊IE瀏覽器中的“Internet選項”命令時, 就不能進入到選項設置窗口了。 4.不用工具也能修復IE 在網上盡情沖浪時,IE難免會遭遇惡意攻擊;那么面對被惡意修改的IE,你該如何去恢復它呢?大多數人都會去選用各種專業的IE修復工具,來對付IE的惡意攻擊;也有水平高一些的“大蝦”,通過手工修改注冊表的方法,來恢復IE的本來“面貌”。可是當你手頭沒有專業的IE修復工具可以利用時,或者自己對注冊表了解不深時,你該如何去修復IE呢?為此,本文為你提供一則非常便利的解決方法,不過該方法只能適合Windows2000或WindowsXP操作系統,下面就是該方法的具體實現步驟: 依次單擊“開始”/“設置”/“控制面板”命令,然后依次雙擊“管理工具”/“計算機管理”圖標,在隨后彈出的窗口中,依次展開“系統工具”/“本地用戶 和組”文件夾,再單擊“用戶”選項,在對應的右邊子窗口中,右擊空白區域,執行快捷菜單中的“新用戶”命令,將新用戶命名為“newusr”,同時設置好 該賬號的訪問密碼; 完成新用戶的創建任務后,依次單擊“開始”/“關機”命令,然后執行“注銷Administrator”操作,再改用“newusr”賬號重新進入到 Windows2000系統;接著打開系統注冊表編輯界面,依次展開注冊表分支HKEY_CURRENT_USER\Software \Microsoft\InternetExplorer,并將“InternetExplorer”主鍵選中,再依次單擊注冊表菜單欄中的“注冊表”/ “導出注冊表文件”命令,將有關IE部分的注冊表分支內容導出,例如保存為“ienew.reg”文件,如此一來你就能將“newusr”賬號下關于IE 的正確設置全部導出來了;由于“newusr”賬號是剛剛新建的,因此該賬號下的IE設置都是系統默認的正確設置,也就是說它是沒有被攻擊過的; 下面注銷“newusr”賬號,再以“Administrator”賬號登錄系統;然后打開注冊表編輯窗口,依次執行菜單欄中的 “注冊表”/“導入注冊表文件”命令,在彈出的文件選擇對話框中,將前面導出的“ienew.reg”文件導入到注冊表中,就能使IE恢復本來“面貌” 了。 當然,這樣的方法比較麻煩,因此我們推薦IE一鍵修復 0.3(點擊官方下載)167K ,中文綠色免費軟件,可以一鍵修復被惡意篡改的IE瀏覽器。此外,在魔方(點此下載)中,也將加入IE的修復功和監控惡意軟件等安全功能。 5. 找回Windows 7中的IE 8桌面圖標 在Windows 7中,由于超級任務欄的存在,微軟取消了IE 8的桌面圖標設置,也就是說,在Windows 7中,無法在桌面顯示IE 8圖標,當然,快捷方式是不能算的。不過近來有會員在論壇為我們提供了一個很好的辦法,可以以"曲線"的方式實現IE 8圖標桌面顯示。盡管還不完美,但基本的功能都具備了,大家可以通過Windows7優化大師 - 美化大師 - 系統外觀來自行設置。 善用快捷鍵,玩轉Windows 7 便簽程序 便箋是一種可以粘貼在任意位置的正方形或長條形紙條,方便我們隨時記錄一些信息,或是安排日常工作,隨寫隨記,非常方便。在 Windows 中為我們提供了和實物便箋一樣功能的小程序,本人非常喜歡。在 Vista 中,這個小程序作為邊欄小工具出現,但在 Windows 7 中已經成為了一個標準的Windows附件程序。 依次點擊Windows7的開始菜單按鈕 -》所有程序 -》附件 -》,點擊打開便簽,如下圖所示: 不用軟件,非會員徹底去除QQ2009/2010廣告 昨天談到了《不是VIP用戶也不怕 不需任何補丁屏蔽迅雷廣告》,用戶反饋非常的多,如果沒能設置成功的,請仔細閱讀步驟,100%的可以搞定的,當然,如果迅雷再發新版升級后,就不保證了,有任何新的變化,請隨時關注Windows7之家和Vista之家首頁。 說完了迅雷,我們再來說下QQ吧,QQ的免費用戶數量除了Windows外,就屬它大了。 屏蔽廣告除了更干凈潔爽之外,更大的好處是不用隨時下載體積大的flash動畫和gif動畫圖片了,QQ登陸速度顯著提升,同時,也少了帶寬消耗。 非QQ會員徹底屏蔽QQ2009正式版廣告: 在QQ2009 Beta版的時候,可以通過刪除一些文件讓非會員也能實現去廣告的目的,可惜從QQ2009正式版起增加了文件完整性檢查,刪除文件會導致QQ無法啟動,并要求重新安裝。 那么對于非會員來說,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手動去廣告了嗎? 其實還是有辦法的,而且做起來也不難,你說是用第三方工具? 不需要!只要你對Windows操作系統稍有了解就可以輕松搞定,除了QQ2009,您也可以把這些招數用在QQ2010的測試版中,幾乎完全一樣。 下面,就把找到的方法共享給大家吧! 在開始之前,請先退出您正在運行中的QQ。 1、去除騰訊迷你首頁: 對于每次啟動QQ后,都彈出的“騰訊迷你首頁”,很多人一定感到不爽,就讓我們先拿它開刀吧。 首先進入QQ的安裝文件夾,接著進入 Plugin\Com.Tencent.Advertisement\bin 文件夾,這里你會看到一個Advertisement.dll文件,它就是迷你首頁的關鍵所在,只需將這個文件改成只讀屬性,以后啟動QQ就不會再看到迷你首頁了。在這個文件上面點擊鼠標右鍵,點擊屬性,勾選只讀,確定退出。 2、去除聊天窗口右上角廣告: 這個操作針對XP、Win2003系統用戶和Vista、Windows7、Win2008略有不同,主要是文件夾路徑上的。 1)XP、Win2003系統用戶操作方法: 進入 X:\Documents and Settings\用戶名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系統所在盤盤符,一般是C),首先刪除這個文件夾里面的所有文件,注意文件夾本身不能刪除,然后把當前用戶的寫入權限給拒絕掉(需要當前分區為NTFS格式)。 方法:文件夾上右鍵,屬性 - 安全標簽,選中當前登錄用戶,接著在下方“寫入”權限里,拒絕上打勾。 2)Vista、Windows7、Win2008用戶的操作: 進入 X:\users\用戶名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在這個文件上面點擊鼠標右鍵,點擊屬性,然后點擊安全標簽, 選中你的當前用戶,如下圖示例中的Ruamei.com,然后點擊“編輯”按鈕,OK,寫入那兒設置下拒絕吧。 這樣,無論是會員還是非會員,你都不會有任何的廣告圖片下載了。 3、去除QQ2009/QQ2010聊天窗口的左下角廣告 如今的聊天窗口,除了右上角的圖片廣告外,左下角還多了一條文字廣告,既然要去廣告,那么這塊自然也不能遺忘。同樣操作針對XP、Win2003系統用戶和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系統用戶操作方法: 再次提醒您修改前首先要關閉QQ,然后進入X:\Documents and Settings\用戶名\Application Data\Tencent\Users\你的QQ號\QQ\(注意,X指的系統所在盤盤符,一般是C),刪除其中的Misc.db,接著新建一個文件夾并命名為Misc.db(是不是和防止U盤自動運行病毒的方法很像)。 2)Vista、Windows7、Win2008用戶的操作: 關閉QQ后,進入X:\users\用戶名\appdata\Roaming\Tencent\Users\你的QQ號碼\QQ\,然后操作同上。 搞定,如此一來,這幾個地方都沒廣告了吧! 好吧,打開一個標簽窗口如下圖所示,當然,你可以多點多開。 如果你正在使用這個程序,是否覺得它的功能太簡單了,點點右鍵,彈出的菜單中只能切換便箋的顏色,沒有其他基本的格式編輯功能。 其實,除了標準的 Ctrl 加 XCVA 的剪切/復制/粘貼/全選快捷鍵之外,其實便箋程序還有一些快捷鍵可以使用: 快捷鍵 功能 Ctrl+N 新建一張便箋 Ctrl+D 刪除當前便箋 Ctrl+E 居中對齊 Ctrl+R 右對齊 Ctrl+J 左對齊 Ctrl+I 斜體 Ctrl+B 粗體 Ctrl+U 下劃線 Ctrl+T 刪除線 Ctrl+Shift+> 加大選中文字的字號 Ctrl+Shift+< 縮小選中文字的字號 Ctrl+Shift+L 在文字前添加項目符號和編號(反復按可循環切換)。其中編號包括數字、大小寫字母、大小寫羅馬數字幾種形式。連按兩次回車可取消。 知道了這些快捷鍵,我們就可以做出一些滿足日常需要的格式了: 像 Windows 這種應用廣泛的軟件或硬件,由于全球數十億人都會使用到,因此一個小小的功能特性都可以對世界造成很大的影響。 想想看,如果所有人都利用好這個小程序而不去買便箋,往小了說是省錢,往大了說可是環保了,能節約很多制作便箋的自然資源消耗。
上傳時間: 2019-06-22
上傳用戶:yerbol
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計算下一個值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數函數 float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時間: 2019-10-13
上傳用戶:大萌萌撒
IDAQ-8098 控溫模塊是專為精確控溫應用而設計的,采用多 CPU 方案實現采集和 PID 控制分開工 作,采用 Modbus 通信協議,通過 RS-485 通信接口下載控溫參數,并實時監測被控溫區實時溫度、控溫 狀態和數字量輸入輸出狀態,還可以控制控溫的啟停等功能。啟動控溫后,模塊能夠按照設定的控溫參數 自動工作,無須其他設備干預,這樣就大大減輕了控制系統的工作負擔,提高了整個系統的穩定性和可靠 性。IDAQ-8098 控溫模塊完全實現系統的溫度采集和控制,有效減少了技術部門在該功能上的開發和調試 時間,使產品能夠快速占領市場。 ◆ 多 CPU 工作方式,采集熱電偶信號和 PID 控制完全分開協同式工作 ◆ 控溫方式:增量 PID 加模糊控制,自適應 PID 控制(保存自適應的最佳參數供下次使用) ◆ 8 個控溫通道各自獨立 PID 控制,對應于 8 個通道的熱電偶輸入 ◆ PID 采樣周期可達 500ms ◆ 控溫精度最高能達到±0.5℃ ◆ 五種脈寬輸出指示五種控溫狀態(不控溫、加熱、恒溫、預警和報警) ◆ 可通過 RS-485 串口遠程監視工作狀態 ◆ 可和 PLC 掛接通訊,組合成最完美最經濟最可靠的 IO 控制和被控溫區溫度控制系統◆ 有效分辨率:16 位 ◆ 通道:8 路差分 ◆ 輸入類型:輸入類型:熱電偶,PT100,0~20mA,0-10V,-20-+20mV,-78-+78mV,-312-+312mV,0-5000mV ◆ 熱電偶類型與溫度范圍: J -200 ~ 1200℃ K -200 ~ 1370℃ T -200 ~ 400℃ E -200 ~ 1000℃ R -50 ~ 1760℃ S -50 ~ 1760℃ B 0 ~ 1820℃ PT100 溫度范圍:-200 ~ 660℃ ◆ 隔離電壓:3000Vdc ◆ 故障與過壓保護:最大承受電壓±35V ◆ 采樣速率:20 采樣點/ 秒(總共) ◆ 輸入阻抗:20M ◆ 精度:±0.1%( 電壓輸入) ◆ 零漂移:±3uV/℃
標簽: PID溫控模塊
上傳時間: 2021-12-09
上傳用戶:
PCB聯盟網-科普知識--《電子封裝材料與工藝》 學習筆記 54頁本人主要從事 IC 封裝化學材料(電子膠水)工作,為更好的理解 IC 封裝產業的動態和技術,自學了《電子封裝材料 與工藝》,貌似一本不錯的教材,在此總結出一些個人的學習筆記和大家分享。此筆記原發在本人的“電子中,有興趣的朋友可以前去查看一起探討第一章 集成電路芯片的發展與制造 1、原子結構:原子是由高度密集的質子和中子組成的原子核以及圍繞它在一定軌道(或能級)上旋 轉的荷負電的電子組成(Neils Bohr 于 1913 年提出)。當原子彼此靠近時,它們之間發生交互作用 的形成所謂的化學鍵,化學鍵可以分成離子鍵、共價鍵、分子鍵、氫鍵或金屬鍵; 2、真空管(電子管): a.真空管問世于 1883 年 Edison(愛迪生)發明白熾燈時,1903 年英格蘭的 J.A.Fleming 發現了真 空管類似極管的作用。在愛迪生的真空管里,燈絲為陰極、金屬板為陽極; b.當電子管含有兩個電極(陽極和陰極)時,這種電路被稱為二極管,1906 年美國發明家 Lee DeForest 在陰極和陽極之間加入了一個柵極(一個精細的金屬絲網),此為最早的三極管,另外更 多的電極如以致柵極和簾柵極也可以密封在電子管中,以擴大電子管的功能; c.真空管盡管廣泛應用于工業已有半個多世紀,但是有很多缺點,包括體積大,產生的熱量大、容 易燒壞而需要頻繁地更換,固態器件的進展消除了真空管的缺點,真空管開始從許多電子產品的使 用中退出; 3、半導體理論: a.在 IC 芯片制造中使用的典型半導體材料有元素半導體硅、鍺、硒,半導體化合物有砷化鎵(GaAs)、 磷砷化鎵(GaAsP)、磷化銦(InP); b.二極管(一個 p-n 結),當結上為正向偏壓時可以導通電流,當反向偏壓時則電流停止; c.結型雙極晶體管:把兩個或兩個以上的 p-n 結組合成一個器件,導致了之!
上傳時間: 2022-02-06
上傳用戶:
用三點法實現機器人三維位置測量的研究摘 要 :提 出 了一 種 微 小 爬 壁 機 器 人 三 維 位 置 測 量 的新 方 法 。筆 者 通 過 深 入 分 析 研 究各 種 位 置 測 控 方 法 與 系 統 ,提 出采 用單 目視 覺方 法 中的 聚 焦法 ,以 CCD作 為 傳 感 器 ,用 三 點 法 實現 對 機 器 人 的 三 維 位 置 測 量 。 驗 證性 實驗 結果表 明 ,本研 究提 出的測 量原 理和 系統是 正 確 可行 的 。 關鍵詞 :機 器人 ;位置 測量 ;CCD傳 感 器 ;單 目視 覺 ;攝 像 機 標 定 中 圖分 類 號 :TP242.6 文 獻 標 識 碼 :B Abstract:A new 3D position measurementmethod Ofa wall—climbing micro robothas been researched.Researc— hing on the various position measuring and controlling method,theauthorhasputforwardanewprojecttomeas— ure the 3D position of the robot,in which the focusing method with singlecamera and CCD sensorhasbeen used to getthe position information.The elementary experiment has verified the principle and the system. Key words:robot;position detection;CCD sensor;single camera vision;camera caiibration 位置測量技 術是智 能機 器人 的關鍵 技術 ,是各 種 機器人控 制系統 中極 為重 要 的環節 ,也 是 國內外研 究 的熱點所 在。 按 照測試 系統 與被 測機 器 人 的關 系 ,可 以將位 置 測量技術 分為接觸 式和非接觸式 兩大類 。接觸 式測量 系統 由于在測 量過程 中或多或少地 對機器人施 加 了載 荷 ,因而僅適用于靜 態 位置測 量 。而動 態 位 置測量 系 統 主要分 5類 :①激光跟蹤 系統 ;@ CCD交 互測量 收 稿 日期 :2001—07—03 基 金項 目:國家 863高科技 研 究 資助 項 目(9804-06);教 育 部 高 等 學校 骨干教 師 資助 計 3t,j項 目 作者 簡 介 :張 智海 (1973一 ),男 ,工 學碩 士 ,主 要 研 究 方 向 為 智 能 機 器人 測 控 技 術 。 系統 ;③ 超聲波 測量 系統 ;④ PSD(positionsensitivede— vice)位 置 測 量 系統 ;⑤ 帶 有 接 近覺 傳 感 器 的 測量 系 統 。位置測量 還可 以從另一個分類 角度劃分為主動式 測量和被動 式測 量 。主動式測 量主要可 以分為結 構光方法和激光 自動聚焦法兩類 。被 動式測量 主要 可 以分為雙 目視 覺 、三 目視覺 、單 目視覺 等方法 。 對 比以上各種方法 的 優缺 點 ,針對 筆者 研制 的微 小爬壁機器人 的空 間三 維位 置 測量 的要 求 ,測量 系統 必須滿足尺 寸小 、分 辨率 高 、穩定 性 和可 靠性 好 、時 間 響應快等特 點 ,提 出了采用 單 目視覺方法 中的聚焦法 , 選用 CCD作 為傳感器 ,用 三點法實現對機器人 的三維 位置測量 ,并用 Matlab和 V
標簽: 機器人
上傳時間: 2022-02-12
上傳用戶:
基于傳感器和模糊規則的機器人在動態障礙環境中的智能運動控制基于傳感器和模糊規則的機器人在動態障礙環境中的智能運動控制 oIlI~0(、r> 王 敏 金·波斯科 黃心漢 ,O、l、L (華i 面面辜寫j幕.武漢,43074) \I。L上、o 捌要:提出了一種基于傳感器和模糊規則的智能機器人運動規劃方法 .該方法運用了基于調和函數分析的人 工勢能 場原 理 .采用模糊規則 可減少推導勢能函數所 必須的計算 ,同時給機器人伺服 系統發 出指令 ,使它能夠 自動 地尋找通向目標的路徑.提出的方法具有簡單、快速的特點,而且能對 n自由度機械手的整個手臂實現最碰.建立 在非線性機器人動力學之上的整 個閉環系統和模糊控制器 的穩定性 由李雅普諾 夫原理 保證 .仿真結 果證明 了該方 法 的有效性 ,通 過比較分析顯示 出文 中所提 出的最障算法的優越性 . 美t詞:基于傳感器的機器人運動控制;模糊規則;人工勢能場;動態避障;機器人操作手 1 叫啞oducd0n R。boIsarewjdelyusedfor詛sb inchasma~ia]b柚· 血 , spot : ng, spray Ijl岫 1g, mech卸icaland elec咖 icas搴enlb1y,ma al塒 IIovaland wa時 cut· ring 咖 . ofsuch tasks_堋 llldea pri|柚ary ptd 眥 of 她 ar0botto e oncpositiontoanother withoutbur叩inginto anyobstacles. s 曲km,de. notedasthefDbotm ∞ pJan,liDgp∞ 舶1,hasbeen the倒 娜bj0ct鋤l哪gIeseat℃ll∞ . Every method o0血∞rI1ing 如b0tmotionplanninghas itsownadv∞ngesandapplicationdoma~ asweftasits di戤ldvaIIta麟 and constr~dnts. Therefore it would be ratherdifficulteithertoc0Ⅱ】paremethodsorton~ vate thechoio~ofan dl0‘iupon othP~s. 0州 d眥 :1999—07—29;Revised~ :2000一∞ 一絲 In conU~astto many n~ hods,rob
上傳時間: 2022-02-15
上傳用戶:
費恩曼(R.P.Feynman)1918年生于布魯克林區,1942年在普林斯頓獲得博士學位。第二次世界大戰期間在洛斯阿拉莫斯,盡管當時他還很年輕,但已在曼哈頓計劃中發揮了重要作用。以后,他在康奈爾大學和加利福尼亞理工學院任教。1965年,因他在量子電動力學方面的工作和朝永振一郎及施溫格(J.Schwinger)同獲諾貝爾物理學獎。費因曼博士獲得諾貝爾獎是由于成功地解決了量子電動力學理論問題,他也創立了說是液氦中起流動性現象的數學理論。此后,他和蓋爾曼(M.Gell-Mann)在B衰變等弱相互作用領域內做出了奠基性的工作。在以后的幾年里,他在夸克理論的發展中起了關鍵性的作用,提出了他的高能質子碰撞過程的部分子模型。除了這些成就之外,費恩曼博士將新的基本計算技術及記號法引時物理學,首先是無處不在的費恩曼圖,在近代科學歷史中,它比任何其他數學形式描述都更大地改變了對基本物理過程形成概念及進行計算的方法。費恩曼是一位卓越的教育家。在他區得的許多獎項中,他對1972年獲得的奧斯特教學獎章特別感到自豪。在1963年第一次出版的《費恩曼物理學講義》被《科學叛國人》雜志的一位評論員描寫為“咬不動但富于營養并且津津有味。25年后它仍是教師和最好的初學學生的指導書”。為了使外行的公眾增加對物理學的了解,費恩曼博士寫了《物理定律和量子電動力學的性質:光和物質的奇特理論》。他還是許多高級出版物的作者,這些都成為研究人員和學生的經典參考書和教科書。費恩曼是一個活躍的公眾人物。他在挑戰者號調查委員會里的工作是從所周知的,特別是他的著名的O型環對寒冷的敏感性的演示,這是一個優美的實驗,除了一杯冰水以外其他什么也不需要。費恩曼博士1960年在加利福尼亞州課程促進會中的工作卻很少人知道,他在會上抨擊了教材的平庸。僅僅羅列費恩曼的科學和教育成就并沒有恰當抓信這個人的本質。即使是他 最最技術性的出版物的讀者都知識道,費恩曼活躍的多面的人格在他所有的工作中都閃閃發光。除了作為物理學家,在各種不同的場合下他變成不同的人物:有進是無線電修理工,有時是鎖具收藏家,藝術家、舞蹈家、邦戈(bongo)鼓手,甚至瑪雅象形文字的解釋者。對他的世界人們永遠好奇,他是一個典型的經驗主義者。費恩曼于1998年2月15日在洛杉磯逝世。
標簽: 物理學
上傳時間: 2022-04-24
上傳用戶:得之我幸78
這個封裝庫比較雜,包含除電阻電容電感以外的,我們常用的一些電子元器件。電池:CR1220和CR2032;貼片磁珠;整流橋:種類很齊全;保險管:貼片和直插均有;晶振:直插HC49、2*6、3*8等圓柱形,貼片0705等40種規格晶振;繼電器:包括歐姆龍和松下一些常用的型號的繼電器共36種,這個很難得的;變壓器:EI35RJ11和RJ45網口;sd卡座;USB座:A,B,C型都有;撥碼開關和按鍵:共90多種封裝形式;
上傳時間: 2022-04-25
上傳用戶:canderile