C語言是面向過程的,而C++是面向?qū)ο蟮?/p>
C和C++的區(qū)別:
C是一個(gè)結(jié)構(gòu)化語言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計(jì)首要考慮的是如何通過一個(gè)過程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)。
C++,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問題域,這樣就可以通過獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”。
C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法,一樣不行。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。

北風(fēng)吹,秋風(fēng)涼,一到期末就發(fā)慌!現(xiàn)在已經(jīng)到期末了,學(xué)生們也是時(shí)候該交上這一學(xué)期的答卷了,那么作為學(xué)習(xí)C語言這一門課程的學(xué)生來說,什么樣的作業(yè)題目是每年都必出的呢?
沒錯(cuò),就是《學(xué)生管理系統(tǒng)》,不論是學(xué)生信息管理系統(tǒng),又或者學(xué)生成績(jī)管理系統(tǒng),都是學(xué)生管理系統(tǒng)的一部分,每年可能其他的作業(yè)題目不會(huì)出,但是這個(gè)題目卻是百分百都會(huì)出的!
題目是發(fā)下來了,可是一般除了學(xué)霸之外,大部分的人就是一臉懵逼的狀態(tài)了,這是什么鬼?要怎么做?我該怎么辦?
然后嘛,懵逼了相當(dāng)一段時(shí)間之后,就得到處找答案了!要不加個(gè)群?jiǎn)栂??可是沒人幫忙做呀!要不找個(gè)人幫我做?貌似別人也不會(huì)免費(fèi)做啊!算了,還是百度吧!
然后就會(huì)出現(xiàn)各種各樣的學(xué)生管理系統(tǒng)!
比如這樣的:

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
一看就高大上,但是往下一看,卻看得一臉懵逼?這是用什么做的?不認(rèn)識(shí)啊。。。。。。算了,不管他,接著找吧!
然后又發(fā)現(xiàn)了這樣的:

這個(gè)看起來不錯(cuò),雖然沒有那么華麗,但也有模有樣的嘛!然后看下怎么做的,excuse me?這是什么寫的? MFC? QT? 還是Java? 框架什么的都沒學(xué)過啊。。。。。還是找找其他的吧!
然后就發(fā)現(xiàn)了這樣的:

蒼天啊! 大地?。〗K于讓我找到了熟悉的黑窗口啦?。?! 沒錯(cuò)就是我們熟悉的win32控制臺(tái)應(yīng)用程序,天天寫的黑窗口??! 就這個(gè)了!然后copy一下代碼 去試試!嗯 ,沒毛病,一噸Bug,都不知道怎么改了 (┬_┬) 哪哪都是錯(cuò)!
鑒于這種情況的發(fā)生,我就給大家?guī)砹烁R簦?/p>

簡(jiǎn)潔的界面,不錯(cuò)吧 !

學(xué)生資料查詢,也不錯(cuò)吧!
下面看看代碼吧:
#include
#include
#include
#include
//學(xué)生的結(jié)構(gòu)體
typedef struct stu
{
intnum;//學(xué)號(hào)
charname[20];//姓名
floatchinese;//語文
floatmath;//數(shù)學(xué)
floatenglish;//英語
floatphysics;//物理
struct stu* pnext; //結(jié)構(gòu)體的內(nèi)部指針
}STU;
STU* pStu = NULL;//定義一個(gè)指針
FILE *fp;
void Welcome()
{
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 學(xué)生管理系統(tǒng)┃ ");
printf(" ┣━━━━━━━━━━━━━━━━━━━━━━━┫ ");
printf(" ┃ ①添加學(xué)生信息┃ ");
printf(" ┃ ②查找學(xué)生信息┃ ");
printf(" ┃ ③刪除學(xué)生信息┃ ");
printf(" ┃ ④修改學(xué)生信息┃ ");
printf(" ┃ ⑤退出學(xué)生系統(tǒng)┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
printf(" 請(qǐng)選擇:");
}
//添加信息 //函數(shù)里面沒有任何的返回值 操作了一個(gè)全局變量
void AddInformation()
{
system("cls");
int number;
STU* pNew;
STU* pTemp = pStu;
while (pTemp->pnext != NULL)
{
pTemp = pTemp->pnext;
}
printf(" ");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 添 加 信 息┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
printf(" 您需要添加幾位學(xué)員:");
scanf("%d", &number); // for已知循環(huán)次數(shù) while未知循環(huán)次數(shù)
for (int i = 1; i <= number; i++)
{
system("cls");
printf(" ");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 添 加 信 息┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
pNew = (STU*)malloc(sizeof(STU));
pNew->pnext = NULL;
printf(" 請(qǐng)輸入第%d個(gè)學(xué)員信息: ", i);
printf(" 學(xué)號(hào):");
scanf("%d", &pNew->num);
printf(" 姓名:");
scanf("%s", pNew->name);
printf(" 語文:");
scanf("%f", &pNew->chinese);
printf(" 數(shù)學(xué):");
scanf("%f", &pNew->math);
printf(" 英語:");
scanf("%f", &pNew->english);
printf(" 物理:");
scanf("%f", &pNew->physics);
pTemp->pnext = pNew;
pTemp = pTemp->pnext;
}
printf(" 保存成功!按任意鍵繼續(xù)...");
_getch();
}
//全部瀏覽
void SearchAll()
{
STU* pTemp = pStu->pnext;
printf(" 學(xué)號(hào) 姓名 語文 數(shù)學(xué) 英語 物理 ");
// for while 循環(huán)次數(shù)
while (pTemp != NULL) //什么時(shí)候退出循環(huán)
{
printf(" %d %s %.1f %.1f %.1f %.1f ",
pTemp->num, pTemp->name, pTemp->chinese,
pTemp->math, pTemp->english, pTemp->physics);
pTemp = pTemp->pnext;
}
_getch();
}
//按照學(xué)號(hào)查找
void SearchNum()
{
int keynum;
STU* pTemp = pStu->pnext;
printf(" 請(qǐng)輸入要查找的學(xué)號(hào):");
scanf("%d", &keynum);
while (pTemp != NULL)
{
if (keynum == pTemp->num)
{
printf(" 查找到的信息: ");
printf(" 學(xué)號(hào) 姓名 語文 數(shù)學(xué) 英語 物理 ");
printf(" %d %s %.1f %.1f %.1f %.1f ",
pTemp->num, pTemp->name, pTemp->chinese,
pTemp->math, pTemp->english, pTemp->physics);
_getch();
return;
}
pTemp = pTemp->pnext;
}
printf(" 沒有找到你需要的內(nèi)容! ");
_getch();
}
//按照姓名查找
void SearchName()
{
char keyname[20];
STU* pTemp = pStu->pnext;
printf(" 請(qǐng)輸入要查找的姓名:");
scanf("%s", &keyname);
while (pTemp != NULL)
{
if (!strcmp(keyname, pTemp->name))
{
printf(" 查找到的信息: ");
printf(" 學(xué)號(hào) 姓名 語文 數(shù)學(xué) 英語 物理 ");
printf(" %d %s %.1f %.1f %.1f %.1f ",
pTemp->num, pTemp->name, pTemp->chinese,
pTemp->math, pTemp->english, pTemp->physics);
_getch();
return;
}
pTemp = pTemp->pnext;
}
printf(" 沒有找到你需要的內(nèi)容! ");
_getch();
}

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
//查找信息
void Search()
{
int choice;
do
{
system("cls");
printf(" ");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 查 找 信 息┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
printf(" 1.全部瀏覽 ");
printf(" 2.按學(xué)號(hào)查找 ");
printf(" 3.按姓名查找 ");
printf(" 4.返回主菜單 ");
scanf("%d", &choice);
switch (choice)
{
case 1:SearchAll(); break;
case 2:SearchNum(); break;
case 3:SearchName(); break;
default:break;
}
} while (choice != 4);
}
//刪除信息
void Delete()
{
int keynum; //按照學(xué)號(hào)來刪除
STU* pPre = pStu;
STU* pDel = pStu->pnext;
system("cls");
printf(" ");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 刪 除 信 息┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
printf(" 請(qǐng)輸入學(xué)號(hào):");
scanf("%d", &keynum);
while (pDel != NULL)
{
if (keynum == pDel->num)
{
printf("已查找到%d號(hào)學(xué)員: ", keynum);
printf(" 學(xué)號(hào) 姓名 語文 數(shù)學(xué) 英語 物理 ");
printf(" %d %s %.1f %.1f %.1f %.1f ",
pDel->num, pDel->name, pDel->chinese,
pDel->math, pDel->english, pDel->physics);
printf(" 是否刪除該信息?(Y/N)");
char ch;
fflush(stdin);
ch = getchar();
if (ch == 'Y' || ch == 'y')
{
pPre->pnext = pDel->pnext;
free(pDel);
return;
}
else
{
return;
}
}
pDel = pDel->pnext;
pPre = pPre->pnext;
}
printf(" 未找到該學(xué)員信息!");
_getch();
}
//修改信息
void Modify()
{
}
void ScanfTxt()
{
}
void PrintToTxt()
{
STU* pTemp = pStu->pnext;
if ((fp = fopen("學(xué)生信息.txt", "w")) == NULL)
{
printf(" 打開文件失敗! ");
_getch();
return;
}
while (pTemp != NULL)
{
fprintf(fp, "%d %s %.1f %.1f %.1f %.1f ",
pTemp->num, pTemp->name, pTemp->chinese,
pTemp->math, pTemp->english, pTemp->physics);
pTemp = pTemp->pnext;
}
fclose(fp);
printf(" 保存成功!");
_getch();
exit(0);
}
//主函數(shù)
int main()
{
int choice;
if ((fp = fopen("學(xué)生信息.txt", "r")) == NULL)
{
printf(" 打開文件失敗!");
_getch();
return -1;
}
pStu = (STU*)malloc(sizeof(STU)); //分配一個(gè)學(xué)員的內(nèi)存大小
pStu->pnext = NULL;
while (1)
{
system("cls");
Welcome();
scanf("%d", &choice);
switch (choice)
{
case 1:
//添加學(xué)生信息
AddInformation();
break;
case 2:
//查找學(xué)生信息
//學(xué)號(hào) 姓名
Search();
break;
case 3:
//刪除信息
Delete();
break;
case 4:
//修改信息
Modify();
break;
case 5:

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
//讓所有信息保存到文件中
PrintToTxt();
break;
default:
break;
}
}
return 0;
}
這些是C/C++能做的
服務(wù)器開發(fā)工程師、人工智能、云計(jì)算工程師、信息安全(黑客反黑客)、大數(shù)據(jù) 、數(shù)據(jù)平臺(tái)、嵌入式工程師、流媒體服務(wù)器、數(shù)據(jù)控解、圖像處理、音頻視頻開發(fā)工程師、游戲服務(wù)器、分布式系統(tǒng)、游戲輔助等



