C語言是面向過程的故黑,而C++是面向?qū)ο蟮?/p>
C和C++的區(qū)別:
C是一個(gè)結(jié)構(gòu)化語言儿咱,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計(jì)首要考慮的是如何通過一個(gè)過程场晶,對輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)混埠。
C++,首要考慮的是如何構(gòu)造一個(gè)對象模型诗轻,讓這個(gè)模型能夠契合與之對應(yīng)的問題域钳宪,這樣就可以通過獲取對象的狀態(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é)生成績管理系統(tǒng)辜窑,都是學(xué)生管理系統(tǒng)的一部分,每年可能其他的作業(yè)題目不會(huì)出寨躁,但是這個(gè)題目卻是百分百都會(huì)出的穆碎!
題目是發(fā)下來了,可是一般除了學(xué)霸之外职恳,大部分的人就是一臉懵逼的狀態(tài)了所禀,這是什么鬼?要怎么做放钦?我該怎么辦北秽?
然后嘛,懵逼了相當(dāng)一段時(shí)間之后最筒,就得到處找答案了贺氓!要不加個(gè)群問下?可是沒人幫忙做呀床蜘!要不找個(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)識啊。缴渊。赏壹。。衔沼。蝌借。算了,不管他俐巴,接著找吧骨望!
然后又發(fā)現(xiàn)了這樣的:
這個(gè)看起來不錯(cuò),雖然沒有那么華麗欣舵,但也有模有樣的嘛擎鸠!然后看下怎么做的,excuse me缘圈?這是什么寫的劣光? MFC? QT糟把? 還是Java绢涡? 框架什么的都沒學(xué)過啊。遣疯。雄可。。缠犀。還是找找其他的吧数苫!
然后就發(fā)現(xiàn)了這樣的:
蒼天啊辨液! 大地芭凹薄!終于讓我找到了熟悉的黑窗口啦L下酢V褂酢! 沒錯(cuò)就是我們熟悉的win32控制臺應(yīng)用程序燎悍,天天寫的黑窗口熬吹搿! 就這個(gè)了间涵!然后copy一下代碼 去試試仁热!嗯 ,沒毛病勾哩,一噸Bug抗蠢,都不知道怎么改了 (┬_┬) 哪哪都是錯(cuò)!
鑒于這種情況的發(fā)生思劳,我就給大家?guī)砹烁R簦?/p>
簡潔的界面迅矛,不錯(cuò)吧 !
學(xué)生資料查詢潜叛,也不錯(cuò)吧秽褒!
下面看看代碼吧:
#include
#include
#include
#include
//學(xué)生的結(jié)構(gòu)體
typedef struct stu
{
intnum;//學(xué)號
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(" 請選擇:");
}
//添加信息 //函數(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(" 請輸入第%d個(gè)學(xué)員信息: ", i);
printf(" 學(xué)號:");
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é)號 姓名 語文 數(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é)號查找
void SearchNum()
{
int keynum;
STU* pTemp = pStu->pnext;
printf(" 請輸入要查找的學(xué)號:");
scanf("%d", &keynum);
while (pTemp != NULL)
{
if (keynum == pTemp->num)
{
printf(" 查找到的信息: ");
printf(" 學(xué)號 姓名 語文 數(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(" 請輸入要查找的姓名:");
scanf("%s", &keyname);
while (pTemp != NULL)
{
if (!strcmp(keyname, pTemp->name))
{
printf(" 查找到的信息: ");
printf(" 學(xué)號 姓名 語文 數(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é)號查找 ");
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é)號來刪除
STU* pPre = pStu;
STU* pDel = pStu->pnext;
system("cls");
printf(" ");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ");
printf(" ┃ 刪 除 信 息┃ ");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ");
printf(" 請輸入學(xué)號:");
scanf("%d", &keynum);
while (pDel != NULL)
{
if (keynum == pDel->num)
{
printf("已查找到%d號學(xué)員: ", keynum);
printf(" 學(xué)號 姓名 語文 數(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é)號 姓名
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ù)平臺提前、嵌入式工程師吗货、流媒體服務(wù)器、數(shù)據(jù)控解狈网、圖像處理宙搬、音頻視頻開發(fā)工程師、游戲服務(wù)器拓哺、分布式系統(tǒng)勇垛、游戲輔助等