亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

SIMATIC <b>S7-1200</b> 產(chǎn)(chǎn)品樣本(201505)

  • 學(xué)生成績(jī)管理

    #include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x學(xué)院 y專業(yè) z班級(jí)*/  int z[100];  main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------學(xué)生成績(jī)管理-----\n"); printf("請(qǐng)按相應(yīng)數(shù)字鍵來(lái)實(shí)現(xiàn)相應(yīng)功能\n"); printf("1.錄入學(xué)生信息   2.錄入學(xué)生成績(jī)       3.修改學(xué)生成績(jī)\n"); printf("4.查詢學(xué)生成績(jī)   5.不及格科目及名單   6.按班級(jí)輸出學(xué)生成績(jī)單\n"); printf("請(qǐng)輸入你要實(shí)現(xiàn)的功能所對(duì)應(yīng)的數(shù)字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("請(qǐng)輸入你的學(xué)院名稱:"); gets(x); printf("請(qǐng)輸入你的專業(yè)名稱:"); gets(y); printf("請(qǐng)輸入你的班級(jí)號(hào):"); scanf("%d",&z); printf("請(qǐng)輸入你們一個(gè)班有幾個(gè)人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i+1); scanf("%d",xuehao[i]); getchar(); printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已經(jīng)錄入完畢您的班級(jí)所有學(xué)生的信息!\n"); printf("您的班級(jí)為%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t錄入學(xué)生的成績(jī)\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t數(shù)學(xué):"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英語(yǔ):"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc語(yǔ)言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循環(huán)變量*/ int m[10000];/*要查詢的學(xué)號(hào)*/ int b;/*修改后的成績(jī)*/ char kemu[20]=""; printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào)"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");  printf("請(qǐng)輸入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="數(shù)學(xué)"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英語(yǔ)"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c語(yǔ)言"); { scanf("%d",&b); c[i]=b; } printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("請(qǐng)輸入你的專業(yè)名稱"); scanf("%s",&zyname); printf("請(qǐng)輸入你的班級(jí)號(hào)"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("專業(yè)名稱%s班級(jí)號(hào)%d數(shù)學(xué)成績(jī)%d英語(yǔ)成績(jī)%dc語(yǔ)言成績(jī)%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }

    標(biāo)簽: c語(yǔ)言

    上傳時(shí)間: 2018-06-08

    上傳用戶:2369043090

  • 成績(jī)查詢系統(tǒng)

    #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);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) 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ì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(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("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(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盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(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("新成績(jī)錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統(tǒng)計(jì)成績(jī)   {   printf("數(shù)學(xué)新成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)新成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(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é)成績(jī):%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(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é)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\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ī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(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("======歡迎來(lái)到學(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é)生成績(jī)\n");   printf("      7、排序?qū)W生成績(jī)\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é)成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī)   {   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é)成績(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.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)//按照英語(yǔ)成績(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.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ī)成績(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)//按照平均成績(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].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è)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面)  

    標(biāo)簽: 成績(jī)查詢系統(tǒng)

    上傳時(shí)間: 2019-06-08

    上傳用戶:啊的撒旦

  • 學(xué)生成績(jī)guanli

    #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);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) 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ì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(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("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(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盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(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("新成績(jī)錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統(tǒng)計(jì)成績(jī)   {   printf("數(shù)學(xué)新成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)新成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(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é)成績(jī):%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(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é)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\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ī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(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("======歡迎來(lái)到學(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é)生成績(jī)\n");   printf("      7、排序?qū)W生成績(jī)\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é)成績(jī):");   scanf("%f",&stu[a].sco.math);   printf("英語(yǔ)成績(jī):");   scanf("%f",&stu[a].sco.english);   printf("計(jì)算機(jī)成績(jī):");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī)   {   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é)成績(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.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)//按照英語(yǔ)成績(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.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ī)成績(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)//按照平均成績(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].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è)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面)   #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);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) 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ì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(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("不能打開(kāi)文件!\n");       }     else       {       printf("保存信息到D盤(pán)\n");       fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n");       fprintf(fp,"  學(xué)號(hào)       姓名           數(shù)學(xué)成績(jī)       英語(yǔ)成績(jī)     計(jì)算機(jī)成績(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盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統(tǒng)計(jì)成績(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("新成績(jī)錄入成功!

    標(biāo)簽: c語(yǔ)言

    上傳時(shí)間: 2019-06-09

    上傳用戶:啊的撒旦

  • S7-1200可編程控制器系統(tǒng)手冊(cè)

    Siemens_PRG_S7-1200可編程控制器系統(tǒng)手冊(cè)

    標(biāo)簽: 1200 S7 可編程控制器 系統(tǒng)手冊(cè)

    上傳時(shí)間: 2021-04-03

    上傳用戶:1595310629

  • 西門(mén)子S7-1200系列的用戶手冊(cè)

    關(guān)于西門(mén)子1200系列的用戶手冊(cè),請(qǐng)大家使用

    標(biāo)簽: 西門(mén)子 S7-1200

    上傳時(shí)間: 2021-12-24

    上傳用戶:

  • 深入淺出西門(mén)子S7-1200 PLC

    深入淺出西門(mén)子S7-1200PLC,書(shū)本掃描版

    標(biāo)簽: PLC

    上傳時(shí)間: 2022-07-01

    上傳用戶:wangshoupeng199

  • 如何使用CM CANopen模塊實(shí)現(xiàn)S7-1200 PLC同LXM28A伺服驅(qū)動(dòng)器的通訊

    本實(shí)驗(yàn)將HMS的CM CANopen模塊插入西門(mén)子S7-1200PLC背板中,CM模塊作為CANopen主站與LXM28A通信,另外CM模塊通過(guò)PLC背板總線與PLC進(jìn)行通信,從而實(shí)現(xiàn)伺服與PLC的數(shù)據(jù)交換,背板總線同時(shí)為CM模塊供電。為簡(jiǎn)單起見(jiàn),實(shí)驗(yàn)中只接了一臺(tái)LXM28A,實(shí)際應(yīng)用中最多可以掛接16臺(tái)CANopen設(shè)備。備注:1.CANopen網(wǎng)絡(luò)連接:分別對(duì)應(yīng)連接CM模塊和LXM28A伺服的CAN_H、CAN_L和SHLD引腳,在CM模塊CAN_H和CAN_L之間接入120歐姆電阻,并且在CANopen網(wǎng)絡(luò)中最后一臺(tái)設(shè)備CAN_H和CAN_L之間接入120歐姆電阻。2.LXM28A伺服設(shè)定:1)通過(guò)伺服HMl設(shè)定CANopen設(shè)備地址(P3-05)為3,CANopen波特率(P3-01)為500k。2)當(dāng)伺服HMl顯示AL013錯(cuò)誤碼時(shí)需要將P2-15、P2-16、P2-17參數(shù)置0,確保HMI沒(méi)有錯(cuò)誤顯示。

    標(biāo)簽: CANopen模塊 lxm28a 驅(qū)動(dòng)器 PLC

    上傳時(shí)間: 2022-07-18

    上傳用戶:xsr1983

  • 西門(mén)子 S7-1200 可編程控制器系統(tǒng)手冊(cè)

    詳細(xì)介紹西門(mén)子1200系統(tǒng)手冊(cè)使用方法

    標(biāo)簽: S7-1200 可編程控制器

    上傳時(shí)間: 2022-07-21

    上傳用戶:zhaiyawei

  • IP交換技術(shù)協(xié)議與體系結(jié)構(gòu)

    第1章 引 言產(chǎn)業(yè)界人士和觀察家(甚至包括那些經(jīng)過(guò)多年外層空間旅行剛剛返回這個(gè)世界的人)都已經(jīng)很清楚,因特網(wǎng)( I n t e r n e t)發(fā)展所達(dá)到的地位和其所產(chǎn)生的現(xiàn)象都不同于本世紀(jì)或上世紀(jì)所提出的任何一種技術(shù)。 I n t e r n e t的延伸和影響范圍、有關(guān) I n t e r n e t 出版物、以及包括美國(guó)在線(A O L)、美國(guó)電報(bào)電話公司( AT & T)和微軟公司等I n t e r n e t產(chǎn)業(yè)界的大量風(fēng)險(xiǎn)投資者,這一切都會(huì)使我們有一種紛繁迷亂的感覺(jué)。所有這些都是通過(guò)這樣或那樣的方式與 I n t e r n e t連接起來(lái)。I n t e r n e t也是Joe Sixpack和Fortune 1000這樣的網(wǎng)站每天都關(guān)心、考慮和使用的唯一技術(shù)。或許I n t e r n e t是世界上少有的幾個(gè)能夠以相同的平等程度來(lái)對(duì)待每一個(gè)用戶的實(shí)體組織之一。一個(gè)企業(yè)的首席執(zhí)行官( C E O)如果想給公司提供更好的網(wǎng)絡(luò)服務(wù)保證,他必須建立一個(gè)專用網(wǎng)絡(luò)。而在I n t e r n e t中,每一個(gè)人對(duì)網(wǎng)絡(luò)的訪問(wèn)都是平等的。I n t e r n e t的發(fā)展并沒(méi)有損害到那些在過(guò)去 1 5 0年中所發(fā)展起來(lái)的其他技術(shù)。的確,電話技術(shù)是相當(dāng)重要的,它可以使我們能夠在雙方不見(jiàn)面的情況下通過(guò)聲音與線路另一端的人通話。同樣,汽車也改變了我們的生活,汽車的出現(xiàn)能夠使我們?cè)谝惶熘畠?nèi)跨越更大的距離,而這個(gè)距離要比任何其他動(dòng)物多出一個(gè)數(shù)量級(jí)。電燈、無(wú)線電和電視都曾經(jīng)是改善我們?nèi)粘I畹氖种匾募夹g(shù),擴(kuò)展了我們?cè)诜撬郀顟B(tài)的時(shí)間,向我們傳播各種信息,使我們享受更多的娛樂(lè)。我們已經(jīng)在很大程度上解決了生存問(wèn)題。大多數(shù)人的飯桌上有足夠的食品、有溫暖的住所,并且都有一個(gè)工作場(chǎng)所,可以每天早出晚歸地工作。我們也可以不必被動(dòng)地接收各種電視節(jié)目,而可以輕松地使用遙控器選擇欣賞自己喜愛(ài)的頻道。I n t e r n e t除了有把事情變得更好的能力外,也可能會(huì)把事情搞得更糟。在好的一方面,I n t e r n e t能夠使我們?cè)谑澜绶秶藗冞M(jìn)行對(duì)等通信;使我們能夠訪問(wèn)那些存儲(chǔ)在數(shù)以百萬(wàn)計(jì)的網(wǎng)絡(luò)計(jì)算機(jī)上的幾乎無(wú)限的大量信息。一些功能強(qiáng)大的搜索引擎能夠使我們更加簡(jiǎn)單和迅速地實(shí)現(xiàn)對(duì)有用、有意義的信息資源的定位。不同階段的商務(wù)活動(dòng),包括從最初的偶然興趣直到成熟的采購(gòu)定單等,都可以在 I n t e r n e t上完成。甚至于許多人已經(jīng)開(kāi)始幻想在將來(lái)的某天,I n t e r n e t能使我們不再需要每天早起去上班了。人們可以靠在枕頭上使用一臺(tái)膝上型計(jì)算機(jī)(或許將來(lái)可能出現(xiàn)的任何先進(jìn)的計(jì)算機(jī))通過(guò)撥接 I n t e r n e t對(duì)所有的商務(wù)活動(dòng)和某些消遣娛樂(lè)進(jìn)行管理和維護(hù)。在不利的一方面,I n t e r n e t也可能使我們成為有電子怪癖的人,使我們?nèi)狈εc其他人進(jìn)行直接交流的能力。人們僅有的非睡眠時(shí)間都將被耗費(fèi)在計(jì)算機(jī)的熒光屏前,不停地鍵入I n t e r n e t地址(U R L)或指向其他的超級(jí)鏈接。最令人不安的是,由于“等待回應(yīng)( W F R E,waiting for reply)”而浪費(fèi)的時(shí)間是不可挽回的。 W F R E現(xiàn)象的出現(xiàn)是由于I n t e r n e t上太擁塞、太慢,以至于你的瀏覽器似乎進(jìn)入了一個(gè)永久“等待回應(yīng)”的狀態(tài)。有時(shí)候它只是幾秒鐘的問(wèn)題;另一些情況下可能是幾分鐘。你在 W F R E狀態(tài)下盯著計(jì)算機(jī)熒光屏等待所花費(fèi)的時(shí)間第一部分 概 述是相當(dāng)大的,這些時(shí)間的總和可能會(huì)是一個(gè)令人吃驚的數(shù)字,其數(shù)量級(jí)或許是幾個(gè)月甚至幾年。我們所討論的要點(diǎn)在于:1) Internet已經(jīng)經(jīng)歷了巨大的增長(zhǎng)過(guò)程,并且這種增長(zhǎng)將會(huì)繼續(xù)。2) 不論是居民用戶或者是團(tuán)體用戶, I n t e r n e t都受到了同等的歡迎。對(duì)于后者, I n t e r n e t還意味著新的收入增長(zhǎng)點(diǎn)。3) 一些實(shí)力很強(qiáng)并且有創(chuàng)造力的產(chǎn)業(yè)巨頭正在致力于 I n t e r n e t的應(yīng)用,以便為其企業(yè)自身及其消費(fèi)者提供有利條件。無(wú)庸置疑,不論是偶爾對(duì) I n t e r n e t的臨時(shí)使用還是正式規(guī)范地應(yīng)用I n t e r n e t,都將導(dǎo)致對(duì)I n t e r n e t更多的興趣和廣告宣傳。與此同時(shí),也將伴隨著 I n t e r n e t應(yīng)用和及其流量的成比例的增長(zhǎng)。4) 目前I n t e r n e t的帶寬和容量還是缺乏的,這導(dǎo)致了 I n t e r n e t上不穩(wěn)定的響應(yīng)時(shí)間和不可預(yù)知的性能。同時(shí)產(chǎn)生的問(wèn)題是, I n t e r n e t是否有能力支持未來(lái)的、高帶寬需求的、時(shí)延敏感的應(yīng)用?或者說(shuō)I n t e r n e t是否有能力支持居民對(duì)帶寬容量的適度增長(zhǎng)的需求?我們是如何進(jìn)入了這樣一個(gè)不穩(wěn)定的狀態(tài)呢?這個(gè)問(wèn)題有若干答案,但其中沒(méi)有一個(gè)是真正有權(quán)威性的解釋,或許還有一些是可以根本不考慮的。首先, I n t e r n e t是其自身成功的一個(gè)受害者。每一天都有新的用戶加入到 I n t e r n e t中,越來(lái)越多的人不停地使用瀏覽器通過(guò)一個(gè)We b站點(diǎn)搜尋他們所感興趣的下一個(gè) We b站點(diǎn)。由于訪問(wèn) I n t e r n e t的價(jià)格僅是電話的市話費(fèi)用附加一個(gè)適度的費(fèi)率,因此并沒(méi)有一個(gè)價(jià)格上的保護(hù)手段來(lái)防止某些瀏覽者對(duì) I n t e r n e t資源的長(zhǎng)時(shí)間占用。另一種資源的缺乏不一定是由于網(wǎng)絡(luò)資源的不足引起的,而更大程度上是由于服務(wù)器的資源不足造成的。對(duì)某些服務(wù)器或服務(wù)器陣列來(lái)說(shuō),突發(fā)性的連接請(qǐng)求所引起的負(fù)荷和突發(fā)的頻度可能大大超過(guò)了這些服務(wù)器的處理能力。這種突發(fā)的大量的連接請(qǐng)求一般發(fā)生在大量的客戶試圖同時(shí)訪問(wèn)同一個(gè) We b服務(wù)器的時(shí)候。這個(gè)問(wèn)題可以被認(rèn)為是一個(gè)臨時(shí)性的問(wèn)題,因?yàn)榉?wù)器的供應(yīng)商通常會(huì)不斷地提供新型的內(nèi)容服務(wù)器主機(jī)、負(fù)載平衡器、 We b緩存器等來(lái)使該問(wèn)題得到緩解 。另一個(gè)問(wèn)題是某些鏈路可能正好沒(méi)有足夠的帶寬來(lái)支持業(yè)務(wù)所提供的流量負(fù)荷。這個(gè)問(wèn)題的部分解決方案當(dāng)然是增加更多的帶寬;一些新的技術(shù),如波分復(fù)用( W D M)技術(shù),似乎可以為用戶提供幾乎無(wú)限的帶寬。所有這些我們上述所討論的問(wèn)題都是造成 I n t e r n e t及I n t r a n e t(I n t r a n e t是I n t e r n e t在企業(yè)范圍內(nèi)的一個(gè)著名的復(fù)制品)性能極其不穩(wěn)定的重要因素。在這些問(wèn)題中,有很多都已經(jīng)被研究清楚了;雖然其中有些諸如價(jià)格等問(wèn)題是不可能在一夜之間得到解決的,但是我們至少已經(jīng)知道解決方案是存在的,并且可以在不久的將來(lái)得到應(yīng)用。然而,有關(guān)I n t e r n e t性能和基于I P協(xié)議進(jìn)行網(wǎng)絡(luò)互連的最基本問(wèn)題,很大程度上還在于基本 I P路由轉(zhuǎn)發(fā)處理過(guò)程和該功能的實(shí)現(xiàn)平臺(tái)。

    標(biāo)簽: ip交換技術(shù)

    上傳時(shí)間: 2022-07-27

    上傳用戶:fliang

  • 基于嵌入式ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)研究

    隨著科技的進(jìn)步,視頻監(jiān)控系統(tǒng)正在向嵌入式、數(shù)字化、網(wǎng)絡(luò)化方向發(fā)展。嵌入式視頻監(jiān)控系統(tǒng)充分利用大規(guī)模集成電路和網(wǎng)絡(luò)的科技成果,實(shí)現(xiàn)了體積小巧、性能穩(wěn)定、通訊便利的監(jiān)控產(chǎn)品。 本文以S3C2410為核心硬件平臺(tái)開(kāi)發(fā)了基于嵌入式的遠(yuǎn)程視頻監(jiān)控系統(tǒng),并對(duì)關(guān)鍵技術(shù)進(jìn)行了論述和研究。首先給出了系統(tǒng)總體軟硬件設(shè)計(jì)方案,針對(duì)本系統(tǒng)硬件對(duì)vivi進(jìn)行了修改和移植,對(duì)編譯和移植Linux內(nèi)核以及制作YAFFS文件系統(tǒng)也做了深入的研究,重點(diǎn)討論了在嵌入式Linux操作系統(tǒng)下開(kāi)發(fā)USB接口攝像頭驅(qū)動(dòng)程序和利用linux提供的Video4Linux API函數(shù)實(shí)現(xiàn)視頻數(shù)據(jù)采集,其次采用背景差法實(shí)現(xiàn)了對(duì)視頻圖像中運(yùn)動(dòng)目標(biāo)的檢測(cè),然后通過(guò)MJPEG壓縮算法實(shí)現(xiàn)了視頻數(shù)據(jù)壓縮,接著介紹了在Linux下基于TCP/IP協(xié)議的socket編程,實(shí)現(xiàn)了視頻數(shù)據(jù)的網(wǎng)絡(luò)發(fā)送。最后著重論述了嵌入式Web服務(wù)器的設(shè)計(jì),編寫(xiě)了視頻監(jiān)控主界面程序,并實(shí)現(xiàn)了基于B/S模式的視頻監(jiān)控系統(tǒng)結(jié)構(gòu)。 本系統(tǒng)采用模塊化設(shè)計(jì)方法,使得設(shè)計(jì)更加簡(jiǎn)潔、高效,具有良好的擴(kuò)展性和易用性,有利于系統(tǒng)升級(jí)。另外采用嵌入式的方法,系統(tǒng)成本較低,易于推廣使用。

    標(biāo)簽: ARM 嵌入式 遠(yuǎn)程視頻監(jiān)控 系統(tǒng)研究

    上傳時(shí)間: 2013-04-24

    上傳用戶:小楓殘?jiān)?/p>

主站蜘蛛池模板: 犍为县| 福泉市| 南充市| 邻水| 白山市| 佛冈县| 新巴尔虎左旗| 大英县| 屯留县| 绥江县| 永新县| 冀州市| 密山市| 宁津县| 竹北市| 酒泉市| 梅河口市| 阿巴嘎旗| 永泰县| 皋兰县| 沂源县| 改则县| 土默特左旗| 梓潼县| 兴安盟| 兰西县| 梧州市| 阳新县| 从江县| 昌都县| 壤塘县| 建瓯市| 美姑县| 聂拉木县| 根河市| 苏尼特左旗| 都兰县| 丹东市| 思茅市| 阿坝县| 筠连县|