当前位置:首页 » 课题答辩 » 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