Ⅰ 求軟體工程作業!
《東北大學軟體工程沖刺網課資料》網路網盤資源免費下載
鏈接:https://pan..com/s/1rmkScW9bYw00GG4qK_PAiQ
Ⅱ 求C語言學生檔案管理界面的源代碼
簡短的代碼 原創 花了2小時搞的#include "stdafx.h"
#include "stdio.h"
#include "string.h"int main(int argc, char* argv[])
{
struct days
{
int year;
int mon;
int day;
};
struct max
{
int num;
char name[20];
float cpp;
float data;
float english;
struct days mon;
}stu[100]={0,"",0,0,0,0,0,0};
int a,b,c,yanz=0;
char name[50];
FILE *fp;
printf("****************************ZX學生管理系統1.0測試版*****************************\n");
loop:printf("1.通過學號查找信息\n2.通過姓名查找信息\n3.添加學生信息\n4.刪除學生信息\n5.文件操作\n請輸入操作代碼(1~6):");
scanf("%d",&a);
switch(a)
{
case 1:
printf("請輸入學生學號:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
printf("學號:%d\n姓名:%s\nC++:%f分\n數據結構:%f分\n英語:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 2:
printf("請輸入學生姓名:");
scanf("%s",&name);
for(b=0;b<100;b++)
if((strcmp(stu[b].name,name))==0 && stu[b].num!=0)
printf("學號:%d\n姓名:%s\nC++:%f分\n數據結構:%f分\n英語:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 3:
for(b=0;b<100;b++)
{
if(stu[b].num==0)
{printf("請輸入新學生的學號:");<br> scanf("%d",&stu[b].num);<br> printf("請輸入新學生的姓名:");<br> scanf("%s",&stu[b].name);<br> printf("請輸入新學生的C++分:");<br> scanf("%f",&stu[b].cpp);<br> printf("請輸入新學生的數據結構分:");<br> scanf("%f",&stu[b].data);<br> printf("請輸入新學生的英語分數:");<br> scanf("%f",&stu[b].english);<br> printf("請輸入新學生的出生日期(****,**,**):");<br> scanf("%d,%d,%d",&stu[b].mon.year,&stu[b].mon.mon,&stu[b].mon.day);<br> break;}
}
if(b>=99) printf("空間已滿!\n");
break;
case 4:
printf("請輸入要刪除的那個學生學號:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
{
stu[b].num=NULL;
printf("刪除成功!\n");
yanz=1;
}
if(yanz==0) printf("找不到學號為%d學生的信息!",c);
break;
case 5:
printf("1.保存信息文件\n2.新建文件\n3.讀取文件\n請輸入操作代碼:");
scanf("%d",&c);
if(c==1)
{
printf("請輸入輸入文件路徑:");
scanf("%s",&name);
if((fp=fopen(name,"ab"))!=0)
{
for(b=0;b<100;b++)
if(stu[b].num!=0)fwrite(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("保存文件失敗,可能文件被保護或磁碟寫滿!\n");
}
else if(c==2)
{
printf("請輸入輸入文件名:");
scanf("%s",&name);
fp=fopen(name,"wb");
fclose(fp);
}
else if(c==3)
{
printf("請輸入輸入文件路徑:");
scanf("%s",&name);
if((fp=fopen(name,"rb"))!=0)
{
for(b=0;b<100;b++)
fread(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("讀取文件失敗,可能文件不存在或被保護!\n");
}
else printf("輸入錯誤!\n");
}
goto loop;
return 0;
}
Ⅲ 想製作電子書,求軟體
一、EXE輸出格式類製作工具
這是目前比較流行也是被許多人青睞的一種電子讀物檔案格式。這種格式的相關製作工具也是最多的。它最大的特點就是閱讀方便、製作簡單且製作出來的電子讀物相當精美而且無需專門的閱讀器支援就可以閱讀。這種格式的電子讀物對執行環境並無很高的要求。但是這種格式的電子圖書也有一些不足之處,如多數相關製作軟體製作出來的EXE檔都不支援Flash和java及常見的音頻視頻檔,需要IE瀏覽器支援等。常見EXE輸出格式類製作工具:
1、ActivE-BookCompiler4.22
軟體大小:2.14MB
軟體類型:共享軟體
公司網站:http://www.ebookcompiler.com
執行平台:Windows9X/NT/2000
下載地址:http://www.answers2000.freeserve.co.uk/422/aeb422a.exe該軟體是同類產品中比較出色的一款。它支援基本的HTML元素、圖片、音頻、表格、框架、CSS、javascript、Add-Ins等。軟體的操作介面從左到右共分為9個選擇標簽,即電子圖書資訊、加密、過期、安裝、開始執行資訊、用戶介面、輸入檔案資訊、Add-Ins和輸出檔案資訊,所有選項一目瞭然,為我們提供了強大的編輯功能並且使用起來也十分的方便。另外,該軟體對中文的支援也很好。
注意事項:在操作過程中,如果需要修改某一項的屬性值,選中那一項並雙擊滑鼠,軟體會自動彈出該選項相應的編輯視窗,修改完畢後軟體會自動紀錄您的操作。由於該軟體的未注冊版本對使用者的操作做了很大程度上的限制,強烈建議您注冊該產品。
2、ePublisherGold1.5
軟體大小:559KB
軟體類型:共享軟體
公司網站:http://www.inzonesoftware.com
執行平台:Windows9X/NT/2000
下載地址:http://www.inzonesoftware.com/epublish.zip該軟體是使用向導的方式引導用戶製作出版電子圖書。軟體支援基本HTML元素、CSS、javascript等相關技術。軟體要求製作者和讀者的電腦上安裝有IE4.0或以上版本。軟體除基本功能以外還具有以下特色:可以加入作者版權資訊;支援自己編寫電子圖書資訊(即"關於"對話方塊);可以對全部檔案或者單個檔案進行存取許可許可權制;軟體製作的EXE檔壓縮率高於同類產品,這也是軟體的一個優點。
製作步驟:單擊Next按鈕略過歡迎面板,加入製作者、網址和版本資訊。接下來的頁面中我們需要加入待組建的檔案(注意最好將圖片檔和頁面檔放置在同一個目錄下面)。然後設置執行時出現的圖片、起始頁面、首頁、關於對話方塊文本等,可以對頁面進行保護,可以是單個頁面也可以是多個頁面。最後一步就可以組建輸出EXE檔了。
3、E-BookHTMLCompilerPro2.12
軟體大小:1.62MB
軟體類型:共享軟體
公司網站:http://www.bigwig.net
執行平台:Windows9X/NT/2000
下載地址:http://www.win2000.com.cn/down/ebook.zip該軟體提供了最基本的製作選項,軟體的操作介面如圖所示。軟體支援最基本的HTML元素,如框架、圖片、表格等,支援使用48*36圖元的動態圖片作為產品的標識。但不可以直接換掉EXE檔案圖示,不支援CSS、javascript等技術。與其他軟體不同的是,該軟體可以按照用戶顯示器的解析度來隨意調整執行的默認視窗大小。另外軟體還支援點擊音效,並且在安裝檔中有一個名為E-BookCompilerEncryption的工具,可以使用該工具來對檔案進行加密。在E-BookHTMLCompilerPro+版本中,軟體還給我們提供了設置產品存取權的面板。軟體的使用方法與其他軟體類似。在使用該軟體的過程中要注意以下兩點:
1.單擊打開檔案以後,您選擇的目錄下面的所有檔案將會被加入到檔案列表框中。但是請您注意,如果您製作完一個產品之後,請務必將檔案列表清空!否則下一次軟體還會將上一次的檔案捆綁到當前的EXE檔案當中。
2.軟體在組建HTML檔以前,要求用戶輸入EXE檔執行的起始頁面,否則將會提示找不到頁面,請注意一定要保證檔案名的尾碼也一定要正確。
4、HTML2EXE2.2
軟體大小:1.28MB
軟體類型:共享軟體
公司網站:http://www.html2exe.com
執行平台:Windows9X/NT/2000
下載地址:http://www.html2exe.com/dl/h2e22d.zip
該軟體支援常見HTML基本元素,包括表格、表單、圖片、背景音樂等,但不支援Java、javascript、CSS等相關技術。軟體的操作介面很美觀並採用了IE風格的浮動圖片變色按鈕。雖然軟體的操作比較簡單,但是軟體在作品的版權保護方面還需加強。另外,我們可以指定當前默認的HTML編輯器對頁面進行編輯。但是需要向大家說明一點:不要使用中文作為組建的檔案和資料夾名。軟體提供給我們兩種儲存格式:EXE和H2E。如果儲存成後者,則只能使用該軟體的Viewer進行存取。在讀者的電腦沒有安裝瀏覽器的情況下,這種方式便顯得十分有用了。軟體還會對輸出的檔案進行LZH壓縮,而且還可以更換成品的標識(bmp或ico格式)。
5、InfoCourier1.38(該軟體不再更新)
軟體大小:617KB
軟體類型:共享軟體
公司網站:http://www.smartcode.com
執行平台:Windows9X
下載地址:ftp://ftp.smartcode.com/icour.zip
該軟體與Webcompiler2000都是一個公司的產品。但是由於InfoCourier是一個16位元的軟體,所以它不能正常工作在WindowsNT或Windows2000下。軟體的操作介面十分簡單。組建檔案時提供的選項很少,只能設置常用的工具是否可用、視窗狀態、過期時間等。另外,軟體只支援基本的HTML標識,不支援框架、CSS、動態GIF圖片、javascript等。要說明一點,由於在InfoCourier中瀏覽的頁面效果和IE以及Netscape稍有不同,所以請在組建前仔細檢查每一個頁面以保證讀者看到相同的效果。
6、MediaPacker2.0
軟體大小:1.93MB
軟體類型:共享軟體
公司網站:http://www.microdream.com
執行平台:Windows9X/NT/2000
下載地址:http://www.newhua.com.cn/down/mediapacker20.zip該軟體組建生成的檔案介面與其他軟體風格不同,翻頁、列印、關閉等按鈕均在視窗的右上方並且閱讀介面近乎全螢幕。軟體要求讀者的電腦上安裝有IE4.0或以上版本。該軟體支援圖片、表格、框架、CSS等HTML基本元素。軟體以向導的方式一步一步引導用戶製作電子讀物。整個製作過程明朗、簡單,提供了相當多的選項給用戶來設置最後EXE檔的格式。而且對電子讀物的安全性和版權等相關問題都作了相當多的考慮。另外值得一提的是,軟體安裝後帶有一個提供給用戶的KeyGenerator,這個工具是用來設置出版的電子讀物的使用許可權的。它較好的保護了作者和出版商的利益。這也是該軟體最有特點的地方。
注意事項:在匯入組建出版檔的時候,由於軟體不能自動搜尋放置在其他目錄下的檔案,請注意把圖片等與頁面相關的檔案和頁面檔案放置於同一目錄下,否則將會出現組建後的EXE檔無法顯示圖片等相關檔案的現象。
7、WebExe1.4
軟體大小:1.6MB
軟體類型:共享軟體
公司網站:http://www.aw-soft.com
執行平台:Windows9X/NT/2000
下載地址:http://www.aw-soft.com/wexsetup.exe
該軟體是專門用來製作HTML檔轉化成EXE檔的。軟體的優點在於它使用了智慧的向導來引導使用者一步一步完成整個製作過程。所以,我們不用擔心製作的時候忘記什麼,按照軟體提供的向導我們可以輕松製作出精美的電子圖書來。另外,軟體的操作介面簡潔、明了,使用起來很方便。但是不足之處是,軟體不支援Java,javascript、DHTML、Flash等技術,不可以直接換掉輸出檔的圖示,必須藉助於相關的工具來製作。該軟體到目前為止還沒有Linux以及Mac版本。
8、WebCompiler20001.5
軟體大小:2138KB
軟體類型:共享軟體
公司網站:http://www.webcompiler.com
執行平台:Windows9X/NT/2000
下載地址:ftp://ftp.webcompiler.com/wc2k.zip
該軟體是德國WebCompiler公司出品的用於將多個HTML頁面(包括圖像檔)組建成可執行性檔案的軟體,目前是同類產品中比較出色的一款軟體。其最大的特點就是軟體本身相當於一個小型的Web瀏覽器,對原來的HTML檔不會產生任何的損傷。軟體支援CSS,javascript等常見Web技術。但是不支援Java和Flash,而軟體對是否支援Plugin和ActivX的回答是"也許\",因為這要看Plugin和ActivX的安全程度等相關問題。另外,WebCompiler2000不支援ActiveServerPages。軟體需要製作者的電腦上面裝有IE4.0或以上版本,並且該軟體沒有Unix,Mac版本,也沒有基於Natscape瀏覽器的版本。但是軟體由於是32Bit,所以基於微軟Windows平台的作業系統均可以執行。
注意事項:在製作的過程中,請不要使用中文名作為需要組建的檔案或者資料夾名稱,否則軟體將會彈出視窗提示找不到頁面的資訊。另外,您可以製作自己的標識和圖示來作為您作品的標志。但是您必須擁有注冊版的Webcompiler2000。
9、WebCompiler981.14漢化版
軟體大小:356KB
軟體類型:免費軟體
作者網站:http://lytes.home.chinaren.com
執行平台:Windows9X/NT/2000
下載地址:http://www.guxiang.com/epubcn/so ... er.exeWebCompiler98是WebCompiler2000的前身,具有WebCompiler2000的幾乎所有功能。由於該漢化版本非常成功,幾乎所有的地方都作了詳細的漢化,所以現在很多朋友都在使用該軟體。但是由於該漢化版是在解密WebCompiler98的基礎之上才漢化的,所以軟體目前還具有某些缺憾:即作品的標志和圖示不可以換。
10、EbookBuilder4.0
軟體大小:615KB
軟體類型:免費軟體
作者網站:http://members.xoom.com/JanVee/freeware.htm執行平台:Windows9X/NT/2000
下載地址:http://www.newhua.com.cn/down/ebookbuilder4.zip該軟體最大的特點就是它的拖拽操作,即當我們打開一個目錄時,軟體將會將目錄中的所有檔案顯示在檔案列表中,我們可以從列表中選中一個或者多個檔案通過拖拽的方法將檔案加入待組建檔案列表中。而我們可以在待組建檔案列表中控制檔案的排序和執行順序。另外在製作過程中我們可以任意並且最好指定整個檔案執行的開始和結尾。軟體支援HTML基本元素以及CSS,但是不支援javascript、Java等技術。另外,軟體在組建輸出的EXE檔執行過程中可以直接跳到指定的頁面,這是很方便的一項功能。但是軟體沒有對組建檔作任何的版許可權制,所以這不利於作者以及出版商的權利和利益。
軟體以檔案總管的樣式設計。在左上角選擇需要組建的檔案所在路徑,則選中的資料夾中的所有檔案將會出現在左下方的檔案列表當中。然後從這些檔案中選擇全部或者部分檔案(可以多選),然後使用滑鼠將這些檔案拖拽到右邊的待組建檔案列表當中即可。在最後組建輸出以前,請讀者最好加入整個檔案執行的開始和結尾標識,即單擊軟體功能表Insert下的BookBegin和BookEnd來指明執行的開始和結尾之處。當然,我們需要將右邊待組建的檔案進行排序,否則很可能最後的執行順序不對。另外,如果您首次執行組建後的EXE檔,您會發現當前頁面會以分屏的方式顯示,選中功能表Options>SinglePage選項即可。
11、HyperMakerHTML2002.06
軟體大小:2.5MB
軟體類型:共享軟體
公司網站:http://bersoft.com
執行平台:Windows9X/NT/2000
下載地址:http://bersoft.com/hmhtml/hypermaker.exeHyperMakerHTML2000是同類產品中支援檔案格式和效果最多的軟體,性能相當出色。該軟體支援HTML3.0及以後版本大部分的識別字;支援Flash、Acrobat、AVI和MPEG;可以嵌入Word、PowerPoint、Zip格式的檔案;支援動態標識的使用;使用HyperMakerViewer存取支援點擊音效。值的一提的是,軟體自身帶有閱讀器,雖然我們在輸出檔案以後不需要專門的閱讀器就可以進行存取,但是軟體自身的閱讀器方便我們在製作過程當中察看頁面的瀏覽效果是否符合要求。另外,該閱讀器可以播放MIDI、WAV、MP3、AVI和MPG格式的音頻視頻檔,可以存取PDF和Flash檔案,可以存取Word、Excel等檔案,這些特性都是同類產品所無法比擬的。所以通過上面可以看出,軟體在同類產品中的確具備相當專業的水準。
不足之處是,HyperMakerHTML2000軟體的製作過程相對於其他軟體來說較復雜,並且軟體沒有給我們提供向導功能,所以整個製作步驟需要我們手動完成。另外,軟體不支援CSS,輸出檔案的大小在同樣的條件下比別的要大一些。
12、WebPaker1.29
軟體大小:1.26MB
軟體類型:共享軟體
公司網站:http://bersoft.com
執行平台:Windows9X/NT/2000
下載地址:http://bersoft.com/webpacker/webpacker.exe該軟體與HyperMakerHTML2000是同一個公司的產品。從操作介面上來看,該軟體更像是HyperMakerHTML2000的簡化版本。軟體依然保持了HyperMaker的操作風格,並且支援基本HTML元素、CSS、Flash、javascript、Java、AVI、各種音頻檔等等。所以,該軟體也是同類產品當中支援的檔案格式比較多的一款。與HyperMaker相比,該軟體去掉了Interface、Options、External、Setup、Viewer五個選項標簽,而把Interface和Options兩個標簽合為一個名為MainOptions的選項標簽。另外,軟體不像HyperMaker那樣,需要先生成Publication檔然後才能生成EXE檔,軟體可以直接將所有檔案組建輸出成EXE檔。另外建議讀者注冊該軟體,否則組建的EXE檔只能存活7天,並且軟體的某些功能不可以使用。
13、WinEBookCompiler2.3
軟體大小:2.42MB
軟體類型:共享軟體
公司網站:http://superwin.com
執行平台:Windows9X/NT/2000
下載地址:http://regvac.com/wnebookc.exe
SWB檔案格式是該軟體專有的檔案格式。這種格式的檔案需要WinEbookCompilerViewer來閱讀。軟體支援TXT、RTF兩種檔案格式,而且軟體可以對頁面進行編輯,如插入圖片、超連結等。值得一提的是,軟體支援播放背景音樂。這是一個非常好的功能,讀者可以設想邊看書邊聽音樂的感覺,而且可以根據書中不同的情節設置不同的音樂。軟體的其他顯著的特性:檔案的頁面切換效果獨一無二,翻頁的時候,下一頁會從螢幕右方"滾動"出來並帶有音效,還可以控制翻頁速度;支援人聲朗讀文本,但目前還不支援中文朗讀;無需返回目錄即可通向任意頁面(通過下拉功能表實現);支援放大縮小文本;支援檔案加密功能。
由此可以看出,軟體具備其他很多軟體沒有的優點,但是由於所支援的檔案格式只限於TXT和RTF,所以很多目前基於Web的技術都不能夠實現。另外對軟體的局限提出以下三點,希望讀者注意:1.不可以超過100個Chapter;2.每一個Chapter的大小最好不要超過312KB,否則打開時將會等待很長時間;3.最好不要打開超過5個閱讀視窗,否則將會出現某些問題。
14、NeoBook4.0.9
軟體大小:3.8MB
軟體類型:共享軟體(30天使用限制)
公司網站:http://www.neosoftware.com
執行平台:Windows9X/NT/2000
下載地址:http://www.neosoftware.com/software/nbw40.exe該軟體是同類產品中比較"另類"的一款。我們習慣於將多個Web頁面以及圖片等其他檔案匯入軟體中,然後通過編輯直接輸出EXE檔。但是該軟體完全不是這樣。可以這樣說,製作一本電子圖書的所有過程需要作者手動完成,包括文字編輯、圖片音頻檔案的插入、顏色的搭配、文字圖片定位,甚至翻頁按鈕都得由作者來製作。所以,該軟體的優點在於製作電子圖書從始至終完全由作者一手來完成,而我們完全不可以將已經編輯好的HTML檔插入到軟體中,否則只會出現HTML檔的源代碼。軟體默認識別的檔案格式是TXT。另外,軟體帶有一個浮動的編輯面板,可以幫助作者編輯文字、插入圖片、製作按鈕等等。當然,用戶也可以自己來指定編輯各種格式的檔案的編輯器。匯出的EXE檔在執行的時候將以全螢幕的方式來顯示。
軟體還有一個顯著的特點,那就是允許用戶自己編寫Action。例如,如果你想實現翻頁按鈕的功能,那麼你必須加入例如GotoPrevPage這樣的Action。在頁面切換的時候也可以加入相應的Action。軟體在編輯使用的靈活度上給我們留下了極大的餘地,而且我們可以根據自己的喜好創建很多動態的效果。但是軟體拋開了傳統的插入HTML檔匯出EXE檔的模式,這對於初學者來說不是很好的一件事情。
15、EasyBook2.5
軟體大小:1.34MB
軟體類型:共享軟體(30次使用限制)
公司網站:http://www.easyteach.com
執行平台:Windows9X/NT/2000
下載地址:http://www.easyteach.com/download/ezbook1.exe該軟體只能匯入TXT、RTF和EZF格式的檔案,不支援使用圖片等其他與Web相關的元素。就是說,它只能將純文本形式的檔案組建成EXE檔。軟體的易用性做的不是很好,而且選項比較復雜而且層層嵌套,對初學者來說不是一個最好的選擇。軟體需要先建立一個工程檔,然後在此工程檔的基礎之上一篇一篇地加入文本,最後將所有文本組建成EXE檔。軟體每一步的設計幾乎都可以預覽當前編輯的狀態。這里要說明一點,如果您使用的是非注冊版本,那麼將會有30次使用限制,而且不可以輸出EXE檔。所以建議您注冊該軟體。
16、BoxBuilder
軟體大小:476KB
軟體類型:免費軟體(需要執行密碼)
執行平台:Windows9X/NT/2000
下載地址:http://download2.ccidnet.com/school0622/boxbuilder.zip該軟體是我見過的同類軟體當中最簡單的一個。我沒有抓取該軟體的介面圖是因為根本沒有必要抓。執行軟體以後(如果是首次執行,軟體將會提示輸入密碼,這個密碼在軟體的打包檔中有),視窗上面只有三個按鈕:SelectSourceFiles(選擇原始檔案)、CreateTarget(創建目標)、Help(幫助文檔)。軟體幾乎不支援所有的Web技術,而且你需要將圖片檔放置在和html檔相同的目錄下面,否則軟體是不會自動找到圖片的正確位置的。軟體的操作步驟極其簡單(兩步):選擇html檔(多選);輸出成exe檔。軟體無任何輸出檔設置選項,沒有防止拷貝等相關的保護措施,就連最後輸出的exe檔的工具列也只有一個---Home按鈕。根據以上我們可以看出,如果你想偷懶的話,這個軟體是再適合不過了,兩步就搞定!
17、SbookBuilder7
軟體大小:575KB
軟體類型:免費軟體
公司網站:http://jansfreeware.com
執行平台:Windows9X/NT/2000
下載地址:http://jansfreeware.com/sbookbuilder7.zip該軟體可以稱的上是「傻瓜式」的EXE文檔製作軟體。軟體組建輸出檔案後還會報告最後的壓縮率是多少,但是經過我的測試,呵呵,這個所謂的「壓縮率」是有點兒騙人的:我使用200KB(包括HTML和幾張圖片)的檔案組建輸出後有900多KB!輸出文檔的介面也過於簡單,總之,我認為使用該軟體來發行正式的EXE電子文檔不是一個好的選擇。但是,軟體非常適合初學者使用,對於私下裡的文檔傳送也很方便。
18、E-ditor2.01
軟體大小:1613KB
軟體類型:共享軟體
公司網站:http://www.e-ditorial.com
執行平台:Windows9X/NT/2000
下載地址:http://www.e-ditorial.com/editor201.exe
該軟體的前身是「E-ditorPro」。它是EXE類電子文檔製作軟體中又一個佼佼者。該軟體製作出的電子文檔,其最大的特點就是可以加入一個「SplashScreen」。其他方面和我們常見的製作工具類似。軟體採用了向導的方式來引導使用者。軟體支援使用用戶自己的ico和bmp檔作為圖示和標志。軟體可以說是繼承了當前各大流行製作軟體的優點於一身。從設置視窗大小(提出了一種新的概念:DirectXResolutions)、電子文檔資訊、密碼、Icon置換(32*32)、工具條外觀選擇、SplashScreen、加密頁面和拷貝限制、標志選擇等等常見的功能它都具有。其中,SplashScreen是我們常見的在執行軟體裝載時出現的停留畫面,用以轉移用戶的視線。這將使你的作品更酷!
噢,對了,還有一種翻頁的電子書
需要的話教程和軟體這里倒是有一套
呵呵
Ⅳ 80分獎勵給一個C語言源代碼「檔案管理系統的設計」
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
/*********************** 字定義函數聲明 ********************************/
void Add(); //增加記錄
void Delete(); //刪除記錄
void Search(); //查找記錄
void Alter(); //修改記錄
void Views(); //查看所有記錄
void delete_all(); //清除所有記錄
int check(char strID[]); //查找文件記錄中已經存在的學生ID
/********************* 定義學生信息結構體 **********/
struct student
{
//學生信息(學號,姓名,性別,籍貫,電話,住址,民族);
char ID[10];
char name[10];
char sex[4];
char nativePlace[10];
char phone[13];
char nation[6];
};
struct student stu;
FILE *fp;//定義文件指針
/********************* main() 主函數 *************************************/
void main()
{
int flag;
while(flag!=7)
{
printf("\n\t\t 【 請選擇您所要的操作 】 \n");
printf("\t\t‖****************************************‖\n");
printf("\t\t‖ 1、增加記錄 4、修改記錄 ‖\n");
printf("\t\t‖ 2、刪除記錄 5、清除所有記錄 ‖\n");
printf("\t\t‖ 3、查詢記錄 6、所有記錄列表 ‖\n");
printf("\t\t‖ 〖 按任意鍵退出 〗 ‖\n");
printf("\t\t‖****************************************‖\n");
scanf("%d",&flag);
switch(flag)
{
case 1:
Add(); //增加記錄
getch();
system("cls");
break;
case 2:
Delete(); //刪除記錄
getch();
system("cls");
break;
case 3:
Search(); //查找記錄
getch();
system("cls");
break;
case 4:
Alter(); //修改記錄
getch();
system("cls");
break;
case 5:
delete_all(); //清空所有記錄
getch();
system("cls");
break;
case 6:
Views(); //查看所有記錄
getch();
system("cls");
break;
default:
exit(0);
}
}
}
/***************** 插入新記錄 *******************************/
void Add()
{
if((fp=fopen("StudentMessage","ab+"))==NULL)
{
printf("學生信息文件打開失敗!");
exit(1);
}
else
{
int check_add(char stuID[]);
long flength,offset;
int k=0,t; //t用來接收check()函數的傳值
char str[53];
fseek(fp,0,SEEK_END);
flength=ftell(fp)/sizeof(stu); //統計文件中有多少條記錄
printf("\t請輸入要插入的學生的信息:\n");
input_message:
printf("\t學號:");
scanf("%s",&stu.ID);
t=check_add(stu.ID);
if(t==1)
{
printf("\t》 該學號已經存在,不允許重復插入!請重新輸入一個學號。《\n");
goto input_message; //跳轉到「input_message」標記處繼續執行
}
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性別:");
scanf("%s",&stu.sex);
printf("\t籍貫:");
scanf("%s",&stu.nation);
printf("\t電話:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
rewind(fp);
//檢測文件中是否有空字元串,如果有則在此處插入新記錄,如果沒有則插入到文件尾
while(!feof(fp))
{
fread(&str,sizeof(stu),1,fp);
//檢測到空字元串,則將fp所指向的文件關閉,以讀寫方式重新打開
if(strcmp(str,"")==0)
{
fclose(fp);
fp=fopen("StudentMessage","rb+");
break;
}
k++;
}
offset=sizeof(stu)*k;
fseek(fp,offset,SEEK_SET);
fwrite(&stu,sizeof(stu),1,fp);
fclose(fp);
printf("插入數據成功!\n");
}
}
/****************** 檢測將要插入的學號是否已存在文件記錄中 **************************/
int check(char stuID[10])
{
int id=0,k=1;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開一個二進制文件StudentMessage
{
printf("文件打開失敗!\n");
exit(1);//打開失敗,返回系統
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//檢測用戶輸入的學號是否已經存在,若存在則終止程序的執行
if(strcmp(checkID.ID,stuID)==0)
{
break;
}
id++;
}
fclose(fpp);
return id*k;
}
/******************** 檢測輸入的學號是否能插入 *****************************************/
int check_add(char stuID[10])
{
int id;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開一個二進制文件StudentMessage
{
printf("文件打開失敗!\n");
exit(1);//打開失敗,返回系統
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//檢測用戶輸入的學號是否已經存在,若存在則終止程序的執行
if(strcmp(checkID.ID,stuID)==0)
{
id=1;
break;
}
else
{
id=0;
}
}
fclose(fpp);
return id;
}
/******************* 根據用戶輸入的學號刪除記錄 ************/
void Delete()
{
printf("刪除相應記錄!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL) //以可讀可寫方式打開一個二進制文件
{
printf("文件打開失敗!\n");
return;
}
else
{
char message[10]; //接收用戶需要刪除的學號
int i;
long flength;
fseek(fp,0,SEEK_END); //把文件指針移到文件尾
flength=ftell(fp)/sizeof(struct student); //計算文件中有多少條記錄
printf("\t請輸入您要刪除的學號:");
scanf("%s",message);
i=check(message);
long offset=sizeof(stu)*i; //記錄要刪除的學號的位置
if(flength==0)
{
printf("文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("沒有該學生信息!\n");
return;
}
else
{
//將要刪除的字元串全部置為空
strcpy(stu.ID,"");
strcpy(stu.name,"");
strcpy(stu.sex,"");
strcpy(stu.nation,"");
strcpy(stu.phone,"");
strcpy(stu.nativePlace,"");
fseek(fp,offset,SEEK_SET); //移動指針到要刪除的學號的位置
fwrite(&stu,sizeof(stu),1,fp); //將置空的信息重新寫回到文件中
printf("\t\t數據刪除成功!\n");
}
fclose(fp);
}
}
/****************** 查找數據 ***************************************/
void Search()
{
if((fp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開StudentMessage文件
{
printf("\t文件打開失敗!\n");
return;
}
else
{
char message[10]; //接收用戶需要查找的信息
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //將文件指針移文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
printf("\t請輸入您要查找的學號:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i;
if(flength==0)
{
printf("\t文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("\t\t查找失敗,沒有找到相應信息!\n");
return;
}
else
{
//輸出查找到的內容
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
fclose(fp);
}
}
/****************** 修改記錄 ********************************/
void Alter()
{
printf("修改相應記錄!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL)
{
printf("文件打開失敗!\n");
exit(1);
}
else
{
char message[10]; //存儲用戶要修改的學號
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //移動文件指針到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
printf("\t請輸入您要修改的學號:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i; //記錄要修改的記錄在文件中的位置
if(flength==0)
{
printf("文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("沒有該學生信息!\n");
return;
}
else
{
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("該學生原來的信息:\n");
printf("\t學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("名族:%s\n\n",stu.nativePlace);
printf("請更新該學生的信息:\n");
strcpy(stu.ID,message);
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性別:");
scanf("%s",&stu.sex);
printf("\t籍貫:");
scanf("%s",&stu.nation);
printf("\t電話:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
fseek(fp,offset,SEEK_SET); //將文件指針指向要修改的地方
fwrite(&stu,sizeof(stu),1,fp); //將修改後的內容重新寫回到原來的地方
printf("\t數據更新成功!\n");
}
fclose(fp);
}
}
/************** 查看所有記錄 ************************************/
void Views()
{
long flength;
if((fp=fopen("StudentMessage","rb"))==NULL)
{
printf("文件打開失敗!\n");
exit(1);
}
fseek(fp,0,SEEK_END); //移動文件指針到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
if(flength==0)
{
printf("文件中沒有記錄!");
return;
}
rewind(fp); //將文件指針移動到文件頭
printf("\t\t\t所有記錄列表\n\n");
while(!feof(fp))
{
fread(&stu,sizeof(stu),1,fp);
if(strcmp(stu.ID,"")!=0) //檢測文件中的空字元串,如果不是空字元串則輸出
{
printf("學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
}
fclose(fp);
}
/******************** 刪除所有記錄 ********************************/
void delete_all()
{
int ch;
printf("該操作將刪除所有記錄,按「0」退出,按「1」繼續。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
printf("將刪除所有記錄,繼續請按「1」,退出請按「0」。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
if (remove("StudentMessage") == 0) //刪除StudentMessage文件
{
printf("操作成功,所有記錄已經刪除!");
}
else
{
perror("remove"); //如果刪除不成功則輸出系統出錯的信息
}
break;
}
}
}
Ⅳ 濡備綍鍒朵綔phpcms妯℃澘phpcms妯℃澘鍒朵綔鏁欑▼
鐢≒HPCMS鍋氫竴涓緗戠珯鐨勮︾粏姝ラゆ槸浠涔堬紵
1phpcms鐢ㄤ簬浜屾″紑鍙戱紝閫熷害蹇銆傞栧厛浣犵啛鎮夊畠鐨勬嗘灦鎿嶄綔嫻佺▼錛岃兘鐪嬫噦鎵嬪唽銆2.涓鑸鎴戜滑鐢ㄥ畠寮鍙戜慨鏀規渶澶х殑鍦版柟鏄/phpcms/template/default/content涓鐨勮剼鏈銆備緥濡傦紝index.html鍙浠ュ厛鏀瑰彉榪欎竴欏點
3.濡傛灉浣犳兂鍒涘緩涓涓鏍忕洰錛屼綘闇瑕佷慨鏀筩ategory.html(棰戦亾欏)list.html(鍒楄〃欏)show.html(鍐呭歸〉)銆備粬浠鏄涓瀵逛竴鐨勪翰鎴氥傚彲浠ュ弬鑰冩簮浠g爜榪涜屽垎鏋愩
4.cssjs鍥懼儚鏂囦歡鍙浠ヤ竴涓瀵瑰簲鏀懼湪鏍圭洰褰/statics涓銆備笉寤鴻縐佽嚜鏇存敼浣嶇疆錛屽洜涓轟竴鏃︾郴緇熷崌綰ф洿鏂幫紝浣犵殑浠g爜鍙鑳戒細涔便傛寜榛樿ゆ嗘灦灝辮屼簡銆備粬鍦ㄥ悗鍙扮殑璁劇疆瑙佷笅鍥俱
5.js鐭ラ亾浜嗭紝涓昏佸彲浠ユ妸涓婇潰鎻愬埌鐨/phpcms/template/default/content閲岄潰鐨勬枃浠舵敼涓涓嬨傝佷笅鍥俱
6.濡傛灉鏈夎嚜宸卞啓鐨勬爮鐩鍒楄〃錛屽備綍鍦ㄥ悗鍙版煡鐪嬶紵鐪嬩笅鍥俱
鎵撳紑鍐呭癸紝璇誨彇鏍忕洰鐨勫叿浣撴暟鎹錛岀偣鍑誨唴瀹廣
7.浜嗚В浠ヤ笂嫻佺▼錛屽氨鑳藉揩閫熷紑鍙戙
寮婧怌MS鑳戒笉鑳藉仛灝忚寸綉絝欙紵
寮婧怌MS鏄鍙浠ュ仛灝忚寸珯鐨勶紝渚嬪傦紝緇囨ⅵ錛孭HPCMS絳夈傚皬璇寸珯瀵瑰唴瀹歸渶奼傞噺姣旇緝澶э紝濡傛灉娌℃湁鍘熷壋鑳藉姏錛屽彧鑳借繘琛屽唴瀹歸噰闆嗕簡錛
phpcmsh5鐨勪慨鏀規柟娉曪紵
淇鏀硅偗瀹氶渶瑕佹簮鏂囦歡浜嗭紝涓嶈繃涔熸湁渚嬪栨湁浜汬5鏄鐢ㄤ竴浜涘湪綰垮鉤鍙板仛鐨勬瘮濡侷H5鏈ㄧ枡鐦〆pub360涔嬬被鐨勶紝閭d簺鍙闇瑕佷笅涓妯℃澘灝辮兘鍦ㄥ悗鍙伴噷闅忎究鏀瑰浘鐗囧拰鍐呭逛簡銆
cms鏄浠涔堬紝甯歌佺殑cms紼嬪簭鏈夊摢浜涳紵
CMS錛屽嵆ContentManagementSystem錛岃嫳鏂囩緝鍐欐槸CMS錛屼腑鏂囧叏縐版槸鈥滅綉絝欏唴瀹圭$悊緋葷粺鈥濄傜綉絝欏唴瀹圭$悊緋葷粺鍏鋒湁璁稿氬熀浜庢ā鏉跨殑浼樼璁捐★紝鍙浠ュ姞蹇緗戠珯寮鍙戠殑閫熷害鍜屽噺灝戝紑鍙戠殑鎴愭湰銆傜綉絝欏唴瀹圭$悊緋葷粺鐨勫姛鑳藉苟涓嶅彧闄愪簬鏂囨湰澶勭悊錛屽畠涔熷彲浠ュ勭悊鍥劇墖銆丗lash鍔ㄧ敾銆佸0鍍忔祦銆佸浘鍍忕敋鑷崇數瀛愰偖浠舵。妗堛傜綉絝欏唴瀹圭$悊緋葷粺鍏跺疄鏄涓涓寰堝箍娉涚殑縐板懠錛屼粠涓鑸鐨勫崥瀹㈢▼搴忥紝鏂伴椈鍙戝竷紼嬪簭錛屽埌緇煎悎鎬х殑緗戠珯綆$悊紼嬪簭閮藉彲浠ヨ縐頒負鍐呭圭$悊緋葷粺銆傚父瑙佺殑cms緋葷粺錛歱hp綾籧ms緋葷粺錛歞edecms銆佸笣鍥絚ms銆乸hp168銆乸hpcms銆乧mstop銆乨iscuz銆乸hpwind絳塧sp綾籧ms緋葷粺錛歾blog銆並ingCMS絳.net綾籧ms緋葷粺錛欵oyooCMS絳夊浗澶栫殑钁楀悕cms緋葷粺錛歫oomla銆乄ordPress銆乵agento銆乨rupal銆乵ambo銆