我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言函数写卡拉OK c语言的函数怎么写

C语言函数的编写和调用

在show函数中你只是判断了数组元素的大小,根本没有对数组进行操作,所以数组中的元素并没有改变,估计是你写程序时写漏了点东西~~

十余年的揭阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整揭阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“揭阳网站设计”,“揭阳网站推广”以来,每个客户项目都认真落实执行。

imax=i;

imax=0;

这里的imax=0; 对函数来说是毫无用处的,估计你写漏了~~应该是x[imax]=0才对~

PS: int b 也是没有什么用处的。

即:

#include "stdio.h"

int show (int x[] ,int n)

{

int i,imax;

imax=0;

for (i=1;i=n-1;i++)

if (x[i]x[imax])

imax=i;

x[imax]=0;

return 0;

}

用C语言怎么写才能只执行一次指令

要只执行一次的话,就不要通过set_task函数执行autoRun()函数,直接在那调用autoRun()函数。如下:

set_task(60.0,"autoRun",_,_,_,"b")

换成

autoRun();

不知这样是否能满足你的要求。

另外我有个问题想请教下:

貌似set_task这个函数只要知道函数名字符串(如:"autoRun"),就能调用函数autoRun()了。

如果那个字符串"autoRun"真是代表要调用的函数名的话,不知在set_task函数中是如何实现通过函数名字符串调用函数的。

请问C语言中clock()函数该怎么用?

clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。

它的具体功能是返回处理器调用某个进程或函数所花费的时间。函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,其中clock_t是用来保存时间的数据类型。

在time.h文件中,我们可以找到对它的定义:

#ifndef _CLOCK_T_DEFINED

typedef long clock_t;

#define _CLOCK_T_DEFINED

#endif

clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者 CLK_TCK CLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000,这表示硬件滴答1000下是1秒,因此要计算一个进程的时间,用clock()除以1000即可。

clock的返回值一直是0的原因:

1、编译器优化,for循环实际根本没执行,直接跳过去了,所以时间为0。

2、clock计算的是程序占用cpu的时间,如果你的程序执行的动作很少,那么clock算出的时间也很少。

3、建议使用time gettimeofday函数来计时。

扩展资料:

C语言中clock()函数的程序例1:(TC下运行通过)

#include stdio.h

#include time.h

int main(void)

{

clock_t start, end;

start = clock();

delay(2000);

end = clock();

printf("The time was: %f\n", (double)(end - start) / CLK_TCK);

return 0;

}

说明:CLK_TCK 定义在TC中的time.h中:#define CLK_TCK18.2。

在VC6.0中也有关于CLK_TCK的宏定义,不过其值不再是18.2,而是1000。

实际上在VC6.0中CLK_TCK已完全等同CLOCKS_PER_SEC。

参考资料来源:百度百科-clock()

用C语言实现ktv卡拉ok点歌系统

你的那登陆怎么不用任何输入,也能登陆!!!

*************************完成第三部分*****************************

************人员管理是不是人员的增加也删除等操作******************

有关说明:

1.首次运行时,由于没有建立用户信息数据文件,系统会自动创建,会出现登陆面致慢的现象!

2.2和3权限的人,可以进入修改用户信息,但只能修改自己的密码,不能进行其他任何操作,如:不能修改权限.

3.其他的自己运行就知道了!!!!!!!!!!!!!!!!!!

#include stdio.h

#include stdlib.h

#include conio.h

#include string.h

#include time.h

#include ctype.h

#include string.h

#include windows.h

//结构3:用户档案

struct user{

int p_id;//人员序号

char usr[20];//用户名

char psd[10];//密码

int level;//权限级别(1-全部权限2-只能新增和查询3-只能查询)

}us[10]={{1,"admin","admin",1},{2,"kinglin","kinglin",2}},Online_User={0,"","",3};

//Oneline为在线用户,可用于权限级别等限制!!!

//第三部分:人员管理

void user_menu(struct user *show_user);

void user_add(struct user *show_user);

void user_find(struct user *show_user);

void user_update(struct user up_user);

void user_del(struct user *show_user);

//第四部分:休闲小游戏及登录程序和界面设计

void main_menu();

void game_play();

void user_login();

//另外:文件操作

void data_user_read_file(struct user *show_user);

void data_user_write_file(struct user *show_user);

void main()

{

data_user_read_file(us);

user_login();

main_menu();

}

void main_menu()

{

int select;

system("cls");

system("color f1");

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

printf("\t\t\t| |\n");

printf("\t\t\t| 1-歌曲基本数据管理 |\n");

printf("\t\t\t| 2-歌曲点取播放 |\n");

printf("\t\t\t| 3-人员权限管理 |\n");

printf("\t\t\t| 4-休闲小游戏 |\n");

printf("\t\t\t| 5-退出系统 |\n");

printf("\t\t\t| |\n");

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

scanf("%d",select);

switch(select)

{

// case 1: music_menu()break;

// case 2: play_menu()break;

case 3: user_menu(us);break;

//case 4: game_play();break;

case 5: data_user_write_file(us);exit(1);break; //退出前保存数据。

default:printf("选项输入错误!请选择(1-5):");

}

}

void user_login()

{

int i,count=0;

char u_name[10];

char u_psd[10];

do{

system("cls");

system("color f1");

printf("\n");

printf("\t\t ");

for(i=1;i=60000000;i++)

{

if (i%3000000==0)

printf("☆");

}

printf("\n\n\t\t\t 欢迎进入KTV点歌系统! \n");

printf("\t\t\t \n");

printf("\t\t\t 风花雪月 \n");

printf("\t\t\t 研发小组 \n");

printf("\t\t\t 组长:王林 \n");

printf("\n\t\t\t 艾生芳 罗泽宇 邓丰波\n");

printf("\n\t\t\t 2007/08/15\n");

printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ");

for(i=1;i=60000000;i++)

{

if (i%3000000==0)

printf("★\b\b");

}

printf("\n");

printf("\n\t\t\t用户名:");

fflush(stdin);

gets(u_name);

printf("\n\t\t\t密 码:");

for(i=0;i10;i++)

{

fflush(stdin);

u_psd[i]=getch();

if (int (u_psd[i])==13)

{

u_psd[i]='\0';

break;

}

else if (int (u_psd[i])==8)

{

i=i-2;

printf("\b \b");

}

else

printf("*");

}

u_psd[i]='\0';

for(i=0;i10;i++)

{

if(strcmp(u_name,us[i].usr)==0us[i].p_id0)

break;

}

if (strcmp(u_psd,us[i].psd)==0)

{

printf("\n\t\t\t\t登陆成功!\n");

Sleep(1500);

for(i=0;isizeof(us)/sizeof(us[0]);i++)

{

if(stricmp(us[i].usr,u_name)==0)

{//登陆成功,记录用户信息

Online_User.p_id=us[i].p_id;

sprintf(Online_User.usr,"%s",us[i].usr);

sprintf(Online_User.psd,"%s",us[i].psd);

Online_User.level=us[i].level;

break;

}

}

break;

}

else

{

count++;

if(count=3)

printf("三次密码不正确,请稍后再试!");

else

printf("\n\t\t\t用户名或密码不正确,请重新输入!\n");

}

}while(count3);

}

void user_menu(struct user *show_user)

{

int sign=1,select;

while(sign)

{

system("cls");

system("color b1");

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

printf("\t\t\t| |\n");

printf("\t\t\t| 1-增加用户信息 |\n");

printf("\t\t\t| 2-删除用户信息 |\n");

printf("\t\t\t| 3-查询用户权限 |\n");

printf("\t\t\t| 4-修改用户信息 |\n");

printf("\t\t\t| 5-退出管理 |\n");

printf("\t\t\t| |\n");

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

printf("选择操作数:");

fflush(stdin);

scanf("%d",select);

if((Online_User.level==2select==2)||(Online_User.level==3select!=3select!=4select!=5))

select=6;

switch(select)

{

case 1: user_add(show_user);break;

case 2: user_del(show_user);break;

case 3: user_find(show_user);break;

case 4: user_update(Online_User);break;

case 5: sign=0;break;

case 6: printf("\t\t\t警告:你的权限不足,3 秒后自动返回!");Sleep(3000);break;

default:printf("选项输入错误!请选择(1-5):");

}

}

}

void user_update(struct user up_user)

{

int sign=1,select,level=1,i;;

char usr[20]="",psd[10]="";//密码

char psd_1[10]=" ";//重复密码

while(sign==1)

{

system("cls");

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

printf("\t\t\t++ KTV点歌系统--更新用户信息 ++\n");

printf("\t\t\t++ 1.修改密码 ++\n");

printf("\t\t\t++ 2.设置权限 ++\n");

printf("\t\t\t++ 3.更新用户库 ++\n");

printf("\t\t\t++ 4.返回上一菜单 ++\n");

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

fflush(stdin);

scanf("%d",select);

if((Online_User.level==2||Online_User.level==3)select!=1select!=4)

select=5;

switch(select)

{

case 1: printf("\t\t\t 新 密 码:");

fflush(stdin);

scanf("%s",psd);

printf("\t\t\t 重复密码:");

fflush(stdin);

scanf("%s",psd_1);

if(stricmp(psd,psd_1)!=0)

{ printf("\t\t两次输入密码不一致!3秒后返回自动!\n");Sleep(3000);break;}

sprintf(up_user.psd,"%s",psd);

for(i=0;isizeof(us)/sizeof(us[0]);i++)

if(stricmp(us[i].usr,up_user.usr)==0us[i].p_id0)

{ sprintf(us[i].psd,"%s",psd); break;}

data_user_write_file(us);

break;

case 2: printf("\t\t\t 用 户 名:");

fflush(stdin);

scanf("%s",usr);

printf("\t\t\t 设置权限:");

fflush(stdin);

scanf("%d",level);

for(i=0;isizeof(us)/sizeof(us[0]);i++)

if(stricmp(us[i].usr,usr)==0us[i].p_id0)

{ us[i].level=level; break;}

data_user_write_file(us);

break;

case 3: data_user_write_file(us); break;

case 4: sign=0;break;

case 5: printf("\t\t\t警告:你的权限不足,3 秒后自动返回!");Sleep(3000);break;

default:printf("选项输入错误!请选择(1-3):");

}

}

}

void user_add(struct user *show_user)

{

int i,sign=1;

char usr_cp[20],usr[20]="";//用户名 ;

char psd[10]="";//密码

char psd_1[10]=" ";//重复密码

int level;

while(sign)

{

sign=0;

system("cls");

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

printf("\t\t\t++ KTV点歌系统--添加用户 ++\n");

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

printf(" 注意: 1.根据提示,输入用户名、密码、并设置用户权限!\n");

printf(" 2.权限级别(1-全部权限2-只能新增和查询3-只能查询.\n\n");

printf("\t\t\t 用 户 名:");

fflush(stdin);

scanf("%s",usr);

printf("\t\t\t 密 码:");

fflush(stdin);

scanf("%s",psd);

printf("\t\t\t 重复密码:");

fflush(stdin);

scanf("%s",psd_1);

printf("\t\t\t 设置权限:");

fflush(stdin);

scanf("%d",level);

for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)

{

sprintf(usr_cp,"%s",show_user[i].usr);

if(stricmp(usr_cp,usr)==0||stricmp(usr,"*")==0)

{ sign=1; printf("\t\t输入的用户名已经存在或者为空!1 秒后自动返回!\n");Sleep(1500);break;}

}

if(stricmp(psd,psd_1)!=0sign==0)

{ sign=1; printf("\t\t两次输入密码不一致!3 秒后自动返回!\n");Sleep(1500);break;}

for(i=0;isizeof(show_user[0])/sizeof(show_user) sign==0;i++)

{

if(show_user[i].p_id==0)

{

show_user[i].p_id=i+1;

sprintf(show_user[i].usr,"%s",usr);

sprintf(show_user[i].psd,"%s",psd);

show_user[i].level=level;

data_user_write_file(show_user);

break;

}

if(i-1==sizeof(show_user[0])/sizeof(show_user)) {printf("已达到最大用户数!");}

}

}

}

void user_find(struct user *show_user)

{

int i,sign=1;

char usr_cp[20],usr[20],ctnu='Y';

while(ctnu=='Y'||ctnu=='y')

{

system("cls");

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

printf("\t\t\t++ KTV点歌系统--用户信息查询 ++\n");

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

printf("\t\t 提示:输入*号,可查询所有用户信息!\n");

printf("\t 用 户 名:");

fflush(stdin);

scanf("%s",usr);

printf("%d",stricmp(usr,"*"));

if(stricmp(usr,"*")==0)

{

printf("\t\t\t 编号 用户名 用户权限\n");

for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)

if(show_user[i].p_id0)

printf("\t\t\t\t %d %s %d\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);

}

for(i=0;isizeof(show_user[0])/sizeof(show_user) stricmp(usr,"*")!=0;i++)

{

sprintf(usr_cp,"%s",show_user[i].usr);

if(stricmp(usr_cp,usr)==0show_user[i].p_id0)

{

printf("\t\t\t 编号 用户名 用户权限\n");

printf("\t\t\t\t %d %s %d\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);

break;

}

}

if(i==sizeof(show_user[0])/sizeof(show_user)stricmp(usr,"*")!=0)

printf("\t\t 用户不存在。\n");

printf("\n\t\t\t 继续-查询操作?(Y||N):");

fflush(stdin);

scanf("%c",ctnu);

}

}

void user_del(struct user *show_user)

{

int i;

char usr_cp[20],usr[20],ctnu='Y';

while(ctnu=='Y'||ctnu=='y')

{

system("cls");

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

printf("\t\t\t++ KTV点歌系统--删除用户 ++\n");

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

printf("\t\t\t 用 户 名:");

fflush(stdin);

scanf("%s",usr);

for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)

{

sprintf(usr_cp,"%s",show_user[i].usr);

if(stricmp(usr_cp,usr)==0stricmp(usr_cp,"admin")!=0show_user[i].p_id0)

{

printf("\t\t已删除: 编号 %d 用户名 %s 用户权限 %d 的用户。\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);

show_user[i].p_id=0;

sprintf(show_user[i].usr,"%s","");

data_user_write_file(show_user);

break;

}

}

if(i==sizeof(show_user[0])/sizeof(show_user)) printf("\t\t\t 用户不存在,删除失败。\n");

printf("\n\t\t 继续下一个-删除操作?(Y||N):");

fflush(stdin);

scanf("%c",ctnu);

}

}

void data_user_read_file(struct user *show_user)

{

FILE *fp;

int i;

if((fp=fopen("user_data.dat","rb"))==NULL)

{

fp=fopen("user_data.dat","wb+");

printf("Can not open the oid_data_file,It's a new_data_file!\n");

Sleep(3000);

}

for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)

{

fseek(fp,i*sizeof(struct user),0);

fread(show_user[i],sizeof(struct user),1,fp);

}

fclose(fp);

}

void data_user_write_file(struct user *show_user)

{

FILE *fp;

int i;

if((fp=fopen("user_data.dat","wb"))==NULL)

{

printf("Can not open the file\n");

exit(0);

}

for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)

{

fseek(fp,i*sizeof(struct user),0);

if(fwrite(show_user[i],sizeof(struct user),1,fp)!=1)

printf("File write error\n");

}

fclose(fp);

}

!!!!!!!!!!!!!!!!!!!!!!!!!自己去稍微做修改!!!!!!!!!!!!!!!!!!!!!!!!!

********************************结束******************************


本文标题:c语言函数写卡拉OK c语言的函数怎么写
网页URL:http://mswzjz.cn/article/dddspcg.html

其他资讯