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

C語(yǔ)言鏈表實(shí)現(xiàn)工資管理系統(tǒng)

 更新時(shí)間:2022年02月27日 16:24:52   作者:xjfyt  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鏈表實(shí)現(xiàn)工資管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言鏈表實(shí)現(xiàn)工資管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

自己的作業(yè),分享一下,自己為了調(diào)試方便,又多加入了一些功能

題目:建立工資管理系統(tǒng),對(duì)職工工資的相關(guān)信息進(jìn)行管理。職工工資相關(guān)信息包括職工工號(hào),職工姓名,月份,每月工資和年度總工資等,具體要求如下:

1、建立該系統(tǒng)的存儲(chǔ)結(jié)構(gòu)
2、錄入職工某個(gè)月的工資
3、查找某個(gè)職工某個(gè)月的工資
4、修改某個(gè)職工某個(gè)月的工資
5、刪除每個(gè)職工的工資相關(guān)信息
6、統(tǒng)計(jì)某個(gè)職工年度總工資
7、對(duì)職工的月工資或年度總工資進(jìn)行排名

源碼

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct worker
{
? ? char no[12]; ? ? ? ? //職工工號(hào)
? ? 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)對(duì)鏈表節(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ù)為空,無(wú)法刪除!");
? ? else
? ? {
? ? ? ? while (strcmp(p->name, n) != 0)
? ? ? ? {
? ? ? ? ? ? pre = p;
? ? ? ? ? ? p = pre->next;
? ? ? ? ? ? if (p == NULL)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("沒有找到相關(guān)信息,無(wú)法刪除\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("請(qǐng)輸入要插入的職工的職工工號(hào):");
? ? scanf("%s", &p->no);
? ? printf("請(qǐng)輸入要插入的職工的姓名:");
? ? scanf("%s", &p->name);
? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
? ? ? ? p->month[k] = j;
? ? printf("請(qǐng)輸入要插入的職工的月工資(用空格隔開):");
? ? 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("職工編號(hào):");
? ? ? ? ? ? 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)對(duì)鏈表節(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("請(qǐng)輸入第%d名職工的職工工號(hào):", i + 1);
? ? scanf("%s", &p->no);
? ? printf("請(qǐng)輸入第%d名職工的姓名:", i + 1);
? ? scanf("%s", &p->name);
? ? for (k = 0, j = 1; j <= 12, k < 12; j++, k++)
? ? ? ? p->month[k] = j;
? ? printf("請(qǐng)輸入第%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("職工編號(hào):");
? ? ? ? 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, "職工編號(hào):");
? ? ? ? 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.對(duì)職工的年度總工資進(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請(qǐng)輸入相應(yīng)的數(shù)字,進(jìn)行相應(yīng)的操作:\n");
? ? ? ? scanf("%d", &item);
? ? ? ? switch (item)
? ? ? ? {
? ? ? ? case 1:
? ? ? ? ? ? printf("請(qǐng)輸入您要錄入的職工人數(shù):");
? ? ? ? ? ? scanf("%d", &n);
? ? ? ? ? ? L = CreateList(L, n);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 2:
? ? ? ? ? ? printf("請(qǐng)輸入您要查找的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? LIstSearch(L, nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 3:
? ? ? ? ? ? printf("請(qǐng)輸入您要查找的職工的姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? printf("請(qǐng)輸入您要查找該職工第幾個(gè)月的工資(1到12):");
? ? ? ? ? ? scanf("%d", &m);
? ? ? ? ? ? SearchMonthSalary(L, nam, m);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 4:
? ? ? ? ? ? printf("請(qǐng)輸入您要修改的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? printf("\n請(qǐng)輸入您要修改的月份:");
? ? ? ? ? ? scanf("%d", &m);
? ? ? ? ? ? printf("\n請(qǐng)輸入您修改后的數(shù)據(jù):");
? ? ? ? ? ? scanf("%f", &s);
? ? ? ? ? ? Modify(L, nam, m, s);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 5:
? ? ? ? ? ? printf("請(qǐng)輸入您要?jiǎng)h除的職工姓名:");
? ? ? ? ? ? scanf("%s", &nam);
? ? ? ? ? ? DeleteList(L, nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 6:
? ? ? ? ? ? InsertInfo(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 7:
? ? ? ? ? ? printf("請(qǐng)輸入您要查詢的職工姓名:");
? ? ? ? ? ? scanf("%s",&nam);
? ? ? ? ? ? StatiTotal(L,nam);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 8:
? ? ? ? ? ? Bubble_sort(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 9:
? ? ? ? ? ? printf("全部職工的信息如下:\n\n");
? ? ? ? ? ? Print(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\n");
?? ??? ??? ?getchar();
? ? ? ? ? ? break;
? ? ? ? case 10:
? ? ? ? ? ? Save(L);
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("\n請(qǐng)按任意鍵返回主菜單\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é)果截圖:

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

相關(guān)文章

  • Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)

    Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié)

    在Qt中提供了QSqlTableModel模型類,它為開發(fā)者提供了一種直觀的方式來(lái)與數(shù)據(jù)庫(kù)表格進(jìn)行交互,本文就來(lái)介紹一下Qt實(shí)現(xiàn)SqlTableModel映射組件應(yīng)用小結(jié),感興趣的可以了解一下
    2023-12-12
  • 共用體的定義與應(yīng)用詳細(xì)解析

    共用體的定義與應(yīng)用詳細(xì)解析

    共同體的定義類似結(jié)構(gòu)體,不過共同體的所有成員都在同一段內(nèi)存中存放,起始地址一樣,并且同一時(shí)刻只能使用其中的一個(gè)成員變量
    2013-08-08
  • C語(yǔ)言執(zhí)行時(shí),程序控制臺(tái)輸出窗口 一閃而過問題及解決

    C語(yǔ)言執(zhí)行時(shí),程序控制臺(tái)輸出窗口 一閃而過問題及解決

    這篇文章主要介紹了C語(yǔ)言執(zhí)行時(shí),程序控制臺(tái)輸出窗口 一閃而過問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)

    函數(shù)指針與指針函數(shù)的學(xué)習(xí)總結(jié)

    函數(shù)指針是指向函數(shù)的指針,指針函數(shù)是指一個(gè)函數(shù)的返回值是一個(gè)指針。以下就是對(duì)函數(shù)指針與指針函數(shù)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • 怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))

    怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))

    這篇文章主要介紹了用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 詳解C++編譯器優(yōu)化技術(shù)

    詳解C++編譯器優(yōu)化技術(shù)

    現(xiàn)代編譯器缺省會(huì)使用RVO(return value optimization,返回值優(yōu)化)、NRVO(named return value optimization、命名返回值優(yōu)化)和復(fù)制省略(Copy elision)技術(shù),來(lái)減少拷貝次數(shù)來(lái)提升代碼的運(yùn)行效率。
    2021-06-06
  • 淺談C++對(duì)象組合

    淺談C++對(duì)象組合

    本文主要說明對(duì)象創(chuàng)建時(shí)構(gòu)造函數(shù)的執(zhí)行順序,對(duì)象成員的初始化順序;對(duì)象銷毀時(shí)析構(gòu)函數(shù)的執(zhí)行順序,對(duì)象成員的銷毀順序。
    2015-06-06
  • C++的原生數(shù)組你了解多少

    C++的原生數(shù)組你了解多少

    這篇文章主要為大家詳細(xì)介紹了C++的原生數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 一篇文章帶你了解C語(yǔ)言--數(shù)據(jù)的儲(chǔ)存

    一篇文章帶你了解C語(yǔ)言--數(shù)據(jù)的儲(chǔ)存

    這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)的存儲(chǔ)和取出詳細(xì)講解,作者使用圖文代碼實(shí)例講解,有感興趣的同學(xué)可以學(xué)習(xí)研究下,希望能給你帶來(lái)幫助
    2021-08-08
  • C++ 自定義棧實(shí)現(xiàn)迷宮求解

    C++ 自定義棧實(shí)現(xiàn)迷宮求解

    這篇文章主要介紹了C++ 自定義棧實(shí)現(xiàn)迷宮求解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07

最新評(píng)論