C語(yǔ)言是面向過(guò)程的望蜡,而C++是面向?qū)ο蟮?/b>
C和C++的區(qū)別:
C是一個(gè)結(jié)構(gòu)化語(yǔ)言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)拷恨。C程序的設(shè)計(jì)首要考慮的是如何通過(guò)一個(gè)過(guò)程脖律,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過(guò)程(事務(wù))控制)。
C++腕侄,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型小泉,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問(wèn)題域芦疏,這樣就可以通過(guò)獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過(guò)程(事務(wù))控制。 所以C與C++的最大區(qū)別在于它們的用于解決問(wèn)題的思想方法不一樣微姊。之所以說(shuō)C++比C更先進(jìn)酸茴,是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”。
C與C++的最大區(qū)別:在于它們的用于解決問(wèn)題的思想方法不一樣兢交。之所以說(shuō)C++比C更先進(jìn)薪捍,是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語(yǔ)言本身而言配喳,在C中更多的是算法的概念酪穿。那么是不是C就不重要了,錯(cuò)界逛!算法是程序設(shè)計(jì)的基礎(chǔ)昆稿,好的設(shè)計(jì)如果沒(méi)有好的算法,一樣不行息拜。而且溉潭,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。
項(xiàng)目的主要目標(biāo)是開(kāi)發(fā)一個(gè)面向個(gè)人的通訊錄信息管理系統(tǒng)少欺。它能實(shí)現(xiàn)個(gè)人對(duì)通訊錄信息的處理喳瓣,亦即對(duì)聯(lián)系人和聯(lián)系人群組信息的處理,比如顯示赞别、添加畏陕、刪除、查詢仿滔、修改等操作惠毁。項(xiàng)目具體的功能要求是:通訊信息以文本或二進(jìn)制的形式存儲(chǔ)在文件中,聯(lián)系人可根據(jù)用戶需求分為若干群組崎页,每個(gè)群組可以使用不同文件鞠绰,要求能添加、刪除或修改聯(lián)系人記錄(姓名飒焦,手機(jī)蜈膨,家電,郵箱牺荠,群組等)翁巍,在修改或刪除之前需要用戶進(jìn)一步確認(rèn),確認(rèn)無(wú)誤后再進(jìn)行操作休雌,一個(gè)聯(lián)系人僅可以存在一個(gè)群組之中灶壶,刪除聯(lián)系人信息可以僅刪除一項(xiàng)也可刪除整個(gè)聯(lián)系人信息。還可以添加杈曲、刪除聯(lián)系人群組或?qū)θ航M改名例朱,在刪除群組后孝情,該群組中的聯(lián)系人自動(dòng)設(shè)為無(wú)群組的聯(lián)系人,通訊錄按聯(lián)系人姓名排序洒嗤。增加查詢功能,查詢時(shí)只輸入姓名的首字母魁亦,所有符合這一條件的電話資料均在屏幕上顯示渔隶。
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九,四七零洁奈,五九六 】间唉,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)利术!裙內(nèi)有開(kāi)發(fā)工具呈野,很多干貨和技術(shù)資料分享!
源碼僅供參考:
// 電話目錄系統(tǒng)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class stud
{public:
char name[20];
char address[20];
unsigned int ph_no;
void get(void);
void show(void);
void modify(void);
};
void stud::get(void)
{
int i=0;
cout< <" Enter name -> ";
cin.get(name[i]);
while(name[i]!=' ')
{
i=i+1;
cin.get(name[i]);
}cin.getline(name,20,' ');
cout< <" Enter address-> ";
cin.getline(address,20,' ');
fflush(stdin);
cout< <" Enter ph_no -> ";
cin>>ph_no;
fflush(stdin);
}
void stud::show(void)
{
cout< <" ";
cout<<" NAME :"<<" "<
cout<<" ADDRESS :"<<" "<
cout<<" Ph_No :"<<" "<
}
void main()
{
int gdriver = DETECT, gmode, errorcode;
int x,y;
int midx,midy;
/* 初始化圖形和局部變量 */
initgraph(&gdriver, &gmode, "");
/* 讀取初始化結(jié)果 */
errorcode = graphresult();
if (errorcode != grOk) /* 發(fā)生了一個(gè)錯(cuò)誤 */
{printf("Graphics error: %s ", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* 終止與錯(cuò)誤代碼*/
closegraph();
}
y:
char*pass="RPV";
char*ppass;
gotoxy(25,8);
int size=7;
settextstyle(7,0,size);
setbkcolor(BLUE);
setcolor(WHITE);
outtextxy(180,50,"WELCOME" );
setcolor(WHITE);
outtextxy(250,200,"TO");
settextstyle(8,0,5);
setfillstyle(1,DARKGRAY);
setcolor(WHITE);
outtextxy(60,350," TELEPHONE DIRECTORY");
getch();
clearviewport();
settextstyle(3,0,4);
settextstyle(7,0,4);
getch();
clearviewport();
g:
ppass=getpass("ENTER THE PASSWORD::");
if(strcmpi(pass,ppass)!=0)
{cout<<" Incorrect password";
cout<<" Try again";
getchar();
goto g;
}else
{
stud s;
char name[20];
char name1[20];
int ch;
clrscr();
setbkcolor(BLUE);
setcolor(YELLOW);
closegraph();
z:
cout<<" ";
initgraph(&gdriver, &gmode,"c:\tc\bgi");
setcolor(BLUE);
rectangle(60,10,600,400);
setfillstyle(1,YELLOW);
bar(61,11,599,399);
outtextxy(200,30," HELP -> PRESS ANY KEY 1 TO 6 " );
settextstyle(TRIPLEX_FONT ,HORIZ_DIR,4);
outtextxy(220,50," 1. TO ADD " );
setcolor(BLUE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
outtextxy(220,100," 2. TO SHOW " );
setcolor(BLUE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
outtextxy(220,150," 3. TO SEARCH " );
setcolor(BLUE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
outtextxy(220,200,"4. TO MODIFY " );
setcolor(BLUE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
outtextxy(220,250," 5. TO DELETE " );
setcolor(BLUE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
outtextxy(220,300," 6. TO EXIT " );
settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
outtextxy(220,350," Enter the choice ->");
gotoxy(62,23);
cin>>ch;
switch(ch)
{
case 1: //終止與錯(cuò)誤代碼
{
clrscr();
fstream f;
f.open("rec",ios::in|ios::out|ios::ate|ios::app|ios::binary);
char ans;
s.get();
f.write((char *)&s,sizeof(s));
clrscr();
outtextxy(250,360, " Do you want to continue:- ");
ans=getche();
if(ans=='Y' || ans=='y'){goto z;}
f.close();
break;
}
case 2: // 將顯示該文件的所有內(nèi)容
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九印叁,四七零被冒,五九六 】,無(wú)論你是大牛還是小白轮蜕,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)昨悼!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享跃洛!
{
clrscr();
cout< <" ";
fstream f;
f.open("rec",ios::in|ios::out|ios::ate|ios::app|ios::binary);
f.seekg(0);
int ctr=0;
while(f.read((char *)&s,sizeof(s)) )
{
ctr=ctr+1;
if(ctr==8) {getchar(); clrscr();ctr=0;}
s.show();
if(f.eof()==1)
{break;}
}
f.close();
outtextxy(240,350, " Do you want to continue :-");
char ans;
ans=getche();
if(ans=='y'|| ans=='Y'){
closegraph();
goto z;}else{exit(1);}
}
case 3: // 搜索{
gotoxy(60,25);
clearviewport();
rectangle(10,10,630,470);
setbkcolor(DARKGRAY);
textbackground(3);
textcolor(5);
clrscr();
char ans;
ifstream f;
stud s;
char name[20];
char address[20];
unsigned int ph_no;
f.open("rec",ios::in|ios::binary);
cout<<" Enter name whose record to be search :";
cin>>name;
do
{
f.read((char *)&s,sizeof(s));
if(f.eof()==1) {break;}
if(strcmpi(s.name,name)==0)
{
cout< <" Name :"<
cout<<" address :"<
cout<<" phone_no :"<
getchar();}}while(f);
f.close();
settextstyle(7,0,1);
outtextxy(250,410,"Do You Want To Continue:");
ans=getchar();
if(ans=='Y'||ans=='y')
goto z;
else
{
closegraph();
break;
}
case 4: //對(duì)改性
{
clrscr();
char ans;
fstream f; stud s;
char name[20]; char address[20]; unsigned int ph_no;
f.open("rec",ios::in|ios::binary);
cout<<" Enter person ph_no whose record to be changed :";
cin>>ph_no;
do
{
f.read((char *)&s,sizeof(s));
if(f.eof()==1) {break;}
if(s.ph_no==ph_no)
{
cout< <" Current Name :"<
cout<<" Current Address :"<
cout<<" Current Phone No :"<
getchar();
cout<<" Enter the new name :";
cin>>name;
cout< <" Enter the city :";
cin>>address;
cout< <" Enter new ph_no :";
cin>>ph_no;
strcpy(s.name,name);
strcpy(s.address,address);
s.ph_no=ph_no;
int l=f.tellg();
f.close();
f.open("rec",ios::out|ios::binary|ios::ate);
f.seekg(l-sizeof(s));
f.write((char *)&s,sizeof(s));
}
}while(f);
f.close();
outtextxy(290,360, " Do you want to continue :-");
ans=getche();
if(ans=='Y'||ans=='y')
{goto z;}
break;
}
case 5: //負(fù)責(zé)刪除記錄
{
clrscr();
char name[20];
stud s;
ifstream fin;
fstream fout;
fin.open("rec",ios::in|ios::binary);
fout.open("va",ios::app|ios::binary);
cout< <" DELETING :-";
int i;
fflush(stdin);
cout<<" Enter the name :- ";
cin.get(name[i]);
while(name[i]!=' ')
{
i=i+1;
cin.get(name[i]);
}
fflush(stdin);
fflush(stdout);
cin.getline(name,20,' ');
while(fin)
{
fin.read((char *)&s,sizeof (s));
if(strcmp(s.name,name)==0)
{fout.read((char *)&s,sizeof(s));
}
else
{
if(fin.eof()==1) {break;}
fout.write((char *)&s,sizeof(s));
}
}
fin.close();
fout.close();
system("del rec");
system("ren va rec");
cout<<" Enter is get Deleted:-";
getchar();
char ans;
outtextxy(240,340, " Do you want to continue:- ");
ans=getche();
if (ans=='y' || ans=='Y')
{goto z;}
else
if (ans=='n' || ans=='N')
{getchar();
exit(1);
}
}
case 6:
{
clearviewport();
outtextxy(250,360,"THE END OF THE PROJECT:-");
outtextxy(260,390," PLEASE PRESS ENTER");
getchar();
closegraph();
exit(1);
}
default:
goto z;
}
}
}}
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九率触,四七零,五九六 】汇竭,無(wú)論你是大牛還是小白葱蝗,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具细燎,很多干貨和技術(shù)資料分享两曼!
這些是C/C++能做的
服務(wù)器開(kāi)發(fā)工程師、人工智能找颓、云計(jì)算工程師合愈、信息安全(黑客反黑客)、大數(shù)據(jù) 击狮、數(shù)據(jù)平臺(tái)佛析、嵌入式工程師、流媒體服務(wù)器彪蓬、數(shù)據(jù)控解寸莫、圖像處理、音頻視頻開(kāi)發(fā)工程師档冬、游戲服務(wù)器膘茎、分布式系統(tǒng)桃纯、游戲輔助等