當前位置:首頁 » 課題答辯 » c程序課題

c程序課題

發布時間: 2021-02-28 17:04:42

① C語言課程設計課題求編程

#include<stdio.h>
void main()
{
float score[10],ave=0,max=0;
int i;
for(i=0;i<10;i++)
{
scanf("%f",&score[i]);
if(score[i]>max) max=score[i];
ave=ave+score[i];
}
ave=ave/10;
printf("average=%f max=%f\n",ave,max);
}

② C語言課題設計求編程

/*
*函數介紹:獲得演示程序設置
*輸入參數:hBoard採集卡句柄
*輸出參數:無
*返回值:正確返回TRUE
* 錯誤返回FALSE
*/
shortCOkMfcView::exGetInitSet(HWNDhWnd)
{
m_Centerscreen=GetPrivateProfileInt("Init","Centerize",1,"OkDemo.ini");
bMatchClient=GetPrivateProfileInt("Init","MatchClient",0,"OkDemo.ini");
if(bMatchClient)
m_MatchClient=TRUE;
else
m_MatchClient=FALSE;
iClientWidth=GetPrivateProfileInt("Init","ClientWidth",0,"OkDemo.ini");
iClientHeight=GetPrivateProfileInt("Init","ClientHeight",0,"OkDemo.ini");
return1;
}
/*
*函數介紹:演示如何保存程序設置
*輸入參數:無
*輸出參數:無
*返回值:1
*/
shortCOkMfcView::exSaveInitSet(void)
{
char string[20];
sprintf(string,"%d",m_Centerscreen);
WritePrivateProfileString("Init","Centerize",string,"OkDemo.ini");
if(m_MatchClient)
sprintf(string,"%d",1);
else
sprintf(string,"%d",0);
WritePrivateProfileString("Init","MatchClient",string,"OkDemo.ini");
sprintf(string,"%d",bMakeMirror);
WritePrivateProfileString("Init","MakeMirror",string,"OkDemo.ini");
sprintf(string,"%d",iClientWidth);
WritePrivateProfileString("Init","ClientWidth",string,"OkDemo.ini");
sprintf(string,"%d",iClientHeight);
WritePrivateProfileString("Init","ClientHeight",string,"OkDemo.ini");
return1;
}
/*
*函數介紹:設置顯示圖像位置
*輸入參數:hBoard採集卡句柄
* hWnd應用程序句柄
* lMode顯示方式0-左上角1-中心
*輸出參數:無
*返回值:顯示圖像相對位置
*/
//--.mode=0:left-top,1:centerize
longCOkMfcView::exSetToWndRectEx(HANDLEhBoard,HWNDhWnd,longlMode)
{
long lSize;
RECT rect;
if(!IsWindow(hWnd))returnFALSE;
if(IsIconic())returnFALSE;
//getclientrect
GetClientRect(&rect);
okSetToWndRect(hBoard,hWnd);
if(lMode==1)//settocenter
{
short width,height;
//getavailablerectsize
//lSize=okSetVideoParam(hBoard,VIDEO_AVAILRECTSIZE,-1);
//orsettoexpectedsize
//sampwidth=LOWORD(lSize);
//sampheight=HIWORD(lSize);
if(okGetCaptureStatus(hBoard,0))//capturing
{
width=sampwidth;
height=sampheight;
}
else//frozenstatus
{
width=(short)lpbi->biWidth;
height=(short)lpbi->biHeight;
}
if(rect.right>width)
rect.left=(rect.right-width)/2;//&(~0x3);
if((rect.bottom)>height)
rect.top=(rect.bottom-height)/2;
}
//makeoffsetx,y
lSize=MAKELONG(rect.left,rect.top);
rect.right=rect.left+min(sampwidth,rect.right);
rect.bottom=rect.top+min(sampheight,rect.bottom);
//maptoabsolutescreenrect
//::MapWindowPoints(hWnd,HWND_DESKTOP,(LPPOINT)&rect,2);
MapWindowPoints((CWnd*)HWND_DESKTOP,(LPPOINT)&rect,2);
if(m_MatchClient==0)//neednottomatchclientrect
okSetTargetRect(hBoard,SCREEN,&rect);
returnlSize;
}

③ C語言程序設計 課題修改

/*
學生成績管理系統 by 煜
*/

#include <stdio.h>
#define SWN 3 /* 課程數 */
#define NAMELEN 20 /* 姓名最大字元數 */
#define CODELEN 10 /* 學號最大字元數 */
#define FNAMELEN 80 /* 文件名最大字元數 */
#define BUFLEN 80 /* 緩沖區最大字元數 */
/* 課程名稱表 */
char schoolwork[SWN][NAMELEN+1] = {"Chinese","Mathematic","English"};
struct record
{
char name[NAMELEN+1]; /* 姓名 */
char code[CODELEN+1]; /* 學號 */
int marks[SWN]; /* 各課程成績 */
int total; /* 總分 */
}stu;

struct node
{
char name[NAMELEN+1]; /* 姓名 */
char code[CODELEN+1]; /* 學號 */
int marks[SWN]; /* 各課程成績 */
int total; /* 總分 */
struct node *next; /* 後續表元指針 */
}*head; /* 鏈表首指針 */

int total[SWN]; /* 各課程總分 */
FILE *stfpt; /* 文件指針 */
char stuf[FNAMELEN]; /* 文件名 */

/* 從指定文件讀入一個記錄 */
int readrecord(FILE *fpt,struct record *rpt)
{
char buf[BUFLEN];
int i;
if(fscanf(fpt,"%s",buf)!=1)
return 0; /* 文件結束 */
strncpy(rpt->name,buf,NAMELEN);
fscanf(fpt,"%s",buf);
strncpy(rpt->code,buf,CODELEN);
for(i=0;i<SWN;i++)
fscanf(fpt,"%d",&rpt->marks[i]);
for(rpt->total=0,i=0;i<SWN;i++)
rpt->total+=rpt->marks[i];
return 1;
}
/* 對指定文件寫入一個記錄 */
writerecord(FILE *fpt,struct record *rpt)
{
int i;
fprintf(fpt,"%s\n",rpt->name);
fprintf(fpt,"%s\n",rpt->code);
for(i=0;i<SWN;i++)
fprintf(fpt,"%d\n",rpt->marks[i]);
return ;
}

/* 顯示學生記錄 */
displaystu(struct record *rpt)
{
int i;
printf("\nName : %s\n",rpt->name);
printf("Code : %s\n",rpt->code);
printf("Marks :\n");
for(i=0;i<SWN;i++)
printf(" %-15s : %4d\n",schoolwork[i],rpt->marks[i]);
printf("Total : %4d\n",rpt->total);
}

/* 計算各單科總分 */
int totalmark(char *fname)
{
FILE *fp;
struct record s;
int count,i;
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
return 0;
}
for(i=0;i<SWN;i++)
total[i]=0;
count=0;
while(readrecord(fp,&s)!=0)
{
for(i=0;i<SWN;i++)
total[i]+=s.marks[i];
count++;
}
fclose(fp);
return count; /* 返回記錄數 */
}

/* 列表顯示學生信息 */
void liststu(char *fname)
{
FILE *fp;
struct record s;
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
return ;
}
while(readrecord(fp,&s)!=0)
{
displaystu(&s);
printf("\n Press ENTER to continue...\n");
while(getchar()!='\n');
}
fclose(fp);
return;
}

/* 構造鏈表 */
struct node *makelist(char *fname)
{
FILE *fp;
struct record s;
struct node *p,*u,*v,*h;
int i;
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
return NULL;
}
h=NULL;
p=(struct node *)malloc(sizeof(struct node));
while(readrecord(fp,(struct record *)p)!=0)
{
v=h;
while(v&&p->total<=v->total)
{
u=v;
v=v->next;
}
if(v==h)
h=p;
else
u->next=p;
p->next=v;
p=(struct node *)malloc(sizeof(struct node));
}
free(p);
fclose(fp);
return h;
}

/* 順序顯示鏈表各表元 */
void displaylist(struct node *h)
{
while(h!=NULL)
{
displaystu((struct record *)h);
printf("\n Press ENTER to continue...\n");
while(getchar()!='\n');
h=h->next;
}
return;
}
/* 按學生姓名查找學生記錄 */
int retrievebyn(char *fname, char *key)
{
FILE *fp;
int c;
struct record s;
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
return 0;
}
c=0;
while(readrecord(fp,&s)!=0)
{
if(strcmp(s.name,key)==0)
{
displaystu(&s);
c++;
}
}
fclose(fp);
if(c==0)
printf("The student %s is not in the file %s.\n",key,fname);
return 1;
}

/* 按學生學號查找學生記錄 */
int retrievebyc(char *fname, char *key)
{
FILE *fp;
int c;
struct record s;
if((fp=fopen(fname,"r"))==NULL)
{
printf("Can't open file %s.\n",fname);
return 0;
}
c=0;
while(readrecord(fp,&s)!=0)
{
if(strcmp(s.code,key)==0)
{
displaystu(&s);
c++;
break;
}
}
fclose(fp);
if(c==0)
printf("The student %s is not in the file %s.\n",key,fname);
return 1;
}

main()
{
int i,j,n;
char c;
char buf[BUFLEN];
FILE *fp;
struct record s;
clrscr();
printf("Please input the students marks record file's name: ");
scanf("%s",stuf);
if((fp=fopen(stuf,"r"))==NULL)
{
printf("The file %s doesn't exit, do you want to creat it? (Y/N) ",stuf);
getchar();
c=getchar();
if(c=='Y'||c=='y')
{
fp=fopen(stuf,"w");
printf("Please input the record number you want to write to the file: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Input the student's name: ");
scanf("%s",&s.name);
printf("Input the student's code: ");
scanf("%s",&s.code);
for(j=0;j<SWN;j++)
{
printf("Input the %s mark: ",schoolwork[j]);
scanf("%d",&s.marks[j]);
}
writerecord(fp,&s);
}
fclose(fp);
}
}
fclose(fp);
getchar();
/*clrscr();*/
puts("Now you can input a command to manage the records.");
puts("m : mean of the marks.");
puts("t : total of the marks.");
puts("n : search record by student's name.");
puts("c : search record by student's code.");
puts("l : list all the records.");
puts("s : sort and list the records by the total.");
puts("q : quit!");
while(1)
{
puts("Please input command:");
scanf(" %c",&c); /* 輸入選擇命令 */
if(c=='q'||c=='Q')
{
puts("\n Thank you for your using.");
break; /* q,結束程序運行 */
}
switch(c)
{
case 'm': /* 計算平均分 */
case 'M':
if((n=totalmark(stuf))==0)
{
puts("Error!");
break;
}
printf("\n");
for(i=0;i<SWN;i++)
printf("%-15s's average is: %.2f.\n",schoolwork[i],(float)total[i]/n);
break;
case 't': /* 計算總分 */
case 'T':
if((n=totalmark(stuf))==0)
{
puts("Error!");
break;
}
printf("\n");
for(i=0;i<SWN;i++)
printf("%-15s's total mark is: %d.\n",schoolwork[i],total[i]);
break;
case 'n': /* 按學生的姓名尋找記錄 */
case 'N':
printf("Please input the student's name you want to search: ");
scanf("%s",buf);
retrievebyn(stuf,buf);
break;
case 'c': /* 按學生的學號尋找記錄 */
case 'C':
printf("Please input the student's code you want to search: ");
scanf("%s",buf);
retrievebyc(stuf,buf);
break;
case 'l': /* 列出所有學生記錄 */
case 'L':
liststu(stuf);
break;
case 's': /* 按總分從高到低排列顯示 */
case 'S':
if((head=makelist(stuf))!=NULL)
displaylist(head);
break;
default: break;
}
}
}

④ 大一最適合做的c語言程序設計課題是什麼

呀,我當年做的也是圖書館管理系統……剛剛開始學計算機嗎?讀寫文件學了專嗎?要是學過讀寫屬那300行左右沒問題。剛剛開始什麼都沒學的時候做這個不錯,記得以前我做的時候沒有後台資料庫,現在都想不起來當時是怎麼做出來的了。只記得用了一天時間做了幾個一點技術含量都沒有的界面(用一天的時間調星號做的框。。。。。)……好懷念啊。。跑題了。。。
如果課程設計的話,一般學校是應該給你們題目的啊。如果就你自己做的話,把譚浩強的書拿出來,160多頁(好像是167,有幾年沒看過那本書了,忘記了,以前哪頁幾個字都好背下來了)。裡面有一個漢諾塔的例子,抄上去,100-200行ok了。很經典,那個程序我那時候看了1天才看懂。遞歸實在是鬧心。

⑤ C語言 設計課題

郵箱給我,我傳給你,是我自己寫的,前兩天剛復核過!

⑥ c語言選題

答案為D

這個題就按照來程序思源路去思考,一步一步計算一下值才行了:

首先,對n進行初始化,明確至少索引為0、1、2的變數也就是n[0]、n[1]、n[2]都是0,k設定為2,

接著,進入循環:

i=0時:0<2,所以可以執行,n[0]賦值為n[0]+1=0+1=1,i自增1

i=1時:1<2,所以可以執行,n[1]賦值為n[1]+1=0+1=1,i自增1

i=2時,2≮2,循環條件不成立,所以循環終止,不會進入循環內,也就意味著n[2]還是0

此時列印n[2]的值,那隻能是0.


實際運行也是這個結果

⑦ C語言編程,課題:分式累和

#include<stdio.h>
void main()
{
double s=0;
int n,i;
scanf("%d",&n);
if(n%2==0)
i=2;
else
i=1;
for(;i<=n;i+=2)
s+=1.0/i;
printf("s=%f\n",s);
}

⑧ c語言課題

main()
{
int x=12,m=32,i=0
do
{
i++;
x+=i;
m+=i;
} while (m==2*x);
printf(i,"年後小明母親比小明年齡大一倍,此時兩人年版齡分別為權",x,m)
}

⑨ 有什麼c語言程序設計的課題 大約能夠編到500行

在網路吧里其實已經有解答了,可以參考下:
(C語言編寫)
這個也行
include <stdio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
#define N 100
struct employee
{
int num;
char name[10];
char cheng;
int jiben;
int jiangjin;
int baoxian;
int zafei;
int shiji;
}em[100]; /*定義一個結構體*/

void menu();
void input();
void save(int);
void display();
void del();
void search();
void search_cheng();
void search_name();
void modify(); /*定義各函數*/
void menu() /*菜單函數*/
{
printf("\n");
printf(" 網計091 第7小組\n");
printf("\n");
printf(" ******************職工信息管理****************\n");
printf(" 1.錄入職工信息");
printf(" 2.瀏覽職工信息\n");
printf(" 3.查詢職工信息");
printf(" 4.刪除職工信息\n");
printf(" 5.修改職工信息\n");
printf(" 6.退出\n");
printf(" ********************謝謝使用******************\n");
printf("\n");
printf("\n");

}

void main()
{

int n,flag;
char a;
while(1)
{
do
{
menu(); /*調用菜單函數*/
printf("請選擇你需要操作的步驟(1--6):\n");
scanf("%d",&n);
if(n>=1&&n<=6)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}while(flag==0);

switch(n)
{
case 1:printf(" 輸入職工信息\n");printf("\n");input();break;
case 2:printf(" 瀏覽職工信息\n");printf("\n");system("cls");display();break;
case 3:printf(" 按職工號查詢職工信息\n");printf("\n");system("cls");search();break;
case 4:printf(" 刪除職工信息\n");printf("\n");system("cls");del();break;
case 5:printf(" 修改職工信息\n");printf("\n");system("cls");modify();break;
case 6:goto la;
default :break;
}

}
la:
system("cls");
printf("\n\n\n\n\n 謝謝使用!\n");
}

void input() /*錄入函數*/
{
int i,m;
printf("請輸入需要創建信息的職工人數(1--100):\n");
scanf("%d",&m);
for (i=0;i<m;i++)
{
printf("請輸入職工號: ");
scanf("%d",&em[i].num); //這里的代碼錯,要用數組下標
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);//這里的代碼錯,要用數組下標
getchar();
printf("請輸入職稱: ");
scanf("%c",&em[i].cheng);//這里的代碼錯,要用數組下標
printf("請輸入基本工資: ");
scanf("%d",&em[i].jiben);//這里的代碼錯,要用數組下標
printf("請輸入獎金: ");
scanf("%d",&em[i].jiangjin);//這里的代碼錯,要用數組下標
printf("請輸入保險: ");
scanf("%d",&em[i].baoxian);//這里的代碼錯,要用數組下標
printf("請輸入雜費: ");
scanf("%d",&em[i].zafei);//這里的代碼錯,要用數組下標

em[i].shiji=em[i].jiben + em[i].jiangjin - em[i].baoxian - em[i].zafei;//這里的代碼錯,要用數組下標
printf("\n");

}
printf("\n創建完畢!\n");system("cls");
save(m);
}

void save(int m) /*保存文件函數*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) /*創建文件並判斷是否能打開*/
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i<m;i++) /*將內存中職工的信息輸出到磁碟文件中去*/
if (fwrite(&em,sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

int load() /*導入函數*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em,sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}

void display() /*瀏覽函數*/
{
int i;
int m=load();
printf("\n職工號\t姓名\t職稱\t基本工資\t獎金\t保險\t雜費\t實際工資 \n");
for(i=0;i<m;i++) /*m為輸入部分的職工人數*/
printf("\n %d\t %s\t %c\t %d\t %d\t %d\t %d\t %d\n",em[i].num,em[i].name,em[i].cheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji); //這里的代碼錯,要用數組下標

printf("按任意鍵繼續\n");
getchar();getchar();system("cls");
}

void del() /*刪除函數*/
{

int m=load();
int i,j,n,t,flag;
char name1[10];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name1);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name1)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t職稱\t基本工資\t獎金\t保險\t雜費\t實際工資 \n");
printf("\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n",em[i].num,em[i].name,em[i].cheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
printf("\n確實要刪除此人信息請按1,不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j<m-1;j++)
{
em[j]=em[j+1];

}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除後的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續刪除請按1,不再刪除請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}system("cls");
}

void search()/*查詢函數*/
{
int t,flag;
do
{
printf("\n按姓名查詢請按1 ; 按職稱查詢請按2 ; 進入主函數按3\n");
scanf("%d",&t);
if(t>=1&&t<=3)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}while(flag==0);system("cls");
while(flag==1)
{
switch(t)
{
case 1:printf("按姓名查詢\n");search_name();break;
case 2:printf("按職稱查詢\n");search_cheng();break;
case 3:main();break;
default:break;
}
system("cls");
}
}
void search_name()
{
char name1[10];
int i,t;
int m=load();
printf("請輸入要查找的姓名:\n");
scanf("%s",name1);
for(i=0;i<m;i++)
if(strcmp(name1,em[i].name)==0)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t職稱\t基本工資\t獎金\t保險\t雜費\t實際工資 \n");
printf("\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n",em[i].num,em[i].name,em[i].cheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢職工號請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2: break;
default:break;
}
}

void search_cheng()
{
char cheng;
int i,t=0;
int m=load();
system("cls");
printf("請輸入要查找的職稱:\n");
scanf("%c",&cheng); //這里要用地址
for(i=0;i<m;i++)
if(em[i].cheng==cheng)
{
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t職稱\t基本工資\t獎金\t保險\t雜費\t實際工資 \n");
printf("\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n",em[i].num,em[i].name,em[i].cheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);

}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢學歷請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:system("cls");search();break;
case 2:break;
default :break;
}
}

void modify() /*修改函數*/
{
int num;
char name[10];
char cheng;
int jiben;
int jiangjin;
int baoxian;
int zafei;
int shiji;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t職稱\t基本\t獎金\t保險\t雜費\t實際工資 \n");
printf("\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n",em[i].num,em[i].name,em[i].cheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2.姓名 3.職稱 4.基本工資 5.獎金 6.保險 7.雜費 8.實際工資\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c<1)
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}

}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i個職工時,for語句後i自加了1,所以下面的應該把改後的
信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
break;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
break;
case 3:printf("職稱改為: ");
getchar();
scanf("%c",&cheng);
em[i-1].cheng=cheng;
break;
case 4:printf("基本工資改為: ");
scanf("%d",&jiben);
em[i-1].jiben=jiben;
break;
case 5:printf("獎金改為: ");
scanf("%d",&jiangjin); //這里要用地址
em[i-1].jiangjin=jiangjin;
break;
case 6:printf("保險改為: ");
scanf("%d",&baoxian);//這里要用地址
break;
case 7:printf("雜費改為: ");
scanf("%d",&zafei);//這里要用地址
em[i-1].zafei=zafei;
break;
case 8:printf("實際工資改為: ");
scanf("%d",&shiji);
em[i-1].shiji=shiji;
break;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不,重新修改 請按2: \n");
scanf("%d",&b);

}
while(b==2);
printf("\n瀏覽修改後的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}system("cls");

}

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

⑩ 誰能給個C程序課程設計的課題

//用C實現四則運算程序
//訓練知識點
//C的數據類型
//C函數和指針
//C語句控制
//C程序一次完整體驗
//Test Data
//enter an expesstion: 32+(25/5)-2+100-(2*3)#,
//=-127
//filename express.c
#define Stack_Size 20

#include "stdio.h"

typedef struct node

{ char data[Stack_Size];

int top;

}Stack;

void InitStack(Stack *s)

{s->top=-1;}

void Push(Stack *s,char ch)

{if (s->top==Stack_Size-1)

printf("\n error!,the stack is full.");

else

{s->top++;s->data[s->top]=ch;}

}

void Pop(Stack *s,char *ch)

{

if (s->top==-1)

printf("\n The stack is empty!");

else

{*ch=s->data[s->top];s->top--; }

}

char GetTop(Stack *s)

{

char ch;

if(s->top==-1)

printf("\n The stack is empty!");

else

ch=s->data[s->top];

return(ch);

}

char Compare(char a,char b)

{

switch (a)

{

case '*':

case '/':

if(b=='(')

return('<');

else

return('>');

case '-':

case '+':

if(b=='+'||b=='-'|| b==')'|| b=='#')

return('>');

else return('<');

case '(':

if(b==')')

return('=');

else return('<');

case ')': return('>');

case '#':

if(b=='#') return('=');

else return('<');

} /*end switch*/

}

int cute(int num1,char op,int num2) /*進行單個算術運算*/

{

int Rusult;

switch(op) {

case '+': Rusult=num1+num2; break;

case '-': Rusult=num1-num2; break;

case '*': Rusult=num1*num2; break;

case '/': {

if(num2==0)

printf("\nError!\n");

else

Rusult=num1/num2;

}

break;

}

return(Rusult);

}

int ExpEvaluation(Stack *operand,Stack *operator)

{

char ch,op,x;

char a,b,v;

InitStack(operand);

InitStack(operator);

Push(operator,'#');

printf("\nEnter an expression[Ending with #]:");

ch=getchar();

while(ch!='#'||GetTop(operator)!='#')

{

if(ch>='0')

{

int temp;

temp=ch-'0';

ch=getchar();

while(ch>='0')

{temp=temp*10+ch-'0';

ch=getchar();}

Push(operand,temp); }

else

switch(Compare(GetTop(operator),ch))

{case '<':

Push(operator,ch);

ch=getchar();

break;

case '=':

Pop(operator,&x);

ch=getchar();

break;

case '>':

Pop(operator,&op);

Pop(operand,&b);

Pop(operand,&a);

v=cute(a,op,b);

Push(operand,v);

break;

}

}

v=GetTop(operand);

return(v);

}

main()

{

int jieguo;

Stack operand,operator;

jieguo=ExpEvaluation(&operand,&operator);

printf("= %d \n",jieguo);

}

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731