#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專(zhuān)業(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.查詢(xún)學(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é)院名稱(chēng):");
gets(x);
printf("請(qǐng)輸入你的專(zhuān)業(yè)名稱(chēng):");
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];/*要查詢(xún)的學(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)輸入你的專(zhuān)業(yè)名稱(chēng)");
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("專(zhuān)業(yè)名稱(chēng)%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
上傳用戶(hù):2369043090
ASIC對(duì)產(chǎn)品成本和靈活性有一定的要求.基于MCU方式的ASIC具有較高的靈活性和較低的成本,然而抗干擾性和可靠性相對(duì)較低,運(yùn)算速度也受到限制.常規(guī)ASIC的硬件具有速度優(yōu)勢(shì)和較高的可靠性及抗干擾能力,然而不是靈活性較差,就是成本較高.與傳統(tǒng)硬件(CHW)相比,具有一定可配置特性的場(chǎng)可編程門(mén)陣列(FPGA)的出現(xiàn),使建立在可再配置硬件基礎(chǔ)上的進(jìn)化硬件(EHW)成為智能硬件電路設(shè)計(jì)的一種新方法.作為進(jìn)化算法和可編程器件技術(shù)相結(jié)合的產(chǎn)物,可重構(gòu)FPGA的研究屬于EHW的研究范疇,是研究EHW的一種具體的實(shí)現(xiàn)方法.論文認(rèn)為面向分類(lèi)的專(zhuān)用類(lèi)可重構(gòu)FPGA(ASR-FPGA)的研究,可使可重構(gòu)電路粒度劃分的針對(duì)性更強(qiáng)、設(shè)計(jì)更易實(shí)現(xiàn).論文研究的可重構(gòu)FPGA的BCH通訊糾錯(cuò)碼進(jìn)化電路是一類(lèi)ASR-FPGA電路的具體方法,具有一定的實(shí)用價(jià)值.論文所做的工作主要包括:(1)BCH編譯碼電路的設(shè)計(jì)——求取實(shí)驗(yàn)用BCH碼的生成多項(xiàng)式和校驗(yàn)多項(xiàng)式及其相應(yīng)的矩陣并構(gòu)造實(shí)驗(yàn)用BCH碼;(2)建立基于可重構(gòu)FPGA的基核——構(gòu)造具有可重構(gòu)特性的硬件功能單元,以此作為可重構(gòu)BCH碼電路的設(shè)計(jì)基礎(chǔ);(3)構(gòu)造實(shí)現(xiàn)可重構(gòu)BCH糾錯(cuò)碼電路的方法——建立可重構(gòu)糾錯(cuò)碼硬件電路算法并進(jìn)行實(shí)驗(yàn)驗(yàn)證;(4)在可重構(gòu)糾錯(cuò)碼電路基礎(chǔ)上,構(gòu)造進(jìn)化硬件控制功能塊的結(jié)構(gòu),完成各進(jìn)化RLA控制模塊的驗(yàn)證和實(shí)現(xiàn).課題是將可重構(gòu)BCH碼的編譯碼電路的實(shí)現(xiàn)作為一類(lèi)ASR-FPGA的研究目標(biāo),主要成果是根據(jù)可編程邏輯電路的特點(diǎn),選擇一種可編程樹(shù)的電路模型,并將它作為可重構(gòu)FPGA電路的基核T;通過(guò)對(duì)循環(huán)BCH糾錯(cuò)碼的構(gòu)造原理和電路結(jié)構(gòu)的研究,將基核模型擴(kuò)展為能滿(mǎn)足糾錯(cuò)碼電路需要的糾錯(cuò)碼基本功能單元T;以T作為再劃分的基本單元,對(duì)FPGA進(jìn)行"格式化",使T規(guī)則排列在FPGA上,通過(guò)對(duì)T的控制端的不同配置來(lái)實(shí)現(xiàn)糾錯(cuò)碼的各個(gè)功能單元;在可重構(gòu)基核的基礎(chǔ)上提出了糾錯(cuò)碼重構(gòu)電路的嵌套式GA理論模型,將嵌套式GA的染色體串作為進(jìn)化硬件描述語(yǔ)言,通過(guò)轉(zhuǎn)換為相應(yīng)的VHDL語(yǔ)言描述以實(shí)現(xiàn)硬件電路;采用RLA模型的有限狀態(tài)機(jī)FSM方式實(shí)現(xiàn)了可重構(gòu)糾錯(cuò)碼電路的EHW的各個(gè)控制功能塊.在實(shí)驗(yàn)方面,利用Xilinx FPGA開(kāi)發(fā)系統(tǒng)中的VHDL語(yǔ)言和電路圖相結(jié)合的設(shè)計(jì)方法建立了循環(huán)糾錯(cuò)碼基核單元的可重構(gòu)模型,進(jìn)行循環(huán)糾錯(cuò)BCH碼的電路和功能仿真,在Xilinx公司的Virtex600E芯片進(jìn)行了FPGA實(shí)現(xiàn).課題在研究模型上選取的是比較基本的BCH糾錯(cuò)碼電路,立足于解決基于可重構(gòu)FPGA核的設(shè)計(jì)的基本問(wèn)題.課題的研究成果及其總結(jié)的一套ASR-FPGA進(jìn)化硬件電路的設(shè)計(jì)方法對(duì)實(shí)際的進(jìn)化硬件設(shè)計(jì)具有一定的實(shí)際指導(dǎo)意義,提出的基于專(zhuān)用類(lèi)基核FPGA電路結(jié)構(gòu)的研究方法為新型進(jìn)化硬件的器件結(jié)構(gòu)的設(shè)計(jì)也可提供一種借鑒.
標(biāo)簽:
FPGA
可重構(gòu)
通訊
糾錯(cuò)
上傳時(shí)間:
2013-07-01
上傳用戶(hù):myworkpost