C語言鏈表實(shí)現(xiàn)工資管理系統(tǒng)
本文實(shí)例為大家分享了C語言鏈表實(shí)現(xiàn)工資管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
自己的作業(yè),分享一下,自己為了調(diào)試方便,又多加入了一些功能
題目:建立工資管理系統(tǒng),對職工工資的相關(guān)信息進(jìn)行管理。職工工資相關(guān)信息包括職工工號,職工姓名,月份,每月工資和年度總工資等,具體要求如下:
1、建立該系統(tǒng)的存儲結(jié)構(gòu)
2、錄入職工某個(gè)月的工資
3、查找某個(gè)職工某個(gè)月的工資
4、修改某個(gè)職工某個(gè)月的工資
5、刪除每個(gè)職工的工資相關(guān)信息
6、統(tǒng)計(jì)某個(gè)職工年度總工資
7、對職工的月工資或年度總工資進(jìn)行排名
源碼
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct worker
{
? ? char no[12]; ? ? ? ? //職工工號
? ? char name[40]; ? ? ? //姓名
? ? int month[12]; ? ? ? //月份
? ? float gz[12]; ? ? ? ?//月工資
? ? float total; ? ? ? ? //年度總工資
? ? struct worker *next; //指向下一節(jié)點(diǎn)的指針
} Worker;
//相關(guān)的函數(shù)聲明
Worker *CreateList(Worker *L, int n); ? ? ? ? ? ? ? //根據(jù)輸入的職工人數(shù),批量創(chuàng)建節(jié)點(diǎn)
void DeleteList(Worker *L, char n[]); ? ? ? ? ? ? ? //刪除節(jié)點(diǎn)
void LIstSearch(Worker *L, char n[]); ? ? ? ? ? ? ? //查找職工工資信息
void InsertInfo(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? //插入職工工資信息
void SearchMonthSalary(Worker *L, char n[], int m); //查找某個(gè)職工的某個(gè)月的工資
void Input(Worker *p, int i); ? ? ? ? ? ? ? ? ? ? ? //為節(jié)點(diǎn)的數(shù)據(jù)域賦值
void Print(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//輸出整個(gè)鏈表的數(shù)據(jù)
void Modify(Worker *L, char n[], int m, float s); ? //修改某個(gè)職工的工資
void menu(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//工資管理系統(tǒng)的菜單
void Save(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //將職工的工資信息保存至文件
void Bubble_sort(Worker *L); ? ? ? ? ? ? ? ? ? ? ? ?//冒泡排序?qū)崿F(xiàn)對鏈表節(jié)點(diǎn)的排序
void StatiTotal(Worker *L,char n[]); ? ? ? ? ? ? ? ?//統(tǒng)計(jì)某個(gè)職工年度總工資
//根據(jù)輸入的職工人數(shù),批量創(chuàng)建節(jié)點(diǎn)
Worker *CreateList(Worker *L, int n) //n為輸入的職工人數(shù)
{
? ? int i;
? ? for (i = 0; i < n; i++)
? ? {
? ? ? ? Worker *p;?? ??? ??? ??? ??? ??? ??? ??? ??? ?//將新生成的節(jié)點(diǎn)插入到鏈表中
? ? ? ? p = NULL;
? ? ? ? p = (Worker *)malloc(sizeof(Worker));
? ? ? ? Input(p, i);?? ??? ??? ??? ??? ??? ??? ??? ?//為節(jié)點(diǎn)的數(shù)據(jù)域賦值
? ? ? ? p->next = L->next;
? ? ? ? L->next = p;
? ? }
? ? return L;
}
void DeleteList(Worker *L, char n[]) //按姓名刪除職工信息
{
? ? int i;
? ? Worker *p = L->next, *pre = L; //定義p指針指向頭節(jié)點(diǎn)的指向,定義pre指向頭節(jié)點(diǎn),pre始終指向p的前驅(qū)節(jié)點(diǎn)
? ? if (p == NULL)
? ? ? ? printf("數(shù)據(jù)為空,無法刪除!");
? ? else
? ? {
? ? ? ? while (strcmp(p->name, n) != 0)
? ? ? ? {
? ? ? ? ? ? pre = p;
? ? ? ? ? ? p = pre->next;
? ? ? ? ? ? if (p == NULL)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("沒有找到相關(guān)信息,無法刪除\n");
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? pre->next = p->next;
? ? ? ? free(p);
? ? ? ? printf("刪除成功");
? ? }
}
//向鏈表中插入職工工資信息
void InsertInfo(Worker *L)
{
? ? int j, k;
? ? Worker *p = NULL;
? ? p = (Worker *)malloc(sizeof(Worker)); //生成一個(gè)新節(jié)點(diǎn)p
? ? p->total = 0;
? ? printf("請輸入要插入的職工的職工工號:");
? ? scanf("%s", &p->no);
? ? printf("請輸入要插入的職工的姓名:");
? ? scanf("%s", &p->name);
? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
? ? ? ? p->month[k] = j;
? ? printf("請輸入要插入的職工的月工資(用空格隔開):");
? ? for (j = 0; j < 12; j++)
? ? {
? ? ? ? scanf("%f", &p->gz[j]); //輸入每個(gè)月的工資
? ? ? ? p->total += p->gz[j]; ? //計(jì)算總工資
? ? }
? ? p->next = L->next;
? ? L->next = p;
? ? printf("插入成功!");
}
void LIstSearch(Worker *L, char n[])
{
? ? int i;
? ? Worker *p = L->next;
? ? while (p != NULL)
? ? {
? ? ? ? if (strcmp(p->name, n) == 0)
? ? ? ? {
? ? ? ? ? ? printf("\n該職工的工資的信息如下:\n");
? ? ? ? ? ? printf("職工編號:");
? ? ? ? ? ? printf("%s\t\n", p->no);
? ? ? ? ? ? printf("姓名:");
? ? ? ? ? ? printf("%s\n", p->name);
? ? ? ? ? ? printf("該職工12個(gè)月的月工資如下:");
? ? ? ? ? ? for (i = 0; i < 12; i++)
? ? ? ? ? ? ? ? printf("%.2f ", p->gz[i]);
? ? ? ? ? ? printf("\n該職工的年度總工資為:");
? ? ? ? ? ? printf("%.2f", p->total);
? ? ? ? ? ? printf("\n\n");
? ? ? ? ? ? printf("\n");
? ? ? ? ? ? p = p->next;
? ? ? ? }
? ? ? ? else
? ? ? ? ? ? p = p->next;
? ? }
}
void SearchMonthSalary(Worker *L, char n[], int m)
{
? ? int i;
? ? Worker *p = L->next;
? ? while (p != NULL)
? ? {
? ? ? ? if (strcmp(p->name, n) == 0)
? ? ? ? {
? ? ? ? ? ? switch (m)
? ? ? ? ? ? {
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[0], p->gz[0]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[1], p->gz[1]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[2], p->gz[2]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[3], p->gz[3]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 5:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[4], p->gz[4]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 6:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[5], p->gz[5]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 7:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[6], p->gz[6]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 8:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[7], p->gz[7]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 9:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[8], p->gz[8]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 10:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[9], p->gz[9]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 11:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[10], p->gz[10]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 12:
? ? ? ? ? ? ? ? printf("該職工%d月的工資為%.2f", p->month[11], p->gz[11]);
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? p = p->next;
? ? ? ? }
? ? ? ? else
? ? ? ? ? ? p = p->next;
? ? }
}
void Bubble_sort(Worker *L)//冒泡排序?qū)崿F(xiàn)對鏈表節(jié)點(diǎn)的排序
{
?? ?Worker *p,*q,*tail,*l;
? ? tail = NULL;
? ? while((L->next->next) != tail)
? ? {
? ? ? ? p = L;
? ? ? ? q = L->next;
? ? ? ? while(q->next != tail)
? ? ? ? {
? ? ? ? ? ? if((q->total) > (q->next->total))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? p->next = q->next;
? ? ? ? ? ? ? ? q->next = q->next->next;
? ? ? ? ? ? ? ? p->next->next = q;
? ? ? ? ? ? ? ? q = p->next;
? ? ? ? ? ? }
? ? ? ? ? ? q = q->next;
? ? ? ? ? ? p = p->next;
? ? ? ? }
? ? ? ? tail = q;
? ? }
? ? printf("排序完成!年度總工資從小到大結(jié)果如下:\n");
? ? l=L->next;
? ? while(l!=NULL)
? ? {
? ? ? ? if(l->next!=NULL)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("%s->",l->name);
? ? ? ? ? ? ? ? l=l->next;
? ? ? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? printf("%s",l->name);
? ? ? ? ? ? l=l->next;
? ? ? ? }
? ? }
}
void StatiTotal(Worker *L,char n[]) ? ? ? ? //統(tǒng)計(jì)某個(gè)職工年度總工資
{
? ? int i;
? ? Worker *p=L->next;
? ? while(p!=NULL)
? ? {
?? ??? ?p->total=0;
? ? ? ? if(strcmp(p->name,n)==0)
? ? ? ? {
? ? ? ? ? ? for(i=0;i<12;i++)
? ? ? ? ? ? ? ? p->total+=p->gz[i];
? ? ? ? ? ? printf("%s的年度總工資為%.2f",n,p->total);
?? ??? ??? ?break;
? ? ? ? }
? ? ? ? else
? ? ? ? ? ? p=p->next;
? ? }
}
void Modify(Worker *L, char n[], int m, float s)
{
? ? int i,j;
? ? Worker *p = L->next;
? ? while (p != NULL)
? ? {
? ? ? ? if (strcmp(p->name, n) == 0)
? ? ? ? {
? ? ? ? ? ? switch (m)
? ? ? ? ? ? {
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? p->gz[0] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? p->gz[1] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? p->gz[2] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? p->gz[3] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 5:
? ? ? ? ? ? ? ? p->gz[4] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 6:
? ? ? ? ? ? ? ? p->gz[5] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 7:
? ? ? ? ? ? ? ? p->gz[6] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 8:
? ? ? ? ? ? ? ? p->gz[7] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 9:
? ? ? ? ? ? ? ? p->gz[8] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 10:
? ? ? ? ? ? ? ? p->gz[9] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 11:
? ? ? ? ? ? ? ? p->gz[10] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 12:
? ? ? ? ? ? ? ? p->gz[11] = s;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? p->total=0;
? ? ? ? ? ? for(j=0;j<12;j++)
? ? ? ? ? ? ? ? p->total+=p->gz[j];
? ? ? ? ? ? p=p->next;
? ? ? ? }
? ? ? ? else
? ? ? ? ? ? p = p->next;
? ? }
? ? printf("修改成功!");
}
void Input(Worker *p, int i)
{
? ? int j, k;
? ? p->total = 0;
? ? printf("請輸入第%d名職工的職工工號:", i + 1);
? ? scanf("%s", &p->no);
? ? printf("請輸入第%d名職工的姓名:", i + 1);
? ? scanf("%s", &p->name);
? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
? ? ? ? p->month[k] = j;
? ? printf("請輸入第%d名職工的月工資(用空格隔開):", i + 1);
? ? for (j = 0; j < 12; j++)
? ? {
? ? ? ? scanf("%f", &p->gz[j]); //輸入每個(gè)月的工資
? ? ? ? p->total += p->gz[j]; ? //計(jì)算總工資
? ? }
}
void Print(Worker *L) ? ? ? //打印所有職工工資信息
{
? ? int i;
? ? Worker *p = L->next;
? ? while (p != NULL)
? ? {
? ? ? ? printf("職工編號:");
? ? ? ? printf("%s\t\n", p->no);
? ? ? ? printf("姓名:");
? ? ? ? printf("%s\n", p->name);
? ? ? ? printf("該職工12個(gè)月的月工資如下:");
? ? ? ? for (i = 0; i < 12; i++)
? ? ? ? ? ? printf("%.2f ", p->gz[i]);
? ? ? ? printf("\n該職工的年度總工資為:");
? ? ? ? printf("%.2f", p->total);
? ? ? ? printf("\n\n");
? ? ? ? p = p->next;
? ? }
}
void Save(Worker *L)
{
? ? int i;
? ? Worker *p = L->next;
? ? FILE *fp = fopen("WorkerSalaryInfo.txt", "w");
? ? while (p != NULL)
? ? {
? ? ? ? fprintf(fp, "職工編號:");
? ? ? ? fprintf(fp, "%s\t\n", p->no);
? ? ? ? fprintf(fp, "姓名:");
? ? ? ? fprintf(fp, "%s\n", p->name);
? ? ? ? fprintf(fp, "該職工12個(gè)月的月工資如下:");
? ? ? ? for (i = 0; i < 12; i++)
? ? ? ? ? ? fprintf(fp, "%.2f ", p->gz[i]);
? ? ? ? fprintf(fp, "\n該職工的年度總工資為:");
? ? ? ? fprintf(fp, "%.2f", p->total);
? ? ? ? fprintf(fp, "\n\n");
? ? ? ? p = p->next;
? ? }
? ? fclose(fp);
? ? printf("保存成功,已保存至當(dāng)前目錄下的‘WorkerSalaryInfo.txt'文件中");
}
void menu()
{
?? ?printf("\t\t\t\t\t?? ??? ??? ??? ? ? ?? ??? ??? ??? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t▔▔▔▔▔▔▔歡迎進(jìn)入工資管理系統(tǒng)▔▔▔▔▔▔▔\n");
? ? printf("\t\t\t\t\t1.錄入職工每個(gè)月的工資信息?? ??? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t2.按姓名查找某個(gè)員工各月的工資?? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t3.按姓名查找某個(gè)職工的某個(gè)月的工資?? ??? ??? ?\n");
? ? printf("\t\t\t\t\t4.修改某個(gè)職工某個(gè)月的工資?? ??? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t5.刪除某個(gè)職工的相關(guān)信息?? ??? ??? ??? ? ? ? ?? ?\n");
? ? printf("\t\t\t\t\t6.插入職工工資信息?? ??? ??? ??? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t7.統(tǒng)計(jì)某個(gè)職工年度總工資?? ??? ??? ??? ??? ? ? ?\n");
? ? printf("\t\t\t\t\t8.對職工的年度總工資進(jìn)行從小到大排名?? ??? ??? ?\n");
? ? printf("\t\t\t\t\t9.輸出所有職工工資信息?? ??? ??? ??? ??? ??? ?\n");
? ? printf("\t\t\t\t\t10、將所有職工的工資信息保存至文件?? ??? ??? ?\n");
? ? printf("\t\t\t\t\t0.退出?? ??? ??? ??? ??? ??? ??? ??? ? ? ?\n");
? ? printf("\t\t\t\t\t▁▁▁▁▁▁▁▁▁▁謝謝使用▁▁▁▁▁▁▁▁▁\n");
}
int main()
{
? ? int item, n, m; //item用于接收輸入的命令,n用于接收輸入的職工人數(shù)
? ? float s;
? ? char nam[10];
? ? Worker *L = (Worker*)malloc(sizeof(Worker));
? ? L->next=NULL;
? ? do
? ? {
? ? ?? ?system("cls");?
? ? ? ? menu();
? ? ? ? printf("\n請輸入相應(yīng)的數(shù)字,進(jìn)行相應(yīng)的操作:\n");
? ? ? ? scanf("%d", &item);
? ? ? ? switch (item)
? ? ? ? {
? ? ? ? case 1:
? ? ? ? ? ? printf("請輸入您要錄入的職工人數(shù):");
? ? ? ? ? ? scanf("%d", &n);
? ? ? ? ? ? L = CreateList(L, n);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 2:
? ? ? ? ? ? printf("請輸入您要查找的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? LIstSearch(L, nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 3:
? ? ? ? ? ? printf("請輸入您要查找的職工的姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? printf("請輸入您要查找該職工第幾個(gè)月的工資(1到12):");
? ? ? ? ? ? scanf("%d", &m);
? ? ? ? ? ? SearchMonthSalary(L, nam, m);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 4:
? ? ? ? ? ? printf("請輸入您要修改的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? printf("\n請輸入您要修改的月份:");
? ? ? ? ? ? scanf("%d", &m);
? ? ? ? ? ? printf("\n請輸入您修改后的數(shù)據(jù):");
? ? ? ? ? ? scanf("%f", &s);
? ? ? ? ? ? Modify(L, nam, m, s);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 5:
? ? ? ? ? ? printf("請輸入您要?jiǎng)h除的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? DeleteList(L, nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 6:
? ? ? ? ? ? InsertInfo(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 7:
? ? ? ? ? ? printf("請輸入您要查詢的職工姓名:");
? ? ? ? ? ? scanf("%s",&nam);
? ? ? ? ? ? StatiTotal(L,nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 8:
? ? ? ? ? ? Bubble_sort(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 9:
? ? ? ? ? ? printf("全部職工的信息如下:\n\n");
? ? ? ? ? ? Print(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 10:
? ? ? ? ? ? Save(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 0:
? ? ? ? ? ? printf("謝謝您使用工資管理系統(tǒng),即將退出工資管理系統(tǒng).....");
? ? ? ? ? ? exit(0);
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? printf("\n\n\n\n");
? ? } while (item);
? ? return 0;
}部分運(yùn)行結(jié)果截圖:


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)
在Qt中提供了QSqlTableModel模型類,它為開發(fā)者提供了一種直觀的方式來與數(shù)據(jù)庫表格進(jìn)行交互,本文就來介紹一下Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié),感興趣的可以了解一下2023-12-12
C語言執(zhí)行時(shí),程序控制臺輸出窗口 一閃而過問題及解決
這篇文章主要介紹了C語言執(zhí)行時(shí),程序控制臺輸出窗口 一閃而過問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)
函數(shù)指針是指向函數(shù)的指針,指針函數(shù)是指一個(gè)函數(shù)的返回值是一個(gè)指針。以下就是對函數(shù)指針與指針函數(shù)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07
怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))
這篇文章主要介紹了用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下2017-05-05

