1. c語言有什麼實際應用
c語言的用處:
1、平時所用的PC電腦系統無論是windows系統還是nuix系統,KTV裡面的點歌系統,電話等都是通過C語言來進行底層開發的。
2、做軟體UI設計的都會用到PS等工具,其實這也是C語言編寫的。
3、C語言具有很強的繪圖能力和可移植性,並且具備很強的數據處理能力,可以用來編寫系統軟體、製作動畫、繪制二維圖形和三維圖形等。
(1)c語言ktv點歌系統擴展閱讀
1、C語言中沒有連續不等式的寫法,電腦只能理解一個數是大於等於0的,同時這個數是小於等於5的。
2、C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。
2. 用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;i<10;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;i<10;i++)
{
if(strcmp(u_name,us[i].usr)==0&&us[i].p_id>0)
break;
}
if (strcmp(u_psd,us[i].psd)==0)
{
printf("\n\t\t\t\t登陸成功!\n");
Sleep(1500);
for(i=0;i<sizeof(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(count<3);
}
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==2&&select==2)||(Online_User.level==3&&select!=3&&select!=4&&select!=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!=1&&select!=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;i<sizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,up_user.usr)==0&&us[i].p_id>0)
{ 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;i<sizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,usr)==0&&us[i].p_id>0)
{ 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;i<sizeof(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)!=0&&sign==0)
{ sign=1; printf("\t\t兩次輸入密碼不一致!3 秒後自動返回!\n");Sleep(1500);break;}
for(i=0;i<sizeof(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;i<sizeof(show_user[0])/sizeof(show_user);i++)
if(show_user[i].p_id>0)
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;i<sizeof(show_user[0])/sizeof(show_user) && stricmp(usr,"*")!=0;i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0&&show_user[i].p_id>0)
{
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;i<sizeof(show_user[0])/sizeof(show_user);i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0&&stricmp(usr_cp,"admin")!=0&&show_user[i].p_id>0)
{
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;i<sizeof(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;i<sizeof(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);
}
!!!!!!!!!!!!!!!!!!!!!!!!!自己去稍微做修改!!!!!!!!!!!!!!!!!!!!!!!!!
********************************結束******************************
3. c語言程序設計:點歌系統
自己再稍微修改下,大致程序就像下面的了:
#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;i<10;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;i<10;i++)
{
if(strcmp(u_name,us[i].usr)==0&&us[i].p_id>0)
break;
}
if (strcmp(u_psd,us[i].psd)==0)
{
printf("\n\t\t\t\t登陸成功!\n");
Sleep(1500);
for(i=0;i<sizeof(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(count<3);
}
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==2&&select==2)||(Online_User.level==3&&select!=3&&select!=4&&select!=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!=1&&select!=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;i<sizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,up_user.usr)==0&&us[i].p_id>0)
{ 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;i<sizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,usr)==0&&us[i].p_id>0)
{ 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;i<sizeof(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)!=0&&sign==0)
{ sign=1; printf("\t\t兩次輸入密碼不一致!3 秒後自動返回!\n");Sleep(1500);break;}
for(i=0;i<sizeof(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;i<sizeof(show_user[0])/sizeof(show_user);i++)
if(show_user[i].p_id>0)
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;i<sizeof(show_user[0])/sizeof(show_user) && stricmp(usr,"*")!=0;i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0&&show_user[i].p_id>0)
{
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;i<sizeof(show_user[0])/sizeof(show_user);i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0&&stricmp(usr_cp,"admin")!=0&&show_user[i].p_id>0)
{
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;i<sizeof(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;i<sizeof(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);
}
4. c語言程序ktv包間設計有些小問題,能不能幫忙修改一下,謝謝了,在線等
你好,加你了
5. 做了個C語言的KTV點歌系統,其中刪除歌曲功能有點問題,附刪除函數主代碼,求debug while
你先去從文件fp裡面讀取歌曲名,然後比較,不一樣就寫入這個fp文件中,你覺得有沒有問題??
還有,基本你的文件打開模式不會是「a」,也就是寫入文件的時候會將源文件清空然後再寫入,一旦你寫入一個數據,你的原數據就全部丟失了。
6. 用C#編寫的KTV點歌系統的一些問題
點歌系統主要有兩種:硬解壓和軟解壓。硬解壓是通過解壓縮卡來完成,軟解壓是通過解壓軟體來完成。 此產品適合於夜總會、量販式KTV、酒店、酒吧等經營場所使用。 奧斯卡KTV點歌系統從2001年就開始進行研發與應用,經過多年的經驗摸索,不斷地完善改進和升級,使得它更安全、更穩定、更完善。無論夜總會型,還是量販式型的KTV都可以使用,目前這套系統在全國超過3000家用戶,是全國KTV場所中使用最多的點歌系統。該系統加上優質的歌庫,並與點歌輔助工具和外圍歌廳設備一起使用時,可稱之為一套功能強大、可靠性高、實用性好、畫優音美的全自動卡拉OK點歌系統,絕對領導著KTV點歌設備的新潮流。 全套系統是架構在計算機網路上的,由電腦來自動管理,無需碟機亦無需人員操作,極大地提高了經營效率。該系統從歌曲錄制編輯、歌曲庫的自動生成、點歌軟體的功能、界面的多樣性和美觀性、客人的使用人性化、前後台管理的多樣性和方便性、與各種外圍點歌設備的結合、有4萬多首各類歌曲的提供等方面,形成了完整的解決方案,是一套集大成的全面先進的系統。 提到KTN點歌系統我特別提一下顯卡問題這是很重要的我遇到的ktv點歌系統最重要的都是顯卡問題目前KTV系統支持的顯卡只有Ati的NVIDIA的顯卡不支持Ati的顯卡高檔次的也不支持我知道的Ati7500的卡肯定支持但9550的不支持用9550的顯卡有的歌不能顯示畫面Ati8系列的也支持7500的卡目前市場已經很少很少了幾乎是買不到的新的要是你想弄個點歌系統你用9200的卡看看我想可能支持9200的現在還是有的賣的關於磁碟陣列問題我想目前用上160GB的硬碟已經夠用了不需要用上2個或幾個硬碟這只是對於單機用戶現在做個系統一般需要1000多快錢主要了就是音樂庫
7. C#KTV點歌系統
後台功能:
1、歌曲分類添加;
2、可以添加N個分類;
3、後台管理網友點歌;
4、可以增加多個管理員。
Build 0305 更新修正:
部分JS錯誤,修正歌曲列表css,控制顯示為一行等
後台入口: admin.asp
用戶名: admin
密碼: admin888
沒找到C#桌面版的,網頁版的可以參考下
http://down.chinaz.com/soft/6916.htm
8. 怎樣用C語言編程實現清除屏幕上指定的以現實內容
只有system(「cls」)清除,別的不知道了
9. C語言:這道題中flag是什麼意思畫圈的語句不明白,求詳解,謝謝
前面一句flag=……中的flag是表示「當前字元是英文字母」。
而後面一句if(flag),從再後面執行的程序(strcpy ......)來看,明顯的是刪除當前字元的語句,所以只能是當前字元不是英文字母時出現的操作,if語句的含義應該是if(不是英文字元)。
根據c語言對邏輯值的定義,假設當前字元是英文字元,前面是取值flag=1的,這時,不需要刪除動作,希望if條件不成立,這就要flag=0。
所以需要對flag進行一次求非運算,flag =!flag 就行了(1變0,0變1)。
你填的flag=-flag,0還是0(邏輯假);1變成-1,還是邏輯真,等於沒有變,所以是錯誤的。
10. c語言編程和軟體界面的問題 (追加幾分)
C語言想寫出好看的界面不是不可以,但比較麻煩,需要好的運行庫的支持,但是沒有那個必要。C語言一般是入門用,了解一下模塊化程序設計,為後面更多范型的程序設計打點基礎。
想做出好界面的程序就用C++、java、Delphi、VB之類。在做界面方面其實都可以做得很好看,方法有所不同,看你是用現成的類庫還是自己做界面了。
像QQ什麼的應該是用C++寫的。ktv有一些是用C語言寫的,C++和java寫的也有。現在windows下大部分應用都是用的C++,java也很多。
你要寫的用哪個都可以,C語言估計寫不出來太好看的,圖方便就用VB、Delphi吧。如果想把界面發揮到極致的話建議用C++,只要水平夠,任何效果都能做出來。