C語言課程設計手機通信錄管理系統(tǒng)計



《C語言課程設計手機通信錄管理系統(tǒng)計》由會員分享,可在線閱讀,更多相關《C語言課程設計手機通信錄管理系統(tǒng)計(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C程序上機實習報告 C語言課程設計 ? ? ?課程名稱 C語言課程設計 教師姓名 本科生姓名 本科生學號 本科生專業(yè) 所在院系 類別: 日期: 課程設計評語 對課程論文的評語: 平時成績: 課程論文成績: 總 成 績: 評閱人簽名: 注:1、無評閱人簽名成績無效; 2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效; 3、如有平時
2、成績,必須在上面評分表中標出,并計算入總成績。 目 錄 課程設計評語…………………………………………………………..2 目錄……………………………………………………………………..3 1.課程論文題目………………………………………………………. 4 2. 程序設計思路…………………………….……………….…….…..4 3.功能模塊圖…………………………………………………………..4 4.數(shù)據(jù)結(jié)構(gòu)設計………………………………………………………..5 5.算法設計……………………………………………………………..5 6.程序代碼………………
3、……………………………………………15 7.程序運行結(jié)果………………………………………………………21 8.編程中遇到的問題及解決辦法…………………………………28 9.總結(jié)心得及良好建議……………………………………………28 10.致謝………………………………………………………………29 1.課程論文題目 手機通信錄管理系統(tǒng)設計 模擬手機通訊錄管理系統(tǒng),實現(xiàn)對手機中的通訊錄進行管理。功能要求 下: (1)查看功能:選擇此功能時,列出下列三類選擇。 A 辦公類 B 個人類 C 商務類 ,當選中某類型時,顯示出此類所有數(shù)據(jù)中的姓名和電話號
4、 (2)增加功能:能錄入新數(shù)據(jù) 一個結(jié)點包括:姓名、電話號碼、分類(可選項有:A 辦公類 B 個人類C商務類)、電子郵件。例如:楊春 13589664454 商務類 chuny@ 當錄入了重復的姓名和電話號碼時,則提示數(shù)據(jù)錄入重復并取消錄入;當通信錄中超過15條信息時,存儲空間已滿,不能再錄入新數(shù)據(jù);錄入的新數(shù)據(jù)能按遞增的順序自動進行條目編號。 (3)修改功能:選中某個人的姓名時,可對此人的相應數(shù)據(jù)進行修改 (4)刪除功能:選中某個人的姓名時,可對此人的相應數(shù)據(jù)進行刪除,并自 動調(diào)整后續(xù)條目的編號。 2.程序設計思路 根據(jù)題目要求,通訊錄中的每一條信息應當是以文本
5、文件的方式存放,所以要提供文件的輸入輸出等操作;在程序中需要對通訊錄內(nèi)容的管理,應提供查看,增加,修改,刪除條目等操作;另外還應提供鍵盤是選擇菜單實現(xiàn)功能的選擇。 3.功能模塊圖 手機通信錄管理系統(tǒng) 退 出 刪除功能 修改功能 增加功能 4.數(shù)據(jù)結(jié)構(gòu)設計 根據(jù)題目要求,也是為了方便以后調(diào)用,我們選擇應用結(jié)構(gòu)體來進行該程序的編寫。本程序也可以使用數(shù)組和鏈表完成,但是考慮到,鏈表對于我們還過于復雜,時間有限,且題目中有所謂“儲存空間”的限制,所以沒有必要應用鏈表。沒有應用數(shù)組是考慮到結(jié)構(gòu)體能更好的完成調(diào)用工作。而且可以使程
6、序看起來更有條理。 程序中應用函數(shù)調(diào)用是必須的。這種程序中,應用函數(shù)調(diào)用可以使系統(tǒng)更具模塊化。本程序的函數(shù)調(diào)用中,主函數(shù)只是對菜單函數(shù)進行了調(diào)用,這樣由于子函數(shù)之間是可以相互調(diào)用的關系,所以,為后面調(diào)用菜單提供方便。 5. 算法設計 1、主函數(shù) 主函數(shù)設計得應簡單、直觀,所以我應用了大量的函數(shù)調(diào)用。為了方便主菜單也可以調(diào)用,所以把菜單設計成了一個調(diào)用函數(shù),具體方法流程可見流程圖。 【流程圖】 顯示菜單 列出功能 輸入n選擇需要的功能,判斷n的值是否在1—5之間 否
7、 是 根據(jù)n的值調(diào)用各功能模塊函數(shù) 【程序】 /*菜單函數(shù)*/ void menu() {int n,w1; do {puts("\n\t\t*歡迎使用手機通訊錄管理系統(tǒng)*\n"); puts("\t\t************菜單************\n"); puts("\t\t\t1.查看功能"); puts("\t\t\t2.增加功能"); puts("\t\t\t3.修改功能"); puts("\t\t\t4.刪除功能");
8、puts("\t\t\t5.退出"); puts("\n\t\t****************************\n"); printf("請選擇你想要的功能序號(1-5):"); scanf("%d",&n); if(n<1||n>5) {w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();} else w1=0;} while(w1==1); switch(n) {case 1:search();break; case 2:add();break; case 3:modify();bre
9、ak; case 4:del();break; case 5:exit(0);break; } } /*主函數(shù)*/ main() {menu();} 2、各功能模塊設計 (1)查看功能模塊 【需求分析】 該模塊的功能是選擇一個查詢的類別就可以顯示出該類別中的所有信息條目(辦公類,個人類,商務類),并且其重要考慮到該類中的內(nèi)容是否 有為空的情況,以及在選擇類別的過程中是否有輸入錯誤的情況。 【流程圖】 顯示已有的種類菜單 輸入n選擇想要查看的種類,并判斷n的值是否在1-3之間
10、 根據(jù)n值輸出各種類中所有成員信息 是 否 返回主菜單 【程序】 /*查看功能*/ void search() {int n,w1; do
11、{ puts("\t\t**********查看類別**********\n"); puts("\t\t\tA.辦公類\t\n"); puts("\t\t\tB.個人類\t\n"); puts("\t\t\tC.商務類\t\n"); puts("\t\t****************************\n"); printf("請輸入類別(辦公類請輸入“1”,個人類請輸入“2”,商務類請輸入“3”):"); scanf("%d",&n); printf("\n"); if(n<1||n>3) {w1=1;getchar();printf("輸入錯誤返回主菜單\n")
12、;menu();} else w1=0; } while(w1==1); switch(n) {case 1:putout(1);break; case 2:putout(2);break; case 3:putout(3);break; }} (2)添加功能模塊 【需求分析】 該模塊的功能是要求增添一個信息條目(其中包括姓名、電話號碼、分類、電子郵件),觀察這種信息條目,很容易就聯(lián)想到用結(jié)構(gòu)體的方式來儲存。在添加之前應該先檢查儲存器是否已滿;當然在添加過程應考慮到是否有姓名或電話號碼重復的情況,在這種情況下應提醒操作者
13、并退出操作。 調(diào)用加載函數(shù)n=load();并計算可以記錄個數(shù)n 【流程圖】 判斷儲存器是否已滿 是 否 輸入姓名 判斷輸入的姓名是否存在 是
14、 否 輸入電話號碼 判斷輸入的電話號碼是否存在 是 否 通過n來輸入類別,并判斷n是否在1-3之間 是 輸入電子郵件地址 返回主菜單 【程序】 /*添加功能*/ void add()
15、
{int i,n,m,w1;
do
{n=load();/*打開文件*/
if(n==N) {printf("儲存器已滿返回主菜單\n");menu();}/*判斷儲存是否已滿*/
if(n!=0)
{printf("請輸入姓名:");
scanf("%s",&a[n].name);
for(i=0;i 16、phone);
for(i=0;i 17、);
m=a[n].zhonglei;
if(m<1||m>3)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();}
else w1=0;
}
while(w1==1);
switch(m)
{case 1:strcpy(a[n].type,"BGL");break;
case 2:strcpy(a[n].type,"GRL");break;
case 3:strcpy(a[n].type,"SWL");break;
default:printf("輸入錯誤返回上一菜單\n");menu();
}
printf("請 18、輸入電子郵件地址:");
scanf("%s",&a[n].mail);
saveA(n); /*將新的信息添加進通訊錄*/
choice();
}
(3)修改功能模塊
【需求分析】
該模塊的功能是先判斷通訊錄是否為空,不為空的前提下輸入所想要修改的姓名,如果不存在則提醒操作者輸入錯誤并返回主菜單,如果存在則顯示其信息,并作出提示依次輸入修改后的內(nèi)容并記錄保存。
判斷通訊錄是否為空
【流程圖】
是
19、 否
輸入想要修改的姓名
判斷要修改的姓名是否存在
是 否
輸入新的類別
輸入新的姓名
輸入新的電話號碼
輸入新的電子郵箱地址
返回主菜單
【程序】
/*修改功能*/
void 20、modify()
{int i,n,k,w1;
do
{char c[100];
n=load();
if(n==0)
{printf("\n");printf("通訊錄為空返回主菜單\n\n");menu();}
printf("請輸入你要修改的人物名稱:");
scanf("%s",&c);
for(i=0;i 21、rintf("%-20s %-15s %-5s %s\n",a[i].name,a[i].phone,a[i].type,a[i].mail);
printf("請輸入新的類別(辦公類請輸入“1”,個人類請輸入“2”,商務類請輸入“3”,取消修改請輸入“4”):");
scanf("%d",&a[i].zhonglei);
k=a[i].zhonglei;
if(k<1||k>5)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();
}
else w1=0;
}
while(w1==1);
switch(k)
{cas 22、e 1:strcpy(a[i].type,"BGL");break;
case 2:strcpy(a[i].type,"GRL");break;
case 3:strcpy(a[i].type,"SWL");break;
case 4:printf("取消操作返回上一菜單\n");menu();
}
printf("請輸入新的姓名:");
scanf("%s",&(a[i].name));
printf("請輸入新的電話號碼:");
scanf("%s",&(a[i].phone));
printf("請輸入新的郵箱地址:");
scanf("%s",&(a 23、[i].mail));
saveB(n);
choice();
}
(4) 刪除功能模塊
【需求分析】
該模塊的功能是通過輸入某一姓名,判斷改姓名是否存在,如果不存在,返回主菜單;如果存在則輸出該姓名的全部信息,再由操作者判斷是否刪除該條目。刪除后將其他的數(shù)據(jù)保存。
【流程圖】
判斷通訊錄是否為空
是
否
輸入想要刪除的姓名
判斷該姓名是否存在
24、 否
是
確定刪除?
是
刪除成功,保存數(shù)據(jù)
否
返回主菜單
【程序】
/*刪除功能*/
void del()
{
int i,n,j,w1,k;
char b[100];
do
{n=load();
if(n==0)
{printf("\n");printf("通訊錄為空返回主菜單\n\n");menu();}
printf 25、("請輸入你要刪除的人物名稱:");
scanf("%s",&b);
for(i=0;i 26、ntf("輸入錯誤返回主菜單\n");menu();}
else w1=0;
}
while(w1==1);
switch(k)
{case 1:for(j=i;j 27、truct message
MAGE
{int zhonglei;
char name[20];
char phone[15];
char type[5];
char mail[100];
};
(在整個程序的開頭有聲明)
【程序】
load()
{FILE *fp;
int i;
if((fp=fopen("file.txt","ab+"))==NULL)
{printf("\n不能打開此文件返回主菜單\n");
return NULL;}
for(i=0;!feof(fp);i++)
fread(&a[i],sizeof(M 28、AGE),1,fp);
fclose(fp);
return(i-1);
}
(2)用于添加時的保存函數(shù)saveA()
【說明】
該函數(shù)用于在將新信息添加至文件尾。
【程序】
void saveA(int i)
{FILE *fp;
if((fp=fopen("file.txt","ab"))==NULL)
{printf("\n不能打開此文件\n"); return NULL;}
if(fwrite(&a[i],sizeof(MAGE),1,fp)!=1)
printf("讀寫錯誤\n");
fclose(fp);
}
(3)用于將修改或刪除之后記 29、錄的保存函數(shù)saveB()
【說明】
該函數(shù)與上面的函數(shù)不同在于,它是將原有的文件覆蓋后重新將記錄全部錄入
【程序】
void saveB(int n)
{FILE *fp;
int i;
if((fp=fopen("file.txt","wb"))==NULL)/* 以wb的方式打開時,會將原來的文件刪去重建*/
{printf("\n無法打開文件\n");return NULL;}
for(i=0;i 30、}
fclose(fp);
}
(4)用于查看時的輸出函數(shù)putout()
【說明】
該函數(shù)用于查看時輸出某一類別所有的信息。
【程序】
void putout(int m)
{int i,n;
int k=0;
n=load();
for(i=0;i 31、s %-15s %-5s %s\n",a[i].name,a[i].phone,a[i].type,a[i].mail);};
menu();
}
(5)操作成功函數(shù)choice()
【說明】
該函數(shù)用于在執(zhí)行完某一操作時讓操作者選擇下一步的操作。
【程序】
void choice()
{int k,w1;
do
{printf("操作已成功,請選擇下面的操作(1.返回主菜單 2.退出):");
scanf("%d",&k);
if(k<1||k>2)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");men 32、u();}
else w1=0;
}
while(w1==1);
switch(k)
{case 1:menu();break;
case 2:exit(0);break;
}
}
6.程序代碼
#include "stdio.h"
#include "string.h"
#include"malloc.h"
#define MAGE struct message
#define N 15
MAGE
{int zhonglei;
char name[20];
char phone[15];
cha 33、r type[5];
char mail[100];
}a[N];
load();
void saveA();
void saveB();
void menu();
void choice();
/*輸出功能*/
void putout(int m)
{int i,n;
int k=0;
n=load();
for(i=0;i 34、
{if(a[i].zhonglei==m)
printf("%-20s %-15s %-5s %s\n",a[i].name,a[i].phone,a[i].type,a[i].mail);};
menu();
}
/*查看功能*/
void search()
{int n,w1;
do
{
puts("\t\t**********查看類別**********\n");
puts("\t\t\tA.辦公類\t\n");
puts("\t\t\tB.個人類\t\n");
puts("\t\t\tC.商務類\t\n");
puts("\t\t********* 35、*******************\n");
printf("請輸入類別(辦公類請輸入“1”,個人類請輸入“2”,商務類請輸入“3”):");
scanf("%d",&n);
printf("\n");
if(n<1||n>3)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();
}
else w1=0;
}
while(w1==1);
switch(n)
{case 1:putout(1);break;
case 2:putout(2);break;
case 3:putout(3);break;
} 36、
}
/*添加功能*/
void add()
{int i,n,m,w1;
do
{n=load();/*打開文件*/
if(n==N) {printf("儲存器已滿返回主菜單\n");menu();}/*判斷儲存是否已滿*/
if(n!=0)
{
printf("請輸入姓名:");
scanf("%s",&a[n].name);
for(i=0;i 37、scanf("%s",&a[n].phone);
for(i=0;i 38、n].zhonglei);
m=a[n].zhonglei;
if(m<1||m>3)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();
}
else w1=0;}
while(w1==1);
switch(m)
{case 1:strcpy(a[n].type,"BGL");break;
case 2:strcpy(a[n].type,"GRL");break;
case 3:strcpy(a[n].type,"SWL");break;
default:printf("輸入錯誤返回上一菜單\n");menu();} 39、
printf("請輸入電子郵件地址:");
scanf("%s",&a[n].mail);
saveA(n); /*將新的信息添加進通訊錄*/
choice();
}
/*修改功能*/
void modify()
{int i,n,k,w1;
do
{
char c[100];
n=load();
if(n==0) {printf("\n");printf("通訊錄為空返回主菜單\n\n");menu();}
printf("請輸入你要修改的人物名稱:");
scanf("%s",&c);
for(i=0;i 40、,a[i].name)==0)break;
if(i==n){printf("\n");printf("查無此人返回主菜單\n\n");menu();}
printf("%-20s %-15s %-5s %s\n",a[i].name,a[i].phone,a[i].type,a[i].mail);
printf("請輸入新的類別(辦公類請輸入“1”,個人類請輸入“2”,商務類請輸入“3”,取消修改請輸入“4”):");
scanf("%d",&a[i].zhonglei);
k=a[i].zhonglei;
if(k<1||k>5)
{w1=1;getchar();pri 41、ntf("輸入錯誤返回主菜單\n");menu();
}
else w1=0;
}
while(w1==1);
switch(k)
{case 1:strcpy(a[i].type,"BGL");break;
case 2:strcpy(a[i].type,"GRL");break;
case 3:strcpy(a[i].type,"SWL");break;
case 4:printf("取消操作返回上一菜單\n");menu();
}
printf("請輸入新的姓名:");
scanf("%s",&(a[i].name));
printf("請輸 42、入新的電話號碼:");
scanf("%s",&(a[i].phone));
printf("請輸入新的郵箱地址:");
scanf("%s",&(a[i].mail));
saveB(n);choice();
}
/*刪除功能*/
void del()
{
int i,n,j,w1,k;
char b[100];
do
{
n=load();
if(n==0) {printf("\n");printf("通訊錄為空返回主菜單\n\n");menu();}
printf("請輸入你要刪除的人物名稱:");
scanf("%s",&b);
for(i= 43、0;i 44、;
}
while(w1==1);
switch(k)
{case 1:for(j=i;j 45、ead(&a[i],sizeof(MAGE),1,fp);
fclose(fp);
return(i-1);
}
/*保存函數(shù)*/
void saveA(int i)
{FILE *fp;
if((fp=fopen("file.txt","ab"))==NULL)
{printf("\n不能打開此文件\n"); return NULL;}
if(fwrite(&a[i],sizeof(MAGE),1,fp)!=1)
printf("讀寫錯誤\n");
fclose(fp);
}
void saveB(int n)
{FILE *fp;
int i;
if(( 46、fp=fopen("file.txt","wb"))==NULL)
{printf("\n無法打開文件\n");return NULL;}
for(i=0;i 47、{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();}
else w1=0;
}
while(w1==1);
switch(k)
{case 1:menu();break;
case 2:exit(0);break;
}
}
/*菜單函數(shù)*/
void menu()
{int n,w1;
do
{puts("\n\t\t*歡迎使用手機通訊錄管理系統(tǒng)*\n");
puts("\t\t************菜單************\n");
puts("\t\t\t1.查看功能");
puts 48、("\t\t\t2.增加功能");
puts("\t\t\t3.修改功能");
puts("\t\t\t4.刪除功能");
puts("\t\t\t5.退出");
puts("\n\t\t****************************\n");
printf("請選擇你想要的功能序號(1-5):");
scanf("%d",&n);
if(n<1||n>5)
{w1=1;getchar();printf("輸入錯誤返回主菜單\n");menu();
}
else w1=0;}
while(w1==1);
switc 49、h(n)
{case 1:search();break;
case 2:add();break;
case 3:modify();break;
case 4:del();break;
case 5:exit(0);break;
}
}
/*主函數(shù)*/
main()
{menu();
}
7.程序運行結(jié)果
歡迎界面:
查看功能:
增加功能:
修改功能:
刪除功能:
退出:
輸入5,再輸入【enter】,即可退出。 50、
8.編程中遇到的困難及解決方法
此次的編程對于我而言無疑是一件巨大的挑戰(zhàn),因自己的能力的問題,在編程過程中可以說是困難重重,首先便是時間的問題,雖然足足有好幾天的時間讓我們在完成一個程序,但是水平確實比較水,在程序中發(fā)現(xiàn),由于函數(shù)過多,鏈接的問題自己無法解決。在運行程序的時候發(fā)現(xiàn)了其中的一些問題,并且得以解決,如運行中使用查看的時候,排版因為字數(shù)問題產(chǎn)生錯位,這個可以通過轉(zhuǎn)移字符來糾正。
該程序應用了文件的儲存、調(diào)用。文件在載入和保存的使用上可以應用不同的函數(shù)來完成,在此我使用了wb的方式來打開文件,并且用fwrite及fread進行文件的讀寫。文件在進行調(diào)用或打 51、開時應注意文件是否正常打開,這個細節(jié)十分重要,可以防止在操作過程中產(chǎn)生不必要的麻煩。
最大的問題便是由于大量并且長時間的運轉(zhuǎn),程序中的函數(shù)調(diào)用過多之后部分細節(jié)出現(xiàn)問題,目前自己依舊是無法通過更改程序數(shù)據(jù)來更改,但是通過推出保存,再重新運行便可以了。
9.總結(jié)心得及良好建議
通過這次設計,讓我得到了真正的鍛煉。我的程序中還有一些不足,但是由于時間問題,和自己經(jīng)驗不足的原因,導致沒能得到及時修改,請老師見諒。
該程序應用了數(shù)組,這是因為題目中有要求,有所謂“儲存空間”的限制。但是現(xiàn)實生活中,一般儲存設備都已很大,更適合用鏈表完成,這點可以在以后進行改進,通過判斷再完成,儲存空間 52、的提示。這樣通用性會大大提高到的。
自然,上面只是一個例子,程序中自然還有很多或大或小的毛病。比如,在對程序長期操作后,可能出現(xiàn)計算運行錯誤。這點是平常不容易看出來的。我到現(xiàn)在仍沒有找到問題的原因。還需要后續(xù)檢測。
此次的課程設計基本上是我們所以同學的第一次經(jīng)歷,日后這樣的機會還會有,并且以后我們會更多的去獨立完成這樣的項目。但是對于初次體驗的我們而言,確實由于時間以及經(jīng)驗不足等等方面的原因,這個任務很艱巨,相信很多同學雖然盡了自己的努力依舊無法完成,因此我希望老師在我們學習的過程中能夠給予我們更多的幫助以及稍微的減輕一下課程的難度,這樣的話同學們會更專心的投入到編程的快樂之中,品嘗 53、到c語言,計算機給我們帶來的,以及老師們不懈努力下讓我們收獲的成果。這樣可以更好的達到老師們的目的,也更能讓學生們學到更多的知識。
10.致謝
這次學期結(jié)束的C語言課程設計雖然只有幾天,但是卻充實了我的整個假期,這次經(jīng)歷讓我對編程產(chǎn)生了更多興趣,讓我渴望用更多的時間在編程上。同樣這次的學習讓我了解了許多不止是編程的東西,我對電腦的理解范圍也進一步擴大,作為一名計算機學院的學生,這是意義深遠的。非常感謝老師們給予我們這樣一個學習的平臺,不但讓我們得到了展現(xiàn)自我能力的機會同樣讓我們發(fā)現(xiàn)許多自身存在的問題,也在學習交流之中得到一些重要信息。這讓我對計算機產(chǎn)生了更多的熱情,豐富了我的學習以及課余生活,感謝學校給予的機會,感謝老師們的付出。衷心的希望老師們身體健康,活到老學到老,在幫助我們的同時也能夠有所收獲。謝謝?。?!
29
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年作風建設學習教育開展情況的報告范文
- 在2025年民營企業(yè)座談會上的主持講話范文
- 在2025年全縣教育領域群眾身邊不正之風和腐敗問題集中整治調(diào)度會上的講話范文
- 工委副書記在2025年機關DeepSeek應用專題輔導培訓班開班儀式上的講話范文
- 在2025年DeepSeek大模型政務應用培訓會上的講話范文
- 在青年干部培訓結(jié)業(yè)典禮上的講話文稿
- 2025年副書記防汛工作會議上的講話范文
- 2025年主管商務部門黨組書記在理論學習中心組會上研討發(fā)言文稿
- 2025年國企黨委關于干部職工思想政治工作情況的報告范文
- 在機關單位作風建設學習教育突出問題專項整治工作部署會議上的講話范文
- 醫(yī)院領導2025年黨風廉政建設推進會上的講話范文
- 2025年關于開展“以案促改”工作實施方案供參考
- 在2025年安全生產(chǎn)專項整治暨化工行業(yè)風險防控部署會上的講話范文
- 領導干部在“十五五”發(fā)展規(guī)劃編制啟動會上的講話文稿
- 2025年書記在慰問老干部暨情況通報會上的主持講話提綱范文