成都网站建设设计

将想法与焦点和您一起共享

C语言函数四个函数,c语言函数的四要素

用c语言写一个简单的菜单程序,一个主函数至少四个子函数急求!!就像这样的。

分析:问题库(QAS)用外部的配置文件保存,每次运行前先载入库中已经建立的问题。然后再进入操作选择。完整代码如下:/*1.暂时不考虑汉字;2.可以用链表优化;3.将每一种操作封装成一个函数;*/#include#include#include#include////////////////////////////////////////////////////////////////////////////字符串最大长度#defineMAX_STR_LEN2048//题库上限#defineMAX_QAS_LEN1024//配置文件路径#defineQAS_FILE_PATH"d:\\qasconfig.txt"////////////////////////////////////////////////////////////////////////////问题结点typedefstructtagQASNode{charQuestion[MAX_STR_LEN];charAnswer[MAX_STR_LEN];doubleScore;boolIsAnswered;}QASNode;//问题库QASNode*g_QASLib[MAX_QAS_LEN];intg_QASIndex=0;////////////////////////////////////////////////////////////////////////////添加boolInsertToLib(char*pQuestion,char*pAnswer,doublescore){if(pQuestion==NULL||strcmp(pQuestion,"")==0||pAnswer==NULL)returnfalse;QASNode*pNewNode=(QASNode*)malloc(sizeof(QASNode));memset(pNewNode,0L,sizeof(QASNode));strcpy_s(pNewNode-Question,pQuestion);strcpy_s(pNewNode-Answer,pAnswer);pNewNode-Score=score;g_QASLib[g_QASIndex++]=pNewNode;returntrue;}//随机一个不重复的序号intGetQuestionIndex(){intretVal=-1;inttryCnt=0;while(tryCnt++IsAnswered){retVal=randVal;break;}}returnretVal;}//////////////////////////////////////////////////////////////////////////intmain(){//打开配置文件FILE*pStream=NULL;if(fopen_s(pStream,QAS_FILE_PATH,"a+")!=0){printf_s("Opentheconfigfilefailed.\n");return-1;}//加载已有的QASfseek(pStream,0L,SEEK_END);intfileSize=ftell(pStream);fseek(pStream,0L,SEEK_SET);while(!feof(pStream)fileSize){if(g_QASIndexQuestion);printf_s("Inputanswer:");chartempA[MAX_STR_LEN]={0};fflush(stdin);gets_s(tempA,MAX_STR_LEN);if(strcmp(tempA,g_QASLib[currentIndex]-Answer)==0){printf("Right!\n");totalSocore+=g_QASLib[currentIndex]-Score;g_QASLib[currentIndex]-IsAnswered=true;}else{printf("Wrong!\n");}}else{printf("你已经答对了所有的问题!\n");}}break;case2:{if(currentIndex!=-1){printf("Quest:%s\nScore=%.2f\n",g_QASLib[currentIndex]-Question,g_QASLib[currentIndex]-Score);}else{printf("请先选择\"回答问题\"!\n");}}break;case3:{//一次只添加一个问题if(g_QASIndexQuestion,g_QASLib[i]-Answer,g_QASLib[i]-Score);}}break;default:break;}}printf("\n");return0;}运行起来后先建立问题库!

成都创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为和县企业提供专业的成都网站建设、网站制作和县网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

用c语言制作一个简单的菜单程序,一个主函数四个子函数

给你一个简单的菜单程序吧。其中的子函数,填充成楼主所需即可。

#include

/*子函数1*/

fun1() {

printf ("子函数1\n");

}

/*子函数2*/

fun2() {

printf ("子函数2\n");

}

/*子函数3*/

fun3() {

printf ("子函数3\n");

}

/*子函数4*/

fun4() {

printf ("子函数4\n");

}

int main(void) {

int key; /*命令编号*/

do {

system("cls"); /*清屏*/

/*打印菜单*/

printf ("======================================================\n");

printf (" #\t功能详情\n");

printf ("------------------------------------------------------\n");

printf (" 1\t功能1\n");

printf (" 2\t功能2\n");

printf (" 3\t功能3\n");

printf (" 4\t功能4\n");

printf (" 5\t退出\n");

printf ("======================================================\n");

printf ("\n");

printf("请输入命令编号以开启操作:");

/*输入命令编号*/

scanf("%d",key);

printf ("\n");

/*switch函数实现输入功能序号执行相应函数*/

switch (key) {

case 1: fun1(); break; /*子函数1*/

case 2: fun2(); break; /*子函数2*/

case 3: fun3(); break; /*子函数3*/

case 4: fun4(); break; /*子函数4*/

case 5: printf("程序结束!按任意键退出...\n\n"); break;

default:printf("输入错误,请重新输入!\n\n"); break;

}

/*屏幕暂留*/

if (key!=5) {

printf ("\n");

printf("按Enter键继续...\n");

printf ("\n");

fflush(stdin);

getch ();

}

} while (key!=5);

/*屏幕暂留*/

fflush(stdin);

getch ();

return 0;

}运行结果

用C语言编写几个子函数(至少四个子函数),用主函数来调用实现其功能,并对函数进行注释?

一、//调用函数事例

#includestdio.h

#includestring.h

二、//计算加法函数

int add(int a, int b)

{

return a+b;

}

三、//计算减法函数

int subtract(int a, int b)

{

return a-b;

}

四、//计算乘法函数

int multiply(int a, int b)

{

return a*b;

}

扩展资料:

函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。

参考资料来源:百度百科-函数调用

在C语言中函数包括哪些部分?

包括返回值,函数名,形参列表和函数体四个部分。

例如 :

int findmin(int a[],int n){

//函数体

return min;

}

以上函数int 是返回值,findmin是函数名, int a[] int n是形参列表

C语言中的标准函数有哪些

C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:

scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)

getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.

int putc(int ch,FILE *fp)

putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.

int getchar(void)

getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.

int putchar(int ch)

putchar(ch)主要是把字符ch写到标准流stdout中去.

char * gets(char *str)

gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.

int puts(char *str)

puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.

char *fgets(char *str, int num, FILE *fp)

str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.

int fputs(char *str, file *fp)

fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.

int fgetc(FILE *fp)

fgetc从fp的当前位置读取一个字符.

int fputc(int ch, file *fp)

fputc是将ch写入fp当前指定位置.

int fscanf(FILE *fp, char *format, 输入列表)

fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.

int fprintf(FILE *fp, char *format, 输出列表)

fprintf将格式化数据写入流式文件中.

数据块读写函数

fread (buffer,size,count,fp);

fwrite(buffer,size,count,fp);

参数说明:

buffer:是一个指针。

对fread 来说,它是读入数据的存放地址。

对fwrite来说,是要输出数据的地址(均指起始地址)。

size: 要读写的字节数。

count: 要进行读写多少个size字节的数据项。

fp: 文件型指针。


分享题目:C语言函数四个函数,c语言函数的四要素
本文路径:http://chengdu.cdxwcx.cn/article/hdidpp.html