freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

實(shí)用c語言程序設(shè)計(jì)教程6便捷工具指針ppt-資料下載頁

2025-10-09 13:51本頁面
  

【正文】 顯示函數(shù) */ switch(index) { /*用戶選擇不同的功能,進(jìn)入不同的功能模塊 */ case 1: printf(輸入新建文本共有幾個段落: )。 scanf(%d,amp。num)。 getchar()。 for(i=0。inum。i++) gets(str[i])。 /*建立文本文件 */ if((fp=fopen(,w+))==NULL) { printf(cannot open out\n)。 exit(0)。 } for(i=0。inum。i++) fputs(str[i],fp)。 fclose(fp)。 break。 case 2: printf(請輸入要追加的字符串: )。 gets(str[num])。 num++。 /*段落數(shù)加 1*/ fp=fopen(,a+)。 fputs(str[num],fp)。 /*存儲 */ fclose(fp)。 getchar()。 break。 case 3: /*顯示文本 */ printf(\t\t本篇文章內(nèi)容: \n\n)。 for(i=0。inum。i++) puts(str[i])。 getchar()。break。 case 4: printf(請輸入要在第幾個字符串插入 )。 scanf(%d,amp。m)。 getchar()。 printf(請輸入要在該串的第幾個字符前插入字符: )。 scanf(%d,amp。n)。getchar()。 printf(請輸入要插入的字符: )。 scanf(%c,amp。ch)。getchar()。 ins(str,m,n,ch)。 break。 case 5: printf(請輸入要刪除字符的在第幾個字符串中 :)。 scanf(%d,amp。m)。getchar()。 printf(請輸入要刪除的字符是第幾個字符 :)。 scanf(%d,amp。n)。getchar()。 dele(str,m,n)。 break。 case 6: printf(請輸入要修改的字符在第幾個字符串: )。 scanf(%d,amp。m)。getchar()。 printf(請輸入要修改的字符是該串的第幾個字符: )。 scanf(%d,amp。n)。getchar()。 printf(請輸入字符: )。 scanf(%c,amp。ch)。getchar()。 mod(str,m,n,ch)。 break。 case 7: BubberSort(str)。 printf(排序后的字符串是: )。 for(i=0。inum。i++) printf(%s\n ,str[i])。 break。 case 8: count(str,amp。a,amp。b,amp。c,amp。d)。 printf(\n統(tǒng)計(jì)結(jié)果 :\n大寫字符 =%d 小寫字符 =%d \n,a,b)。 printf(數(shù)字字符 =%d 其它字符 =%d \n,c,d)。 getchar()。 break。 case 9: exit(0)。 } /*switch語句結(jié)束 */ }while(1)。 /*保證用戶按規(guī)定鍵不退出 */ } C語言程序設(shè)計(jì) 第 6章 指針 分析: ( 1) 問題陳述: 該項(xiàng)目用指針數(shù)組實(shí)現(xiàn)對學(xué)生成績的輸入和輸出功能。 ( 2)模塊功能結(jié)構(gòu)圖分析 * 項(xiàng)目任務(wù):用指針數(shù)組實(shí)現(xiàn)學(xué)生成績管理 C語言程序設(shè)計(jì) 第 6章 指針 ( 3)數(shù)據(jù)結(jié)構(gòu)和函數(shù)功能 ①學(xué)生成績數(shù)據(jù)結(jié)構(gòu)定義 每個班學(xué)生的成績信息用一個二維數(shù)組來存放,每行存放一個學(xué)生的信息,每行第一列(列下標(biāo)為 0)的元素存放學(xué)生的學(xué)號(設(shè)學(xué)號為整型);每個學(xué)生最多有 N1門課程的成績,則成績數(shù)組可以定義為:int score[M][N]。 不同班級的成績信息保存在以班號命名的班級信息數(shù)據(jù)文本文件中。各個班的實(shí)際人數(shù)、選修課程數(shù)可能不相同,因此先把班級人數(shù)和課程數(shù)存入班級信息文件。文件中第一行存放班級人數(shù),第二行存放本班學(xué)生選修課程數(shù),第 4行開始依次存放每個學(xué)生的信息。讀取班級文件中的學(xué)生信息時,也要先讀取班級人數(shù)和課程數(shù)。 C語言程序設(shè)計(jì) 第 6章 指針 ② 函數(shù)設(shè)計(jì) ? 函數(shù)功能: 控制程序主菜單模塊的執(zhí)行; 函數(shù)原型 : void main(void)。 ? 函數(shù)功能: 輸入學(xué)生成績信息; 函數(shù)原型: void ScoreInput( int (*s)[N] )。 參數(shù)描述: 行指針,指向存放學(xué)生成績的二維數(shù)組。 ? 函數(shù)功能: 輸出學(xué)生成績信息; 函數(shù)原型: void ScoreOut(int (*s)[N])。 參數(shù)描述: 行指針,指向存放學(xué)生成績的二維數(shù)組。 ? 函數(shù)功能: 成績保存到文件; 函數(shù)原型: void ScoreSave(int classid,int **p,int m,int n)。 參數(shù)描述: classid表示要保存信息的班級編號; p為指針數(shù)組的首地址; m表示班級的學(xué)生人數(shù); n表示班級中每個學(xué)生的課程數(shù)。 ? 函數(shù)功能: 從文件中讀取成績 函數(shù)原型: void ScoreLoad(int classid,int **p,int *m,int *n)。 參數(shù)描述: classid表示要保存信息的班級編號; p為指針數(shù)組的首地址; m指向存放班級學(xué)生人數(shù)的變量; n指向存放課程數(shù)的變量。 C語言程序設(shè)計(jì) 第 6章 指針 ( 4)重要算法確定 ①在數(shù)據(jù)文本文件中保存學(xué)生成績的算法: 生成班級信息文件名: 把班級編號(定義為 int classid。)轉(zhuǎn)化成字符串,再用字符串連接函數(shù)連接文件的擴(kuò)展名。 char classname[30]。 /*定義一維數(shù)組 */ itoa(classid,classname,10)。 /*調(diào)用庫函數(shù)把整數(shù)轉(zhuǎn)變?yōu)樽址?*/ strcat(classname,“.dat”)。 /*連接文件的擴(kuò)展名,生成完整的文件名 */ ② 函數(shù)之間數(shù)據(jù)的傳遞可以通過全局變量和參數(shù)進(jìn)行傳遞,這里我們把所有的變量定義為局部變量,采用第二種方式進(jìn)行傳遞。 ③班級中每個學(xué)生的學(xué)號應(yīng)該惟一。采用遍歷的方法使用第 k個學(xué)號和前面的 k1個學(xué)生的學(xué)號依次進(jìn)行比較。 ④在輸入和輸出模塊中,通過指針數(shù)組 int *p[N]。操作學(xué)生信息數(shù)組。當(dāng)指針數(shù)組的每個元素分別指向二維數(shù)組的每一行后,即可以處理每個學(xué)生信息。 C語言程序設(shè)計(jì) 第 6章 指針 include include /*包含雜項(xiàng)函數(shù)及內(nèi)存分配函數(shù) */ include /*字符串頭文件 */ define M 60 /*每個班最多 60個學(xué)生 */ define N 10 /*函數(shù)聲明 */ void ScoreSave(int classid,int **p,int m,int n)。 void ScoreLoad(int classid,int **p,int *m,int *n)。 void ScoreInput(int (*s)[N])。 void ScoreOut(int (*s)[N])。 /*主控程序:主界面顯示函數(shù) */ C語言程序設(shè)計(jì) 第 6章 指針 void main(void) { int Score_index。 /*存放選擇主選功能編碼 */ int score[M][N]。 /*定義數(shù)組存放一個班的學(xué)生信息 */ do{ system(cls)。 printf(n\n 歡迎使用學(xué)生成績管理子系統(tǒng) !\n\n)。 printf( ================================\n)。 printf(“ || 1: 學(xué)生成績錄入 ||\n)。 printf(“ || 2: 學(xué)生成績輸出 ||\n)。 printf(“ || 3: 退出系統(tǒng) ||\n)。 printf( ================================\n)。 printf( 請你在上述的功能編號中選擇 ......\n)。 scanf(%d,amp。Score_index)。 getchar()。 if(!(Score_index=1amp。amp。Score_index=3)) /*若輸入不是 1~3,表示輸入錯誤 */ { printf(對不起,你選擇的功能模塊號是錯的 !!!\n)。 printf(請按回車鍵在上述的功能編號中重新選擇 ......\n)。 getchar()。 } switch(Score_index) { /*用戶選擇不同的功能,進(jìn)入不同的功能模塊 */ case 1: ScoreInput(score)。 break。 case 2: ScoreOut(score)。 break。 case 3: exit(0)。 } }while(1)。 } C語言程序設(shè)計(jì) 第 6章 指針 /*學(xué)生成績信息錄入模塊 */ void ScoreInput( int (*s)[N] ) /*形參為行指針,指向存放學(xué)生成績的二維數(shù)組 */ { int i, j, k, m, n。 int classid, *p[M]。 for(k=0。kM。k++) p[k]=s[k]。 /*使指針數(shù)組指向二維數(shù)組 */ printf(“\n*************請輸入班級信息 *************:\n)。 printf(\n請輸入你要錄入的班級編號 :)。 scanf(%d,amp。classid)。 getchar()。 printf(\n請輸入本班的人數(shù) (1~%d):,M)。 scanf(%d,amp。m)。 getchar()。 printf(\n輸入本班選修的課程數(shù) (1~%d):,N)。 scanf(%d,amp。n)。 getchar()。 for(k=0。km。k++) { printf(\n請輸入第 %d個學(xué)生的學(xué)號 (整數(shù) ):,k+1)。 scanf(%d,p[k])。 getchar()。 /*p[k]表示每行下標(biāo)為 0的元素的地址 */ /*檢查學(xué)號在班級中是否唯一 */ while(1) { for(i=0。ik。i++) /*檢查輸入的學(xué)號是否唯一 */ if(p[k][0]==p[i][0]) { printf(\n你輸入的學(xué)號已經(jīng)存在 !請重新輸入 :)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1