| 查看: 4061 | 回復(fù): 22 | |||
[交流]
【求助】自己寫的C語言,突然想看看C++是什么,求助一下。還有C語言和C++有什么區(qū)別啊 已有21人參與
|
|||
|
#include #include #include #include #define N 3 struct student { char name[10]; char no[10]; char sex; int age; char bnote[100]; }; void print(bool menu)//打印基本信息 { if (!menu) { printf("學(xué)生基本信息錄入 ,press 1\n"); } else { printf("學(xué)生基本信息顯示 ,press 2\n"); printf("學(xué)生基本信息保存 ,press 3\n"); printf("學(xué)生基本信息刪除 ,press 4\n"); printf("學(xué)生基本信息修改 ,press 5\n"); printf("學(xué)生基本信息查詢 ,press 6\n"); } printf("退出學(xué)生信息系統(tǒng) ,press 7\n"); } bool Check(char pas[6])//密碼驗(yàn)證 { FILE *fp; char ch; char a[7]={" "}; int i = 0; if ((fp=fopen("c:\\1.txt","r"))==NULL) { printf("打開文件失敗!\n"); exit(0); } ch=fgetc(fp); while (ch!=EOF&&i<6) { a = ch; ch=fgetc(fp); i++; } a[6] = '\0'; if (!strcmp(pas,a)) { return true; } else { printf("密碼錯(cuò)誤\n"); return false; } fclose(fp); } void GetInfo(struct student *arr,int n)//學(xué)生基本信息錄入 { for (int i = 0;i printf("輸入學(xué)生的基本信息:name no sex age bnote\n"); scanf("%s %s %c %d %s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote); } } void Display(struct student* arr,int n)//學(xué)生基本信息顯示 { printf("學(xué)生信息: Name NO Sex age Note\n"); for (int i = 0;i printf("%15s%15s%15c%15d%15s\n",arr.name,arr.no,arr.sex,arr.age,arr.bnote); } } void Save(struct student* arr,int n)//學(xué)生基本信息保存,保存在c:\\student.txt { FILE * fp; fp= fopen("c:\\student.txt","w+"); if (fp == NULL) { printf("文件不存在!\n"); exit(0); } fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp); } void Modfiy(struct student* arr,int n)//學(xué)生基本信息修改 { char number[10]; bool flag=false; char pass[6]; printf("請輸入密碼:\n"); scanf("%s",pass); if (Check(pass)) { printf("修改學(xué)生信息:\n"); printf("請輸入學(xué)號:\n"); scanf("%s",number); for (int i =0;i if (!strcmp(number,arr.no)) { printf("infor: name no sex age note\n"); printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); printf("please input information:\n"); scanf("%s%s%c%d%s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote); Save(arr,n); flag = true; } } if (flag == false) { printf("該學(xué)生不存在!:\n"); } } } void Delete(struct student* arr,int n)//學(xué)生基本信息刪除 { char number[10]; bool flag=false; printf("Delete information:\n"); printf("please input the no:\n"); scanf("%s",number); for (int i =0;i if (!strcmp(number,arr.no)) { strcpy(arr.name," "); strcpy(arr.no," "); strcpy(arr.bnote," "); arr.sex = ' '; arr.age = 0; Save(arr,n); flag = true; } } if (flag == true) { printf("該學(xué)生不存在!:\n"); } } void Search(struct student* arr,int n)//學(xué)生基本信息查詢 { int temp,i; bool flag=false; printf("---------------通過學(xué)號查詢,press 1-------------\n"); printf("---------------通過姓名查詢,press 2-----------\n"); printf("---------------通過性別查詢,press 3------------\n"); printf("---------------通過年齡查詢,press 4------------\n"); printf("---------------退出,press 5 ------------\n"); scanf("%d",&temp); switch (temp) { case 1://按照學(xué)號查詢 { char num[10]; printf("請輸入學(xué)號:\n"); scanf("%s",num); for ( i =0;i if (!strcmp(num,arr.no)) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("該學(xué)生不存在.\n"); } } break; case 2://按照名字查詢 { char num[10]; printf("please input name:\n"); scanf("%s",num); for ( i =0;i if (!strcmp(num,arr.name)) { printf("%12s%12s%12c%12d%12s",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("該學(xué)生不存在.\n"); } } break; case 3://按照性別查詢 { char ch; printf("請輸入性別:\n"); //scanf("%c",&ch); ch = getch(); for ( i =0;i if (ch == arr.sex) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("t該學(xué)生不存在.\n"); } } break; case 4://按照年齡查詢 { char num_age; printf("請輸入年齡:\n"); scanf("%d",&num_age); for ( i =0;i if (num_age == arr.age) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("該學(xué)生不存在.\n"); } } break; default: break; } } void main() { struct student arr[N]; char ps[6]; bool flag =false; printf("請輸入密碼:\n"); scanf("%s",ps); flag = Check(ps); if (flag) { int select; print(false); scanf("%d",&select); while (0 { switch (select) { case 1: GetInfo(arr,N); print(true); break; case 2: Display(arr,N); print(true); break; case 3: Save(arr,N); print(true); break; case 4: Delete(arr,N); print(true); break; case 5: Modfiy(arr,N); print(true); break; case 6: Search(arr,N); print(true); break; default: break; } printf("請選擇:\n"); scanf("%d",&select); } } } |
金蟲 (職業(yè)作家)

金蟲 (職業(yè)作家)

金蟲 (文壇精英)
老漢一枚
|
在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《計(jì)算機(jī)》雜志記者的專訪。編輯很自然的認(rèn)為他會(huì)對于過去七年來使用他創(chuàng)建的語言進(jìn)行面對對象設(shè)計(jì)做一個(gè)歷史性的回顧。而在這個(gè)專訪中,記者獲得了更有價(jià)值的新聞,但是最后編輯決定為了整個(gè)IT產(chǎn)業(yè),這個(gè)稿子不能發(fā)表!。 但是就像其它被砍掉的新聞,往往還是弄得路人皆知的。這一篇適當(dāng)時(shí)專訪的完全拷貝,沒有被編輯、刪改或者做過什么潤色處理,也沒有發(fā)布過,可能看起來不像常見的雜志文章,但這是實(shí)情。你會(huì)發(fā)現(xiàn)真正引人入勝的地方... ...... 記者: 您在幾年前你改變了軟件設(shè)計(jì)世界的面貌,現(xiàn)在再回首往事您有什么感想? Stroustrup: 事實(shí)上我在你到來之前的這些天里一直在考慮這件事,你還記得幾乎所有的人都在寫C程序那會(huì)兒嗎?麻煩的是這些人寫得太好了,而且那些個(gè)大學(xué)也都在努力的傳授C編程技術(shù)。的確他們是十分的成功——我要特別的指出“成功”這個(gè)詞——因?yàn)檫@種顯著的C程序員的培養(yǎng)效率,這就是產(chǎn)生問題的原因。 記者: 這難道是個(gè)問題嗎? Stroustrup: 當(dāng)然,你記得大家都在用Cobol語言寫程序的時(shí)候嗎? 記者: 哦,當(dāng)然,當(dāng)時(shí)我也一樣。 Stroustrup: 在一開始的時(shí)候,這些人簡直象半個(gè)上帝似的拿著高工資,享受著貴族一樣的待遇。 記者: 唉,那些日子多么的讓人懷念,是吧? Stroustrup: 當(dāng)然了。但是接著發(fā)生了什么?IBM覺得這樣不舒服,就投資了數(shù)百萬來培養(yǎng)程序員,直到程序員多得一毛錢就可以雇一打。 記者: 這就是為什么當(dāng)時(shí)我撤出來了,工資在一年里就降到人們在說做個(gè)記者都比程序員強(qiáng)的地步。 Stroustrup: 對啦!那時(shí)侯相同的事情發(fā)生在了C程序員身上了。 記者: 這個(gè)我明白了,可是您要說的是…… Stroustrup: 有一天,我坐在辦公室里就在想如何能把這件事挽回一些。我想知道如果有一種特別復(fù)雜而且難以學(xué)會(huì)的語言,是否就沒有人可以又把程序員們搞到市場的泥潭里去呢?我用了從X10里了解到的東西,,噢,就是X-Windows,真是一個(gè)該死的圖形系統(tǒng),只能運(yùn)行在那些個(gè)SUN 3/60的機(jī)器里,哈!它具有所有我想要的特征:可笑而復(fù)雜的語法,含混的功能描述,還有偽裝的OO結(jié)構(gòu),就算是在現(xiàn)在,還是沒有人愿意用那些東西,如果你不想發(fā)瘋的話,Motif才是唯一解決方案。 記者: 你是在開玩笑嗎? Stroustrup: 沒有,事實(shí)上還有另外的一個(gè)問題,UNIX是用C寫的,就是說任何一個(gè)C程序員都可以很容易的成為系統(tǒng)程序的開發(fā)者。還記得一個(gè)大型的主機(jī)系統(tǒng)應(yīng)用的開發(fā)者通常能掙多少錢嗎? 記者: 你肯定是知道我當(dāng)時(shí)就是干這個(gè)的。 Stroustrup: 好吧,因此這個(gè)新的語言一定要通過隱藏所有的系統(tǒng)調(diào)用來和UNIX分離開來,這樣可以使那些個(gè)就只是知道DOS的人也可以活得很體面。 記者: 我不大相信您說的這個(gè)…… Stroustrup: 而且到現(xiàn)在時(shí)間也夠長的了,我相信有很多的人已經(jīng)指出了C++是對時(shí)間的浪費(fèi),我要說的是,這個(gè)過程比我想象的要長的多了。 記者: 那么您又是如何做到的呢? Stroustrup: 那只是一個(gè)玩笑,我真的沒有想到人們會(huì)對那本書那么認(rèn)真。任何人只要長了半個(gè)大腦也應(yīng)該明白面對對象編程是荒謬而不合邏輯的,而且效率低下。 記者: 什么? Stroustrup: 再說代碼重用,你什么時(shí)候聽說過有公司重用他的代碼? 記者: 事實(shí)上從來沒有,但是…… Stroustrup: 那么我提醒你一下,在早期有很多的例子。哦,有一家叫Menter Graphics的俄勒岡州公司,我認(rèn)為他們應(yīng)該是感冒了,竟然在90年或者是91年把所有的代碼用C++重寫了一遍,對不起,我實(shí)在是想不起確切的時(shí)間了,我看大家應(yīng)該從這個(gè)事件中吸取教訓(xùn)。 記者: 沒有人真正的吸取了教訓(xùn)嗎? Stroustrup:沒有,而且還有很多公司犯同樣的錯(cuò)誤,還向他們的股東解釋說那3億美圓的損失是正常的,他們就是做了這樣的事情。 記者: 真的?可是這也只能證明OO方法是能夠工作的,不是嗎? Stroustrup: 也許吧,執(zhí)行文件是那么大,在一臺(tái)有128M內(nèi)存的HP工作站上只是裝載到內(nèi)存中就要用5分鐘時(shí)間,然后將象毛毛蟲爬樹一樣的運(yùn)行。事實(shí)上我在第一個(gè)禮拜就發(fā)現(xiàn)了這個(gè)缺點(diǎn),奇怪的是好象沒人在乎這個(gè),Sun和HP好象只在乎買出那些功能強(qiáng)大的各種玩意兒,而不在乎在上面跑什么程序。在AT&.T的時(shí)候我編了一個(gè)“Hello World”程序,簡直是難以置信,執(zhí)行文件有2.1M。 ...... |
新蟲 (初入文壇)
銀蟲 (小有名氣)
鐵蟲 (小有名氣)

木蟲 (小有名氣)
新蟲 (初入文壇)
|
木蟲 (正式寫手)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[碩博家園] 湖北工業(yè)大學(xué) 生命科學(xué)與健康學(xué)院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 085601材料工程專碩求調(diào)劑 +4 | 慕寒mio 2026-03-16 | 4/200 |
|
|
[考研] 302求調(diào)劑 +9 | 負(fù)心者當(dāng)誅 2026-03-11 | 9/450 |
|
|
[考研] 308求調(diào)劑 +4 | 是Lupa啊 2026-03-16 | 4/200 |
|
|
[考研] 【0856】化學(xué)工程(085602)313 分,本科學(xué)科評估A類院;瘜W(xué)工程與工藝,誠求調(diào)劑 +7 | 小劉快快上岸 2026-03-11 | 8/400 |
|
|
[考研] 求調(diào)劑,總分315,考的生物醫(yī)藥,一志愿湖南師范大學(xué)。調(diào)劑到任何專業(yè)都可以 +4 | 小丁想進(jìn)步 2026-03-11 | 5/250 |
|
|
[考研] 一志愿蘇州大學(xué)材料工程(085601)專碩有科研經(jīng)歷三項(xiàng)國獎(jiǎng)兩個(gè)實(shí)用型專利一項(xiàng)省級立項(xiàng) +6 | 大火山小火山 2026-03-16 | 8/400 |
|
|
[考研] 333求調(diào)劑 +3 | 文思客 2026-03-16 | 7/350 |
|
|
[考研] 0703化學(xué)調(diào)劑 +6 | 妮妮ninicgb 2026-03-15 | 9/450 |
|
|
[教師之家] 焦慮 +7 | 水冰月月野兔 2026-03-13 | 9/450 |
|
|
[考研] 求老師收留調(diào)劑 +4 | jiang姜66 2026-03-14 | 5/250 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] 0703,333分求調(diào)劑 一志愿鄭州大學(xué)-物理化學(xué) +3 | 李魔女斗篷 2026-03-11 | 3/150 |
|
|
[考研] 求材料調(diào)劑 +5 | 隔壁陳先生 2026-03-12 | 5/250 |
|
|
[考研] 304求調(diào)劑 +7 | 7712b 2026-03-13 | 7/350 |
|
|
[考研] 311求調(diào)劑 +3 | 冬十三 2026-03-13 | 3/150 |
|
|
[考研] 求調(diào)劑 +5 | 一定有學(xué)上- 2026-03-12 | 5/250 |
|
|
[考研] 求調(diào)劑 +7 | 18880831720 2026-03-11 | 7/350 |
|
|
[考研] 321求調(diào)劑(食品/專碩) +3 | xc321 2026-03-12 | 6/300 |
|
|
[考研] 大連大學(xué)化學(xué)專業(yè)研究生調(diào)劑 +3 | 琪久. 2026-03-10 | 8/400 |
|