本文目錄一覽:
- 1、C語言程序畢業設計
- 2、畢業論文用C語言寫管理系統,為界面如何設計煩惱-2013-07-17
- 3、C語言的論文如何寫呀?
- 4、C語言程序設計加註釋完成下列要求
- 5、畢業設計中c程序太多,得全部寫在論文中嗎,還是寫一部分?
- 6、C語言簡單的英文詞典排版系統的實現
C語言程序畢業設計
//實現計算機功能的程序 a program which can work the functions as a computer.
#include stdio.h//頭文件
#include conio.h
void menu();//聲明部分
void add();
void sub();
void mul();
void div();
void remain();
void add_n_to_m();
void factor();
main()
{
int i;
while(1)
{
system(“cls”);//清屏功能
menu();
printf(“choose function:”);
scanf(“%d”,i);
switch(i)
{
case 1:add();getch();break;//調用部分
case 2:sub();getch();break;
case 3:mul();getch();break;
case 4:div();getch();break;
case 5:remain();getch();break;
case 6:add_n_to_m();getch();break;
case 7:factor();getch();break;
case 8: exit(0);break;
}
}
}
//以下是自己定義的函數
void menu()//菜單
{
printf(“+====my counter===+\n”);
printf(“+功能如下: +\n”);
printf(“+ 1.加法 +\n”);
printf(“+ 2.減法 +\n”);
printf(“+ 3.乘法 +\n”);
printf(“+ 4.除法 +\n”);
printf(“+ 5.求余 +\n”);
printf(“+ 6.從n到m的和+\n”);
printf(“+ 7.階乘 +\n”);
printf(“+ 8.退出 +\n”);
printf(“+=================+\n”);
}
void add()//加法運算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf+%lf=%lf\n”,a,b,a+b);
}
void sub()//減法運算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf-%lf=%lf\n”,a,b,a-b);
}
void mul()//乘法運算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf*%lf=%lf\n”,a,b,a*b);
}
void div()//除法運算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
if(b==0)//被除數不能為0
printf(“error\n”);
else
printf(“%lf/%lf=%lf\n”,a,b,a/b);
}
void remain()//求余運算
{
int a,b;
printf(“input two numbers:”);
scanf(“%d%d”,a,b);
if(b==0)//被除數不能為0
printf(“error\n”);
else
printf(“%d%%%d=%d\n”,a,b,a%b);
}
void add_n_to_m()//累加
{
int m,n,i=0,s=0;
printf(“input n and m:”);
scanf(“%d%d”,n,m);
if(nm) printf(“error.\n”);//條件限制
else
{
for(i=n;i=m;i++)
s+=i;
printf(“%d+…+%d=%d\n”,n,m,s);
}
}
void factor()//階乘
{
int n,i,s;
printf(“input a number:”);
scanf(“%d”,n);
if(n=0) printf(“error.\n”);//條件限制
else
{
for(i=1,s=1;i=n;i++)
s*=i;
printf(“%d!=%d\n”,n,s);
}
}
畢業論文用C語言寫管理系統,為界面如何設計煩惱-2013-07-17
只差界面設計。。。
最難的就是界面設計其實,如果你只是了解C語言,那基本上在編程上,可以是相當於小學畢業。
MFC界面設計的層次大概打個比方就是「高中」,現在看MFC,它的難度會遠遠超過你的想像。
速成的話。。。沒有很好的辦法,界面設計在學校里基本上是不可能會教的,因為這些都是商業機密技術,QQ的界面,360的界面,都是專業的UI庫做的,這些庫隨便就是上百萬的授權費。
繼續回答你:
這樣的一個界面上,你看著簡單,但其實用到的控制項很多,按鈕,列表,表格等等,你要想用MFC寫這樣的一個界面,那你幾乎得把MFC全部學完,夜以繼日地看,我個人感覺需要一個月的時間。還有如果你是用MFC的話,那麼你會發現,你寫控制台用的C語言和MFC的C語言,會完全不一樣,微軟封裝了很多的數據結構,甚至連函數調用都封裝了,看起來很頭疼的。
C語言的論文如何寫呀?
論文寫作,先不說內容,首先格式要正確,一篇完整的畢業論文,題目,摘要(中英文),目錄,正文(引言,正文,結語),致謝,參考文獻。學校規定的格式,字體,段落,頁眉頁腳,開始寫之前,都得清楚的,你的論文算是寫好了五分之一。
然後,選題,你的題目時間寬裕,那就好好考慮,選一個你思考最成熟的,可以比較多的閱讀相關的參考文獻,從裡面獲得思路,確定一個模板性質的東西,照著來,寫出自己的東西。如果時間緊急,那就隨便找一個參考文獻,然後用和這個參考文獻相關的文獻,拼出一篇,再改改。
正文,語言必須是學術的語言。一定先列好提綱,這就是框定每一部分些什麼,保證內容不亂,將內容放進去,寫好了就。
參考文獻去中國知網搜索,校園網免費下載。
合適採納
C語言程序設計加註釋完成下列要求
C語言編程規範-注釋
規則:
1:一般情況下,源程序有效注釋量必須在20%以上。
說明:注釋的原則是有助於對程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須準確、易懂、簡潔。
2:說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關係、修改日誌等,頭文件的注釋中還應有函數功能簡要說明。
示例:下面這段頭文件的頭注釋比較標準,當然,並不局限於此格式,但上述信息建議要包含在內。
/*************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
File name: // 文件名
Author:
Version:
Date: // 作者、版本及完成日期
Description: // 用於詳細說明此程序文件完成的主要功能,與其他模塊
// 或函數的介面,輸出值、取值範圍、含義及參數間的控
// 制、順序、獨立或依賴等關係
Others: // 其它內容的說明
Function List: // 主要函數列表,每條記錄應包括函數名及功能簡要說明
1. ….
History: // 修改歷史記錄列表,每條修改記錄應包括修改日期、修改
// 者及修改內容簡述
1. Date:
Author:
Modification:
2. …
*************************************************/
3:源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數及其功能、修改日誌等。
示例:下面這段源文件的頭注釋比較標準,當然,並不局限於此格式,但上述信息建議要包含在內。
/************************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
FileName: test.cpp
Author:
Version :
Date:
Description: // 模塊描述
Version: // 版本信息
Function List: // 主要函數及其功能
1. ——-
History: // 歷史修改記錄
David 96/10/12 1.0 build this moudle
***********************************************************/
說明:Description一項描述本文件的內容、功能、內部各部分之間的關係及本文件與其它文件關係等。History是修改歷史記錄列表,每條修改記錄應包括修改日期、修改者及修改內容簡述。
4:函數頭部應進行注釋,列出:函數的目的/功能、輸入參數、輸出參數、返回值、調用關係(函數、表)等。
示例:下面這段函數的注釋比較標準,當然,並不局限於此格式,但上述信息建議要包含在內。
/*************************************************
Function: // 函數名稱
Description: // 函數功能、性能等的描述
Calls: // 被本函數調用的函數清單
Called By: // 調用本函數的函數清單
Table Accessed: // 被訪問的表(此項僅對於牽扯到資料庫操作的程序)
Table Updated: // 被修改的表(此項僅對於牽扯到資料庫操作的程序)
Input: // 輸入參數說明,包括每個參數的作
// 用、取值說明及參數間關係。
Output: // 對輸出參數的說明。
Return: // 函數返回值的說明
Others: // 其它說明
*************************************************/
5:邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。
6:注釋的內容要清楚、明了,含義準確,防止注釋二義性。
說明:錯誤的注釋不但無益反而有害。
7:避免在注釋中使用縮寫,特別是非常用縮寫。
說明:在使用縮寫時或之前,應對縮寫進行必要的說明。
8:注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放於上方則需與其上面的代碼用空行隔開。
示例:如下例子不符合規範。
例1:
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
例2:
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
應如下書寫
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
9:對於所有有物理含義的變數、常量,如果其命名不是充分自注釋的,在聲明時都必須加以注釋,說明其物理含義。變數、常量、宏的注釋應放在其上方相鄰位置或右方。
示例:
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000
#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10:數據結構聲明(包括數組、結構、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數據結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋放在此域的右方。
示例:可按如下形式說明枚舉/數據/聯合結構。
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user’s unit data transmission request*/
};
11:全局變數要有較詳細的注釋,包括對其功能、取值範圍、哪些函數或過程存取它以及存取時注意事項等的說明。
示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 變數作用、含義
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 變數取值範圍
/* only function SCCPTranslate() in */
/* this modual can modify it, and other */
/* module can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
12:注釋與所描述內容進行同樣的縮排。
說明:可使程序排版整齊,並方便注釋的閱讀與理解。
示例:如下例子,排版不整齊,閱讀稍感不方便。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
應改為如下布局。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
13:將注釋與其上面的代碼用空行隔開。
示例:如下例子,顯得代碼過於緊湊。
/* code one comments */
program code one
/* code two comments */
program code two
應如下書寫
/* code one comments */
program code one
/* code two comments */
program code two
14:對變數的定義和分支語句(條件分支、循環語句等)必須編寫注釋。
說明:這些語句往往是程序實現某一特定功能的關鍵,對於維護人員來說,良好的注釋幫助更好的理解程序,有時甚至優於看設計文檔。
15:對於switch語句下的case語句,如果因為特殊情況需要處理完一個case後進入下一個case處理,必須在該case語句處理完、下一個case語句前加上明確的注釋。
說明:這樣比較清楚程序編寫者的意圖,有效防止無故遺漏break語句。
示例(注意斜體加粗部分):
case CMD_UP:
ProcessUp();
break;
case CMD_DOWN:
ProcessDown();
break;
case CMD_FWD:
ProcessFwd();
if (…)
{
…
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}
case CMD_A:
ProcessA();
break;
case CMD_B:
ProcessB();
break;
case CMD_C:
ProcessC();
break;
case CMD_D:
ProcessD();
break;
…
建議:
1:避免在一行代碼或表達式的中間插入注釋。
說明:除非必要,不應在代碼或表達中間插入注釋,否則容易使代碼可理解性變差。
2:通過對函數或過程、變數、結構等正確的命名以及合理地組織代碼的結構,使代碼成為自注釋的。
說明:清晰準確的函數、變數等的命名,可增加代碼可讀性,並減少不必要的注釋。
3:在代碼的功能、意圖層次上進行注釋,提供有用、額外的信息。
說明:注釋的目的是解釋代碼的目的、功能和採用的方法,提供代碼以外的信息,幫助讀者理解代碼,防止沒必要的重複注釋信息。
示例:如下注釋意義不大。
/* if receive_flag is TRUE */
if (receive_flag)
而如下的注釋則給出了額外有用的信息。
/* if mtp receive a message from links */
if (receive_flag)
4:在程序塊的結束行右方加註釋標記,以表明某程序塊的結束。
說明:當代碼段較長,特別是多重嵌套時,這樣做可以使代碼更清晰,更便於閱讀。
示例:參見如下例子。
if (…)
{
// program code
while (index MAX_INDEX)
{
// program code
} /* end of while (index MAX_INDEX) */ // 指明該條while語句結束
} /* end of if (…)*/ // 指明是哪條if語句結束
5:注釋格式盡量統一,建議使用”/* …… */”。
6:注釋應考慮程序易讀及外觀排版的因素,使用的語言若是中、英兼有的,建議多使用中文,除非能用非常流利準確的英文表達。
說明:注釋語言不統一,影響程序易讀性和外觀排版,出於對維護人員的考慮,建議使用中文。
畢業設計中c程序太多,得全部寫在論文中嗎,還是寫一部分?
不全寫,把主要的功能代碼寫下,以函數的形式寫然後解釋下。最後在附件中把具體代碼實現粘貼上就ok了。
C語言簡單的英文詞典排版系統的實現
#include “stdio.h” #include “stdlib.h” #include “string.h” #include “ctype.h” #define ROWS 256 #define COLS 32 static FILE *fp; static char a[ROWS][COLS]; char get_option(void); int b(int count); void c(char *pt[], int count); int check(char arr[], int count); void storage(char *pt[], int count); int main(void) { int i,count; int start; char *pt[ROWS]; char ch, len; char input; if((fp=fopen(“words.txt”,”a+”))==NULL) { fputs(“不能打開或建立文件!\n”,stderr); exit(1); } fseek(fp,0L,SEEK_END); start=(int)ftell(fp)/32; count=start; rewind(fp); if(fread(a,32*sizeof(char),start,fp)==0) { i=0; puts(“請輸入單詞(每行一個),在新行輸入END結束輸入:”); while(iROWSscanf(“%s”, a[i])==1) { fflush(stdin); if(strncmp(a[i],”END”,3)==0) { count+=i; break; } if(check(a[i], i)) continue; i++; } } puts(“您要做些什麼?”); puts(“a. 顯示已有的單詞 b. 添加新單詞”); puts(“c. 對已有的單詞進行排序 d. 退出”); while((input=get_option())!=’d’) { if(input==’a’) { puts(“已有的單詞:”); for(i=0;icount;i++) { printf(” “); puts(a[i]); } } if(input==’b’) { puts(“請輸入新的單詞(每行一個),在新行輸入END結束輸入: “); count=b(count); } if(input==’c’) { puts(“對單詞進行排序:”); c(pt, count); for(i=0;icount;i++) { printf(” “); puts(pt[i]); } } puts(“還要做些什麼?”); } storage(pt,count); fclose(fp); puts(“再見!”); return 0; } char get_option(void) { char ch; while((ch=getchar())’a’||ch’d’) { while((ch=getchar())!=’\n’) ; puts(“請輸入a,b,c或者d.”); } fflush(stdin); return ch; } int b(int count) { int i; i=count; while(iROWSscanf(“%s”, a[i])==1) { fflush(stdin); if(check(a[i], i)) continue; if(strncmp(a[i],”END”,3)==0) { count=i; break; } i++; } return count; } void c(char *pt[], int count) { int i,j; char *temp; for(i=0;iROWS;i++) pt[i]=a[i]; for(i=0;icount;i++) for(j=i+1;jcount;j++) { if(strcmp(pt[i],pt[j])0) { temp=pt[i]; pt[i]=pt[j]; pt[j]=temp; } } } int check(char arr[], int count) { int i; int flag=0; for(i=0;istrlen(arr);i++) if(isalpha(arr[i])==0) { printf(“%s不是一個單詞.\n”,arr); flag=1; break; } for(i=0;icount;i++) if(strncmp(a[i],a[count],strlen(a[count])+1)==0) { puts(“重複的單詞!”); flag=1; } return flag; } void storage(char *pt[], int count) { int i,j; char ptr[ROWS][COLS]; c(pt, count); for(i=0;icount;i++) for(j=0;pt[i][j]!=’\0′;j++) ptr[i][j]=pt[i][j]; fp=fopen(“words.txt”,”w+”); rewind(fp); fwrite(ptr,32*sizeof(char),count,fp); }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259328.html