欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現(xiàn)寢室衛(wèi)生管理系統(tǒng)

 更新時間:2022年03月16日 17:05:42   作者:編程小白2.0  
這篇文章主要為大家詳細介紹了C++實現(xiàn)寢室衛(wèi)生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C++實現(xiàn)寢室衛(wèi)生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

介紹:

當初寫程序的時候很多知識都不足,我算是一個半路出家的。當時在另一課本上看到goto語句,感覺挺有趣的,就用上了,但goto語句,不適合很長的代碼,由易造成邏輯混亂,也可以換成do-while語句。

我設(shè)計了輸出表格框架,再循環(huán)輸出數(shù)據(jù),為使數(shù)據(jù)對齊,使用setw(),setw(int n)是c+ +中在輸出操作中使用的字段寬度設(shè)置,設(shè)置輸出的域?qū)?,n表示字段寬度。此函數(shù)只對緊接著的輸出有效,緊接著的輸出結(jié)束后又變回默認的域?qū)?。當后面緊跟著的輸出字段長度小于n的時候,在該字段前面用空格補齊;當輸出字段長度大于n時,全部整體輸出。頭文件為:iomanip;

輸入密碼時,如非回車鍵,皆輸出“*”,通過getch()函數(shù)實現(xiàn),此函數(shù)是一個不回顯函數(shù),當用戶按下某個字符時,函數(shù)自動讀取,無需按回車鍵,所在頭文件:conio.h,int __cdecl getch();聲明,等,還用了一些算法,在此先不做詳細介紹。

一、基本功能

1.(管理員,需要密碼)實現(xiàn)成績錄入(地面衛(wèi)生、床鋪、物品擺放及其他)成績求和和保存、修改及刪除

2.(學(xué)生查詢)實現(xiàn)顯示所有寢室成員(按寢室號排序和按成績排序)、顯示自己寢室成績-輸入號(按寢室號排序和按成績排序)、本周文明寢室、本周差評寢室

二、擴展功能

1.管理員也可對學(xué)生寢室信息包括寢室號,寢室成員進行基本管理,包括增,刪,查,改等功能

2.對系統(tǒng)使用成員實現(xiàn)所有寢室成績的查詢,顯示功能(可按寢室號排序或成績排序),學(xué)生也可查看其他寢室相關(guān)信息

三、功能結(jié)構(gòu)

 本系統(tǒng)的總體功能結(jié)構(gòu)是:首先學(xué)生可以查看寢室衛(wèi)生檢查結(jié)果信息,管理員具有唯一的帳號以及密碼,登錄后可以對基本數(shù)據(jù)進行增刪改查等操作。

總體分為五大模塊:寢室基本信息錄入模塊,寢室基本信息修改模塊,寢室基本信息查詢模塊,寢室基本信息顯示模塊,寢室基本信息保存模塊??傮w功能結(jié)構(gòu)圖如圖所示:

代碼如下: 

#include<iostream>
#include<conio.h>
#include<fstream>
#include<iomanip>
#include<string>
#define _CRT_SECURE_NO_WARNINGS
using namespace std;
#define M 50//表長
typedef int shu;
//寢室信息結(jié)構(gòu)
typedef struct {
?? ?shu ground;//地面衛(wèi)生
?? ?shu bed;//床鋪
?? ?shu article;//物品擺放
?? ?shu other;//其他
?? ?shu grade;//總成績
?? ?char member[50];//寢室成員
?? ?char number[10];//寢室號
?? ?int Total;
}Student, St;
?
Student S[M];
?
//1、定義清屏函數(shù)
void Clear()
{
?? ?system("pause");
?? ?system("cls");
}
//2、定義顯示函數(shù)表頭
void showhead()
{
?? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n " << endl;
?? ?cout << "\n ? ?顯示方式:\n " << endl;
?? ?cout << "\t①按成績顯示\n" << endl;
?? ?cout << "\t②按寢室顯示\n" << endl;
?? ?cout << "\t③返回上級\n\n" << endl;
?? ?cout << "\t ? ?請選擇:";
}
//3、登錄函數(shù)
void load()
{
?? ?int n1; int i;
loop:cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n\n" << endl;
?? ?cout << "\t\t帳號:";
?? ?cin >> n1;
?? ?cout << "\t\t密碼:";
?? ?char a[40], b[14] = { "20190228" };
?? ?for (i = 0;; i++)
?? ?{
?? ??? ?int __cdecl getch();
?? ??? ?a[i] = getch();
?? ??? ?if (a[i] != '\r')
?? ??? ??? ?cout << "*";
?? ??? ?else {
?? ??? ??? ?a[i] = '\0';
?? ??? ??? ?if (strcmp(a, b) == 0 && n1 == 20190228)
?? ??? ??? ?{
?? ??? ??? ??? ?cout << "\n登錄成功。。。。\n" << endl;
?? ??? ??? ??? ?Clear();
?? ??? ??? ?}
?? ??? ??? ?else {
?? ??? ??? ??? ?cout << "\n用戶名或密碼錯誤。。。\n" << endl;
?? ??? ??? ??? ?Clear();
?? ??? ??? ??? ?goto loop;
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}
//4、定義查詢函數(shù)表頭
void searchheader()
{
?? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n\n " << endl;
?? ?cout << "\t①按成績查詢\n" << endl;
?? ?cout << "\t②按寢室查詢\n" << endl;
?? ?cout << "\t③返回上級\n\n" << endl;
?? ?cout << " ? ?請選擇:";
}
//5、定義錄入函數(shù)
void Add(Student* S)
{
?? ?char ch[10];
?? ?char ch1[2] = { "0" };
?? ?do
?? ?{
?? ??? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n\n" << endl;
?? ??? ?cout << "\t****************學(xué)生信息錄入****************\n";
?? ??? ?cout << "請輸入第" << S[0].Total + 1 << "個寢室的信息\n";
?? ??? ?cout << "寢 室 號:";
?? ??? ?cin >> S[S[0].Total + 1].number;
?? ??? ?cout << " 成 ?員 :";
?? ??? ?cin >> S[S[0].Total + 1].member;
?? ??? ?cout << "地面衛(wèi)生:";
?? ??? ?cin >> S[S[0].Total + 1].ground;
?? ??? ?cout << " 床 ?鋪 :";
?? ??? ?cin >> S[S[0].Total + 1].bed;
?? ??? ?cout << "物品擺放:";
?? ??? ?cin >> S[S[0].Total + 1].article;
?? ??? ?cout << " 其 ?他 :";
?? ??? ?cin >> S[S[0].Total + 1].other;
?? ??? ?cout << "總 成 績:";
?? ??? ?S[S[0].Total + 1].grade = S[S[0].Total + 1].ground + S[S[0].Total + 1].bed + S[S[0].Total + 1].article + S[S[0].Total + 1].other;
?? ??? ?cout<< S[S[0].Total + 1].grade<<endl;
?? ??? ?S[0].Total++;
?? ??? ?cout << "按數(shù)字“0”退出,任意鍵繼續(xù)錄入: " ;
?? ??? ?cin >> ch;
?? ??? ?system("cls");//清屏函數(shù)
?? ?} while (strcmp(ch, ch1) != 0);
}
//6、定義顯示函數(shù)?
void Display_All(Student* S)
{
?
?? ?cout << "\n" << endl;
?? ?int i;
?? ?cout << " ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? " << endl;
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 學(xué) 生 宿 舍 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|" << endl;
?? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ?cout << " | 寢室號 | 總成績 | ? ? ? ? ? ? ?寢 ?室 ?成 ?員 ? ? ? ? ? ? ?|地面衛(wèi)生| 床 ?鋪 |物品擺放| 其 ?他 |" << endl;
?? ?if (S[0].Total > 0)
?? ?{
?? ??? ?for (i = 1; i <= S[0].Total; i++)
?? ??? ?{
?? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ?cout << " |" << setw(8) << S[i].number << "|" << setw(8) << S[i].grade << "|";
?? ??? ??? ?cout << setw(42) << S[i].member << "|" << setw(8) << S[i].ground << "|";
?? ??? ??? ?cout << setw(8) << S[i].bed << "|" << setw(8) << S[i].article << "|";
?? ??? ??? ?cout << setw(8) << S[i].other << "|" <<endl ;
?? ??? ?}
?? ?}
?? ?else
?? ?{
?? ??? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ??? ?cout << " ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?沒 有 任 何 學(xué) 生 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?" << endl;
?? ?}
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
}
//7、排序函數(shù)按照成績從小到大排序(快排)
int Partition(Student* S, int low, int high)
{//對順序表中的子表進行一趟排序,返回樞軸位置
?? ?shu ?pivotkey;
?? ?Student i;
?? ?i = S[low];//用i作樞軸記錄
?? ?pivotkey = S[low].grade;//樞軸成績保存在pivokey中
?? ?while (low < high)//從表的兩端交替的向中間掃描?
?? ?{
?? ??? ?while (low < high && S[high].grade >= pivotkey) --high;
?? ??? ?S[low] = S[high];//將比樞軸記錄小的記錄移到低端
?? ??? ?while (low < high && S[low].grade <= pivotkey) ++low;
?? ??? ?S[high] = S[low];//比樞軸記錄大的記錄移到高端
?? ?}
?? ?S[low] = i;//樞軸記錄到位?
?? ?return low; //返回樞軸位置?
}
void QSort(Student* S, int low, int high)
{
?? ?//對順序表中的子表進行快速排序
?? ?int pivotloc;
?? ?if (low < high) //長度大于1
?? ?{
?? ??? ?pivotloc = Partition(S, low, high);//將子表一分為二,pivotloc是樞軸位置
?? ??? ?QSort(S, low, pivotloc - 1);//對左子表遞歸排序
?? ??? ?QSort(S, pivotloc + 1, high);//對右子表遞歸排序
?? ?}
}
void Sort_grade(Student* S)
{//對順序表L進行快速排序
?? ?QSort(S, 1, S[0].Total);
}
//8、排序函數(shù)按照寢室號從小到大排序(堆排序)?
void HeapAdjust(Student* S, int s, int m)
{
?? ?Student rc; int j;
?? ?rc = S[s];
?? ?for (j = 2 * s; j <= m; j *= 2)//沿number較大的孩子結(jié)點向下篩選
?? ?{
?? ??? ?if (j < m&& strcmp(S[j].number, S[j + 1].number)<0) ++j;//j為number較大的記錄下標
?? ??? ?if (strcmp(rc.number , S[j].number)>=0) break;//rc應(yīng)插入在位置s上
?? ??? ?S[s] = S[j]; s = j;
?? ?}
?? ?S[s] = rc;
}
void CreatHeap(Student* S)
{//把無序序列S[1...n]建成大根堆
?? ?int n, i;
?? ?n = S[0].Total;
?? ?for (i = n / 2; i > 0; --i)//反復(fù)調(diào)用HeapAdjust
?? ??? ?HeapAdjust(S, i, n);
}
void Sort_number(Student* S)
{//對順序表S進行堆排序
?? ?int i;
?? ?Student x;
?? ?CreatHeap(S);
?? ?for (i = S[0].Total; i > 1; --i)
?? ?{
?? ??? ?x = S[1];//將堆頂記錄和當前未經(jīng)排序子序列S[1...i]中最后一個記錄互換
?? ??? ?S[1] = S[i];
?? ??? ?S[i] = x;
?? ??? ?HeapAdjust(S, 1, i - 1);//將S[1..i-1]重新調(diào)整為大根堆
?? ?}
}
//9、查詢函數(shù)以成績?yōu)殛P(guān)鍵字進行查詢(折半查找)
void searh_grade(Student* S)
{
?? ?int high, low, mid;
?? ?int j=0;
?? ?shu grade;
?? ?low = 1;
?? ?high = S[0].Total;
?? ?cout << "請輸入你要查找學(xué)生的成績:";
?? ?cin >> grade;
?? ?Sort_grade(S);//聲明排序函數(shù)按照成績從小到大排序(快排)
?? ?cout << "\n\n" << endl;
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 所 查 找 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |" << endl;
?? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ?cout << " | 寢室號 | 總成績 | ? ? ? ? ? ? ? 寢 ?室 ?成 ?員 ? ? ? ? ? ? |地面衛(wèi)生| 床 ?鋪 |物品擺放| 其 ?他 |" << endl;
?? ?if (grade== S[1].grade)
?? ?{
?? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ?cout << " |" << setw(8) << S[1].number << "|" << setw(8) << S[1].grade << "|";
?? ??? ?cout << setw(42) << S[1].member << "|" << setw(8) << S[1].ground << "|";
?? ??? ?cout << setw(8) << S[1].bed << "|" << setw(8) << S[1].article << "|";
?? ??? ?cout << setw(8) << S[1].other << ?"|"<<endl;
?? ??? ?j = 1;
?? ?}
?? ?else
?? ??? ?if (grade == S[(S[0].Total)].grade)
?? ??? ?{
?? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ?cout << " |" << setw(8) << S[S[0].Total].number << "|" << setw(8) << S[S[0].Total].grade << "|";
?? ??? ??? ?cout << setw(42) << S[S[0].Total].member << "|" << setw(8) << S[S[0].Total].ground << "|";
?? ??? ??? ?cout << setw(8) << S[S[0].Total].bed << "|" << setw(8) << S[S[0].Total].article << "|";
?? ??? ??? ?cout << setw(8) << S[S[0].Total].other << "|" << endl;
?? ??? ??? ?j = 1;
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?while (low <= high)
?? ??? ??? ?{
?? ??? ??? ??? ?mid = (low + high) / 2;
?? ??? ??? ??? ?if (grade == S[mid].grade)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?int i = mid;
?? ??? ??? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ??? ??? ?cout << " |" << setw(8) << S[i].number << "|" << setw(8) << S[i].grade << "|";
?? ??? ??? ??? ??? ?cout << setw(42) << S[i].member << "|" << setw(8) << S[i].ground << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].bed << "|" << setw(8) << S[i].article << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].other << "|" << endl;
?? ??? ??? ??? ??? ?j = 1;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?if (grade > S[mid].grade)
?? ??? ??? ??? ??? ??? ?low = mid + 1;
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ??? ?high = mid - 1;
?? ??? ??? ?}
?? ??? ?}
?? ?if (j != 1)
?? ?{
?? ??? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ??? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查 無 此 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |" << endl;
?? ?}
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
}
//10、查詢函數(shù)以寢室號為關(guān)鍵字進行查詢(折半查找)
void searh_number(Student* S)
{
?? ?int high, low, mid;
?? ?char number[20];
?? ?int j=0;
?? ?low = 1;
?? ?high = S[0].Total;
?? ?cout << "請輸入你要查找學(xué)生的寢室號:";
?? ?cin >> number;
?? ?Sort_number(S);//聲明排序函數(shù)按照寢室號從小到大排序(堆排序)
?? ?cout << "'\n\n" << endl;
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 所 查 找 的 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|" << endl;
?? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ?cout << " | 寢室號 | 總成績 | ? ? ? ? ? ? ? 寢 ?室 ?成 ?員 ? ? ? ? ? ? |地面衛(wèi)生| 床 ?鋪 |物品擺放| 其 ?他 |" << endl;
?? ?while (low <= high)
?? ?{
?? ??? ?mid = (low + high) / 2;
?? ??? ?if (strcmp(number, S[mid].number) == 0)
?? ??? ?{
?? ??? ??? ?int i = mid; j = 1;
?? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ?cout << " |" << setw(8) << S[i].number << "|" << setw(8) << S[i].grade << "|";
?? ??? ??? ?cout << setw(42) << S[i].member << "|" << setw(8) << S[i].ground << "|";
?? ??? ??? ?cout << setw(8) << S[i].bed << "|" << setw(8) << S[i].article << "|";
?? ??? ??? ?cout << setw(8) << S[i].other << "|" << endl;
?
?? ??? ??? ?for (i = mid + 1; i <= high; i++)
?? ??? ??? ?{
?? ??? ??? ??? ?if (strcmp(number, S[i].number) == 0)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ??? ??? ?cout << " |" << setw(8) << S[i].number << "|" << setw(8) << S[i].grade << "|";
?? ??? ??? ??? ??? ?cout << setw(42) << S[i].member << "|" << setw(8) << S[i].ground << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].bed << "|" << setw(8) << S[i].article << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].other << "|" << endl;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?for (i = mid - 1; i >= low; i--)
?? ??? ??? ?{
?? ??? ??? ??? ?if (strcmp(number, S[i].number) == 0)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ??? ??? ?cout << " |" << setw(8) << S[i].number << "|" << setw(8) << S[i].grade << "|";
?? ??? ??? ??? ??? ?cout << setw(42) << S[i].member << "|" << setw(8) << S[i].ground << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].bed << "|" << setw(8) << S[i].article << "|";
?? ??? ??? ??? ??? ?cout << setw(8) << S[i].other << "|" << endl;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ?}
?? ??? ?else
?? ??? ??? ?if (strcmp(number, S[mid].number) > 0)
?? ??? ??? ??? ?low = mid + 1;
?? ??? ??? ?else
?? ??? ??? ??? ?high = mid - 1;
?? ?}
?? ?if (j != 1)
?? ?{
?? ??? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ??? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查 無 此 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |" << endl;
?? ?}
?? ?cout << " ?———————————————————————————————————————————————— " << endl;
}
//11、判斷是否是文明寢室
void y_n_number(Student* S)
{
?? ?int high, low, mid;
?? ?char number[20];
?? ?int j=0;
?? ?low = 1;
?? ?high = S[0].Total;
?? ?cout << "請輸入你要查找學(xué)生的寢室號:";
?? ?cin >> number;
?? ?Sort_number(S);//聲明排序函數(shù)按照寢室號號從小到大排序(堆排序)
?? ?while (low <= high)
?? ?{
?? ??? ?mid = (low + high) / 2;
?? ??? ?if (strcmp(number, S[mid].number) == 0)
?? ??? ?{
?? ??? ??? ?int i = mid; j = 1;
?? ??? ??? ?if (S[i].grade >= 80)
?? ??? ??? ??? ?cout << "\n\n本周文明寢室\n\n";
?? ??? ??? ?else cout << "\n\n本周差評寢室\n\n";
?
?? ??? ??? ?for (i = mid + 1; i <= high; i++)
?? ??? ??? ?{
?? ??? ??? ??? ?if (strcmp(number, S[i].number) == 0)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if (S[i].grade >= 80)
?? ??? ??? ??? ??? ??? ?cout << "\n\n本周文明寢室\n\n";
?? ??? ??? ??? ??? ?else cout << "\n\n本周差評寢室\n\n";
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?for (i = mid - 1; i >= low; i--)
?? ??? ??? ?{
?? ??? ??? ??? ?if (strcmp(number, S[i].number) == 0)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?if (S[i].grade >= 80)
?? ??? ??? ??? ??? ??? ?cout << "\n\n本周文明寢室\n\n";
?? ??? ??? ??? ??? ?else cout << "\n\n本周差評寢室\n\n";
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ?}
?? ??? ?else
?? ??? ??? ?if (strcmp(number, S[mid].number) > 0)
?? ??? ??? ??? ?low = mid + 1;
?? ??? ??? ?else
?? ??? ??? ??? ?high = mid - 1;
?? ?}
?? ?if (j != 1)
?? ?{
?? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ??? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查 無 此 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|" << endl;
?? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ?}
}
//12、定義修改學(xué)生信息表頭函數(shù)
void Exchangehead()
{
?? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n\n " << endl;
?? ?cout << " ? ?********************修改菜單********************\n " << endl;
?? ?cout << "\t①單個刪除信息\n" << endl;
?? ?cout << "\t②刪除全部信息\n" << endl;
?? ?cout << "\t③修改寢室信息\n" << endl;
?? ?cout << "\t④返回上級菜單\n\n" << endl;
?? ?cout << " ? ?請選擇:";
}
//13、寫文件函數(shù)
void Keep(Student* S)
{
?? ?ofstream output("學(xué)生宿舍信息.txt");//初始化輸出流對象
?? ?if (output.is_open())
?? ?{
?? ??? ?int i, j;
?? ??? ?j= S[0].Total;
?? ??? ?output << j<<endl;
?? ??? ?for (i = 1; i <= S[0].Total; i++)
?? ??? ?{
?? ??? ??? ?output << S[i].number<<endl;
?? ??? ??? ?output << S[i].grade<<endl;
?? ??? ??? ?output << S[i].member << endl;
?? ??? ??? ?output << S[i].ground << endl;
?? ??? ??? ?output << S[i].bed << endl;
?? ??? ??? ?output << S[i].article << endl;
?? ??? ??? ?output << S[i].other << endl;
?? ??? ?}
?? ?}
?? ?output.close();
}
//14、讀文件函數(shù)
void Input(Student* S)
{
?? ?ifstream input("學(xué)生宿舍信息.txt",ios::in);//初始化輸出流對象
?? ?if (input.is_open())
?? ?{
?? ??? ?int i,j;
?? ??? ?input >> j;
?? ??? ?S[0].Total = j;
?? ??? ?for (i = 1; i <= S[0].Total; i++)
?? ??? ?{
?? ??? ??? ?input >> S[i].number;
?? ??? ??? ?input >> S[i].grade;
?? ??? ??? ?input >> S[i].member;
?? ??? ??? ?input >> S[i].ground;
?? ??? ??? ?input >> S[i].bed;
?? ??? ??? ?input >> S[i].article;
?? ??? ??? ?input>> S[i].other;
?? ??? ?}
?? ?}
?? ?input.close();
}
//主函數(shù)開始
void main()
{
?? ?Student S[M];
?? ?S[0].Total = 0;
?? ?Input(S);
loop1:cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n" << endl;
?? ?cout << "\n ? ?請選擇以何身份登錄系統(tǒng):\n\n\n";
?? ?cout << "\t1、管理員\n\n";
?? ?cout << "\t2、學(xué)生\n\n";
?? ?cout << "\t3、退出系統(tǒng)\n\n";
?? ?cout << "\t請選擇:";
?? ?int x;
?? ?cin >> x;
?? ?
?? ?switch (x)
?? ?{
?? ?case 1: {
?? ??? ?system("cls");//清屏函數(shù);
?? ??? ?load();//調(diào)用登錄函數(shù)
?? ??? ?int choicem;
?? ??? ?do {
?? ??? ??? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n" << endl;
?? ??? ??? ?cout << "\t ********************主菜單********************\n " << endl;
?? ??? ??? ?cout << "\t①錄入學(xué)生信息\n" << endl;
?? ??? ??? ?cout << "\t②顯示學(xué)生信息.\n" << endl;
?? ??? ??? ?cout << "\t③查詢學(xué)生信息\n" << endl;
?? ??? ??? ?cout << "\t④修改學(xué)生信息\n" << endl;
?? ??? ??? ?cout << "\t⑤存儲學(xué)生信息\n" << endl;
?? ??? ??? ?cout << "\t⑥返回上級\n" << endl;
?? ??? ??? ?cout << "\t⑦退出系統(tǒng)\n\n" << endl;
?? ??? ??? ?cout << "\t請選擇:";
?? ??? ??? ?cin >> choicem;
?? ??? ??? ?
?? ??? ??? ?switch (choicem)
?? ??? ??? ?{
?? ??? ??? ?case 1: // 錄入信息.
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?Add(S); // 調(diào)用錄入信息函數(shù)
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?case 2: // 顯示學(xué)生信息
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?int choice2;
?? ??? ??? ?loop2:showhead();
?? ??? ??? ??? ?cin >> choice2;
?? ??? ??? ??? ?if (choice2 == 1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?Sort_grade(S);//調(diào)用排序函數(shù)按照成績從小到大排序(快排)?
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?cout << "按成績大小顯示信息." << endl;
?? ??? ??? ??? ??? ?Display_All(S); // 調(diào)用顯示學(xué)生信息函數(shù)
?? ??? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop2;
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice2 == 2)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?Sort_number(S);//排序函數(shù)按照寢室號從小到大排序(堆排序)
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?cout << "按寢室號大小顯示信息." << endl;
?? ??? ??? ??? ??? ?Display_All(S); // 調(diào)用顯示學(xué)生信息函數(shù)
?? ??? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop2;
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice2 == 3)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else {
?? ??? ??? ??? ??? ?cout << "\n\t輸入錯誤,請重新輸入。。。。 " << endl;
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop2;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?case 3: // 查詢學(xué)生信息、
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?int choice3;
?? ??? ??? ?loop3:searchheader();//調(diào)用查詢表頭函數(shù)
?? ??? ??? ??? ?cin >> choice3;
?? ??? ??? ??? ?if (choice3 == 1)//按成績查詢
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?searh_grade(S);//查詢函數(shù)以成績?yōu)殛P(guān)鍵字進行查詢(折半查找)
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop3;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice3 == 2)//按寢室號查詢
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?searh_number(S);//調(diào)用查詢函數(shù)以寢室號為關(guān)鍵字進行查詢(折半查找)
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop3;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice3 == 3)//返回上級菜單
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?else // 輸入錯誤
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?cout << "\n\n\t選擇錯誤,請重新輸入。。。 \n" << endl;
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?goto loop3;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?case 4: // 修改學(xué)生信息
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ?loop4: Exchangehead();//調(diào)用修改學(xué)生信息表頭函數(shù)
?? ??? ??? ??? ?int choice1;
?? ??? ??? ??? ?cin >> choice1;
?
?? ??? ??? ??? ?if (choice1 == 1)//單個刪除
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?int i, j;
?? ??? ??? ??? ??? ?int flag = 0; // 用來判斷表中是否存在所要冊除的學(xué)生的信息.
?? ??? ??? ??? ??? ?char number[20];
?
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?cout << "請輸入你要刪除寢室的寢室號:";
?? ??? ??? ??? ??? ?cin >> number;
?? ??? ??? ??? ??? ?for (i = 1; i <= S[0].Total; i++)
?? ??? ??? ??? ??? ??? ?if (strcmp(S[i].number, number) == 0)
?? ??? ??? ??? ??? ??? ??? ?flag = i;
?? ??? ??? ??? ??? ?if (!flag) {
?? ??? ??? ??? ??? ??? ?cout << "\n \n\t你所要刪除的信息在表中不存在! \n" << endl;
?? ??? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else {
?? ??? ??? ??? ??? ??? ?for (i = flag; i <= S->Total; i++)
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ?j = i + 1;
?? ??? ??? ??? ??? ??? ??? ?S[i] = S[j];
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?S[0].Total--;
?? ??? ??? ??? ??? ??? ?cout << "\n\t刪除成功!\n" << endl;
?? ??? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice1 == 2) // 全部刪除
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?S[0].Total = 0;
?? ??? ??? ??? ??? ?cout << "\n\n\n ? ? ? ? ?冊除成功。。。。。\n\n" << endl;
?? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else if (choice1 == 3)//修改信息
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?int i;
?? ??? ??? ??? ??? ?int flag = 0; // 用來判斷表中是否存在所要修改的學(xué)生的信息.
?? ??? ??? ??? ??? ?char number[20];
?? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ?cout << "請輸入你要修改的寢室的寢室號:";
?? ??? ??? ??? ??? ?cin >> number;
?? ??? ??? ??? ??? ?for (i = 1; i <= S[0].Total; i++)
?? ??? ??? ??? ??? ??? ?if (strcmp(S[i].number, number) == 0)
?? ??? ??? ??? ??? ??? ??? ?flag = i;
?? ??? ??? ??? ??? ?if (!flag)
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?cout << "\n\t你所要修改的學(xué)生在表中不存在! \n" << endl;
?? ??? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?cout << "\n\n" << endl;
?? ??? ??? ??? ??? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ??? ??? ??? ??? ??? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 修 改 前 的 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " | 寢室號 | 總成績 | ? ? ? ? ? ? ?寢 ?室 ?成 ?員 ? ? ? ? ? ? ?|地面衛(wèi)生| 床 ?鋪 |物品擺放| 其 ?他 |" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |" << setw(8) << S[flag].number << "|" << setw(8) << S[flag].grade << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(42) << S[flag].member << "|" << setw(8) << S[flag].ground << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(8) << S[flag].bed << "|" << setw(8) << S[flag].article << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(8) << S[flag].other << "|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ??? ??? ??? ??? ??? ?cout << "********************學(xué)生信息修改********************\n";
?? ??? ??? ??? ??? ??? ?cout << " 寢室號 :";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].number;
?? ??? ??? ??? ??? ??? ?cout << " 成 ?員 :";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].member;
?? ??? ??? ??? ??? ??? ?cout << "地面衛(wèi)生:";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].ground;
?? ??? ??? ??? ??? ??? ?cout << " 床 ?鋪 :";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].bed;
?? ??? ??? ??? ??? ??? ?cout << "物品擺放:";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].article;
?? ??? ??? ??? ??? ??? ?cout << " 其 ?他 :";
?? ??? ??? ??? ??? ??? ?cin >> S[flag].other;
?? ??? ??? ??? ??? ??? ?cout << " 總成績 :";
?? ??? ??? ??? ??? ??? ?S[flag].grade = S[flag].ground + S[flag].bed + S[flag].article + S[flag].other;
?? ??? ??? ??? ??? ??? ?cout << S[flag].grade;
?? ??? ??? ??? ??? ??? ?cout << "\n";
?? ??? ??? ??? ??? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ??? ??? ??? ??? ??? ?cout << " | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 修 改 后 的 寢 室 信 息 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |————————————————————————————————————————————————|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " | 寢室號 | 總成績 | ? ? ? ? ? ? ?寢 ?室 ?成 ?員 ? ? ? ? ? ? ?|地面衛(wèi)生| 床 ?鋪 |物品擺放| 其 ?他 |" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |————|————|—————————————————————|————|————|————|————|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " |" << setw(8) << S[flag].number << "|" << setw(8) << S[flag].grade << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(42) << S[flag].member << "|" << setw(8) << S[flag].ground << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(8) << S[flag].bed << "|" << setw(8) << S[flag].article << "|";
?? ??? ??? ??? ??? ??? ?cout << setw(8) << S[flag].other << "|" << endl;
?? ??? ??? ??? ??? ??? ?cout << " ?———————————————————————————————————————————————— " << endl;
?? ??? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ??? ?if (choice1 == 4)//返回上級菜單
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else//輸入錯誤
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?cout << "\n\t選擇錯誤,請重新選擇。。。\n" << endl;
?? ??? ??? ??? ??? ??? ?Clear();
?? ??? ??? ??? ??? ??? ?goto loop4;
?? ??? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?case 5: // 存儲學(xué)生信息、
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?Keep(S);
?? ??? ??? ??? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n " << endl;
?? ??? ??? ??? ?cout << "\n\t存儲成功。。。。。\n" << endl;
?? ??? ??? ??? ?Clear();
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?case 6: //返回上級
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//返回上級
?? ??? ??? ??? ?goto loop1;
?? ??? ??? ?}
?? ??? ??? ?case 7:break; // 退出管理系統(tǒng)
?? ??? ??? ?default: {
?? ??? ??? ??? ?cout << "\n\n\t輸入錯誤,請重新選擇。。。\n\n" << endl;
?? ??? ??? ??? ?Clear();
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?} while (choicem != 7);
?? ??? ?break;
?? ?}
?? ?case 2: {
?? ??? ?system("cls");//清屏函數(shù);
?? ??? ?int choice;
?? ??? ?do {
?? ??? ??? ?cout << "\n********************歡迎使用宿舍衛(wèi)生管理系統(tǒng)********************\n " << endl;
?? ??? ??? ?cout << "\n ? ?顯示方式:\n " << endl;
?? ??? ??? ?cout << "\t①按寢室查詢\n" << endl;
?? ??? ??? ?cout << "\t②按寢室顯示\n" << endl;
?? ??? ??? ?cout << "\t③按成績顯示\n" << endl;
?? ??? ??? ?cout << "\t④本周寢室評價\n" << endl;
?? ??? ??? ?cout << "\t⑤返回上級\n" << endl;
?? ??? ??? ?cout << "\t⑥退出系統(tǒng)\n\n" << endl;
?? ??? ??? ?cout << " ? ?請選擇:";
?? ??? ??? ?cin >> choice;
?? ??? ??? ?if (choice == 1)//按成績查詢
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?searh_number(S);// 查詢函數(shù)以寢室號為關(guān)鍵字進行查詢(折半查找)
?? ??? ??? ??? ?Clear();
?
?? ??? ??? ?}
?? ??? ??? ?else if (choice == 2)//按寢室號顯示
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?Sort_number(S);//排序函數(shù)按照寢室號從小到大排序(堆排序)
?? ??? ??? ??? ?Display_All(S);//顯示函數(shù)
?? ??? ??? ??? ?Clear();
?? ??? ??? ?}
?? ??? ??? ?else if (choice == 3)//按成績顯示
?? ??? ??? ?{
?? ??? ??? ??? ?Sort_grade(S);//調(diào)用排序函數(shù)按照成績從小到大排序(快排)?
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?Display_All(S); // 調(diào)用顯示學(xué)生信息函數(shù)
?? ??? ??? ??? ?Clear();
?? ??? ??? ?}
?? ??? ??? ?else if (choice == 4)
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?y_n_number(S);//是否是文明寢室ok
?? ??? ??? ??? ?Clear();
?? ??? ??? ?}
?? ??? ??? ?else if (choice == 5)//返回上級
?? ??? ??? ?{
?? ??? ??? ??? ?system("cls");//清屏函數(shù)
?? ??? ??? ??? ?goto loop1;
?? ??? ??? ?}
?? ??? ??? ?else if(choice == 6)
?? ??? ??? ?{
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?else {
?? ??? ??? ??? ?cout << "\n\t輸入錯誤,請重新輸入。。。。 \n\n" << endl;
?? ??? ??? ??? ?Clear();
?? ??? ??? ?}
?? ??? ?} while (choice != 5);
?? ??? ?break;
?? ?}
?? ?case 3:break;
?? ?default: {
?? ??? ?cout << "\n\n\t輸入錯誤,請重新輸入。。。\n\n"<<endl;
?? ??? ?Clear();
?? ??? ?goto loop1;
?? ?}
?? ?}
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言詳細分析不同類型數(shù)據(jù)在內(nèi)存中的存儲

    C語言詳細分析不同類型數(shù)據(jù)在內(nèi)存中的存儲

    使用編程語言進行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么
    2022-08-08
  • C語言程序的編譯與預(yù)處理基礎(chǔ)定義講解

    C語言程序的編譯與預(yù)處理基礎(chǔ)定義講解

    在ANSI C的任意一種實現(xiàn)中,存在2中不同的環(huán)境。第一種是翻譯環(huán)境,負責(zé)將源代碼轉(zhuǎn)換成可執(zhí)行的機器指令;第二種是執(zhí)行環(huán)境,用于實際執(zhí)行代碼。一個程序從源代碼到可執(zhí)行程序一共會經(jīng)歷四個過程,分別是預(yù)處理、編譯、匯編、鏈接,本篇讓我們來了解編譯與預(yù)處理
    2022-04-04
  • C++11中模板隱式實例化與顯式實例化的定義詳解分析

    C++11中模板隱式實例化與顯式實例化的定義詳解分析

    實例化是為在程序中的函數(shù)模板本身并不會生成函數(shù)定義,它只是一個用于生成函數(shù)定義的方案。編譯器使用模板為特定類型生成函數(shù)定義時,得到的是模板實例。這即是函數(shù)模板的實例化。而函數(shù)模板實例化又分為兩種類型:隱式實例化和顯式實例化
    2022-04-04
  • C語言實現(xiàn)貪吃蛇游戲

    C語言實現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C++ for循環(huán)與nullptr的小知識點分享

    C++ for循環(huán)與nullptr的小知識點分享

    這篇文章主要是來和大家介紹一些C++中的小知識點,本文分享的是for循環(huán)與nullptr,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • 淺析順序結(jié)構(gòu)存儲的棧

    淺析順序結(jié)構(gòu)存儲的棧

    這篇文章主要介紹了順序結(jié)構(gòu)存儲的棧,有需要的朋友可以參考一下
    2014-01-01
  • win10環(huán)境下C++ vs2015編譯opencv249的教程

    win10環(huán)境下C++ vs2015編譯opencv249的教程

    這篇文章主要介紹了win10環(huán)境下C++ vs2015編譯opencv249的教程,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • QT5實現(xiàn)UDP通信的示例代碼

    QT5實現(xiàn)UDP通信的示例代碼

    本文主要介紹了QT5實現(xiàn)UDP通信的示例代碼,主要使用QUdpSocket類用于實現(xiàn)UDP通信,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C++中HTTP?代理服務(wù)器的設(shè)計與實現(xiàn)詳解

    C++中HTTP?代理服務(wù)器的設(shè)計與實現(xiàn)詳解

    代理服務(wù)器,即允許一個網(wǎng)絡(luò)終端(一般為客戶端)通過這個服務(wù)與另一?個網(wǎng)絡(luò)終端(一般為服務(wù)器)進行非直接的連接,下面我們就來看看如何使用C++設(shè)計與實現(xiàn)一個HTTP?代理服務(wù)器吧
    2024-01-01
  • C++ WideCharToMultiByte()函數(shù)案例詳解

    C++ WideCharToMultiByte()函數(shù)案例詳解

    這篇文章主要介紹了C++ WideCharToMultiByte()函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論