當前位置:首頁 » 編程語言 » 旅遊資訊管理系統c語言程序代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

旅遊資訊管理系統c語言程序代碼

發布時間: 2022-11-30 05:56:59

⑴ 求c語言,電影院售票管理系統的設計與實現的代碼

#include<stdio.h>
#include<stdlib.h>

structcell
{
char*name;
inttime;
intseat;
intsaled;
}a,b,c,d;

intsel=0;
voidtitle();
voidsaleproc();
intsaleThread(structcell*ce,intdd);
voidtiupiaoproc();
inttiupiaoThread(structcell*ce);
voidcount();

intinit(structcell*ce,char*name,inttime,intseat)
{
ce->name=name;
ce->time=time;
ce->seat=seat;
ce->saled=0;
return1;
}

intsaleThread(structcell*ce,intdd)
{
if((ce->seat-ce->saled)>=dd)
{
ce->saled+=dd;
printf("售票成功!按ESC鍵返回主菜單 ");
fflush(stdin);
intcc=_getche();
return1;
}
else
{
printf("售票失敗---余票不足!按ESC鍵返回主菜單 ");
fflush(stdin);
intcc=_getche();
return0;
}
}

voidsaleproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*廳影片時間余票* ");
printf("** ");
printf("*A%s%d:%d%3d* ",a.name,a.time/60,a.time%60,a.seat-a.saled);
printf("** ");
printf("*B%s%d:%d%3d* ",b.name,b.time/60,b.time%60,b.seat-b.saled);
printf("** ");
printf("*C%s%d:%d%3d* ",c.name,c.time/60,c.time%60,c.seat-c.saled);
printf("** ");
printf("*D%s%d:%d%3d* ",d.name,d.time/60,d.time%60,d.seat-d.saled);
printf("** ");
printf("*********************************** ");
printf("請選擇放映廳(a,b,c,d)和要購的票數(按ESC鍵返回主菜單)(格式:a5): ");
fflush(stdin);
charcc;
intdd;
dd=_getche();
if(dd==27)
{
f=0;
break;
}
else
{
cc=(char)dd;
}
scanf("%d",&dd);
switch(cc)
{
case'a':
saleThread(&a,dd);
f=0;
break;
case'b':
saleThread(&b,dd);
f=0;
break;
case'c':
saleThread(&c,dd);
f=0;
break;
case'd':
saleThread(&d,dd);
f=0;
break;
default:
break;
}
}
title();
}

inttiupiaoThread(structcell*ce)
{
if(ce->saled==0)
{
printf("撞尼瑪鬼了老子一張票都沒賣,哪來的退票??? ");
fflush(stdin);
intcc=_getche();
return0;
}
ce->saled--;
printf("退票成功!按任意鍵返回主菜單 ");
fflush(stdin);
intcc=_getche();
return1;
}

voidtiupiaoproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*退票* ");
printf("** ");
printf("*A%-20s* ",a.name);
printf("** ");
printf("*B%-20s* ",b.name);
printf("** ");
printf("*C%-20s* ",c.name);
printf("** ");
printf("*D%-20s* ",d.name);
printf("** ");
printf("*********************************** ");
printf("請輸入要退的廳(a,b,c,d): ");
charcc;
fflush(stdin);
scanf("%c",&cc);
if(cc=='')
{
f=0;
break;
}
switch(cc)
{
case'a':
tiupiaoThread(&a);
f=0;
break;
case'b':
tiupiaoThread(&b);
f=0;
break;
case'c':
tiupiaoThread(&c);
f=0;
break;
case'd':
tiupiaoThread(&d);
f=0;
break;
default:
break;
}
}
title();
}

voidcountproc()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*統計* ");
printf("** ");
printf("*A廳:余票%3d上座率%5.2f%%* ",a.seat-a.saled,(((float)a.saled/(float)a.seat)*100));
printf("** ");
printf("*B廳:余票%3d上座率%5.2f%%* ",b.seat-b.saled,(((float)b.saled/(float)b.seat)*100));
printf("** ");
printf("*C廳:余票%3d上座率%5.2f%%* ",c.seat-c.saled,(((float)c.saled/(float)c.seat)*100));
printf("** ");
printf("*D廳:余票%3d上座率%5.2f%%* ",d.seat-d.saled,(((float)d.saled/(float)d.seat)*100));
printf("** ");
printf("*********************************** ");
printf("按ESC鍵返回主菜單! ");
fflush(stdin);
intcc=_getche();
if(cc==27)
{
f=0;
break;
}
}
title();
}

voidtitle()
{
intf=1;
while(f)
{
system("cls");
printf("*********************************** ");
printf("** ");
printf("*歡迎光臨牛B電影院* ");
printf("** ");
printf("*1.售票* ");
printf("** ");
printf("*2.退票* ");
printf("** ");
printf("*3.統計* ");
printf("** ");
printf("*4.退出* ");
printf("** ");
printf("*********************************** ");
printf("請選擇:(1,2,3,4) ");
fflush(stdin);
scanf("%d",&sel);
getchar();
switch(sel)
{
case1:
saleproc();
f=0;
break;
case2:
tiupiaoproc();
f=0;
break;
case3:
countproc();
f=0;
break;
case4:
system("exit");
f=0;
break;
default:
break;
}
}
}

intmain(intargc,char*argv[])
{
init(&a,"鋼鐵俠3",18*60+30,150);
init(&b,"致青春",19*60+30,150);
init(&c,"姜戈",20*60+30,150);
init(&d,"生化危機4",20*60+20,100);
title();
return0;
}

⑵ 求c語言 職業中介信息管理系統 代碼 謝謝~

#include<stdio.h>
#include<stdlib.h>
/*對於學歷和工作要求都是用數字來替代*/
typedef struct worker
{
int num; //編號
char id[20]; //身份證號,過長,所以所以用字元串
char name[15]; //姓名
int degree; //學歷
int job; //需要的工作
worker *next;
worker *pre;
}worker,*Lworker;
/*需求記錄*/
typedef struct want
{
int n; //單位的編號
int job; //需求的崗位
int num; //需求的人數
want *next;
want *pre;
}want,*Lwant;
/*輸出說明信息的函數*/
void info()
{
printf("輸入說明如下:\n");
printf("學歷說明:\n1:高中畢業 2:大學畢業 3:研究生 4:更高學歷\n");
printf("職位說明如下:\n1:程序員 2:管理人員 3:會計 4:獸醫\n");
printf("當輸入求職者信息的時候,求職者編號為-1時,輸入結束\n");
printf("當輸入供職單位信息的時候,當供職的數量為-1的時候,輸入結束\n");
}
/*輸入人才信息*/
void input_worker(Lworker head)
{
int i=1;
Lworker x=head;
x->pre=NULL;
while(1)
{
printf("輸入第%d個求職者的信息,順序為編號,姓名,身份證號,需要的工作,學歷\n",i);
scanf("%d",&x->num);
if(x->num==-1)
break;
getchar();//回車會被讀入到gets()函數中,所以必須有一個getchar()把回車收回
gets(x->name);
gets(x->id);
scanf("%d",&x->job);
scanf("%d",&x->degree);
Lworker y=(worker *)malloc(sizeof(worker));
x->next=y;
y->pre=x;
x=y;
i++;
}
x->pre->next=NULL;
free(x);
}
/*輸入求職信息*/
void input_want(Lwant head)
{
Lwant x=head;
int i=1;
x->pre=NULL;
while(1)
{
printf("第%d個供職單位的信息,順序為編號,工作,數量\n",i);
scanf("%d",&x->n);
scanf("%d",&x->job);
scanf("%d",&x->num);
if(x->num==-1)
break;
i++;
Lwant y=(want*)malloc(sizeof(want));
x->next=y;
y->pre=x;
x=y;
}
x->pre->next=NULL;
free(x);
}
/*查詢人才信息函數*/
//參數num就是員工的編號,查詢是是什麼工作
int find_worker(Lworker head,int num)
{
Lworker x=head;
for(;;x=x->next)
{
if(x->num==num)
{
return(x->job);
}
}
return(-1); //表示沒有這個人
}
/*查詢工作信息函數*/
//num就是編號
int find_want(Lwant head,int num)
{
Lwant x=head;
for(;;x=x->next)
{
if(x->n==num)
return(x->job);
}
return(-1); //表示沒有這個單位的信息
}
/*修改求職者的信息*/
//參數num就是員工的編號
void change_worker(Lworker head,int num)
{
int m=0;
Lworker x=head;
for(;;x=x->next)
{
if(x->num==num)
{
break;
}
}
printf("輸入要修改的內容:\n1:工作 2:學歷 3:身份證號 4:姓名\n");
scanf("&d",&m);
switch(m)
{
case 1:
printf("輸入更正後的工作\n");
scanf("%d",&x->job);
break;
case 2:
printf("輸入更正後的學歷\n");
scanf("%d",&x->degree);
break;
case 3:
printf("輸入更正後的身份證號\n");
gets(x->id);
break;
case 4:
printf("輸入更正後的姓名\n");
gets(x->name);
break;
}
}
/*更改用人單位信息*/
//num就是編號
void change_want(Lwant head,int num)
{
int n;
Lwant x=head;
for(;;x=x->next)
{
if(x->n==num)
break;
}
printf("輸入要修改的內容\n1:工作 2:人數");
scanf("%d",&n);
switch(n)
{
case 1:
printf("輸入新的工作\n");
scanf("%d",&x->job);
break;
case 2:
printf("輸入新的人數\n");
scanf("%d",&x->num);
break;
}
}
/*刪除求職者信息*/
Lworker del_worker(Lworker head,int num)
{
Lworker x=head;
if(head->num==num)
{
x=head->next;
x->pre=NULL;
free(head);
return(x);
}
else
{
for(;;x=x->next)
{
if(x->num==num)
{
break;
}
}
Lworker y=x->pre;
Lworker z=x->next;
if(z==NULL)
{
y->next=NULL;
free(x);
}
else
{
y->next=z;
z->pre=y;
free(x);
}
return(head);
}
}
/*刪除用人單位信息*/
Lwant del_want(Lwant head,int num)
{
Lwant x=head;
if(head->n==num)
{
x=x->next;
x->pre=NULL;
free(head);
return(x);
}
else
{
for(;;x=x->next)
{
if(x->n==num)
{
break;
}
}
Lwant y=x->pre;
Lwant z=x->next;
if(z==NULL)
{
y->next=NULL;
free(x);
return(head);
}
else
{
y->next=z;
z->pre=y;
free(x);
return(head);
}
}
}
/*統計需求量最大的工作*/
void tongji_need(Lworker head,int *n)
{
int i,m=0;
for(i=1;i<5;i++)
n[i]=0;
Lworker x=head;
for(;x!=NULL;x=x->next)
{
switch(x->job)
{
case 1:
n[1]++;
break;
case 2:
n[2]++;
break;
case 3:
n[3]++;
break;
case 4:
n[4]++;
break;
}
}
}
/*統計供給量最大的工作*/
void tongji_serve(Lwant head,int *m)
{
int i;
for(i=1;i<5;i++)
m[i]=0;
Lwant x=head;
for(;x!=NULL;x=x->next)
{
switch(x->job)
{
case 1:
m[1]=m[1]+x->num;
break;
case 2:
m[2]=m[2]+x->num;
break;
case 3:
m[3]=m[3]+x->num;
break;
case 4:
m[4]=m[4]+x->num;
break;
}
}
}
void main()
{
int i;
int x,num;
info();
int n[5],m[5];
Lworker head1=(worker *)malloc(sizeof(worker));
Lwant head2=(want *)malloc(sizeof(want));
while(1)
{
printf("輸入要進行的操作\n");
printf("1:輸入求值人員信息 2:輸入用人單位信息 3:刪除求值人員信息 4:刪除用人單位信息 5:修改求職人員信息 6:修改用人單位信息\n");
printf("7:查詢某個求職人員信息 8:查詢某個用人單位信息 9:統計需求的工作信息 10:統計提供工作的信息 0:退出\n");
printf("注意:1和2如果重復執行的話,會覆蓋以前的而結果,所以不可以重復選擇,只可以做一次\n");
scanf("%d",&x);
if(x==0)
break;
switch(x)
{
case 1:
input_worker(head1);
break;
case 2:
input_want(head2);
break;
case 3:
printf("輸入要刪除的人員的編號\n");
scanf("%d",&num);
head1=del_worker(head1,num);
break;
case 4:
printf("輸入要刪除的單位的編號\n");
scanf("%d",&num);
head2=del_want(head2,num);
break;
case 5:
printf("輸入要修改的人員的編號\n");
scanf("%d",&num);
change_worker(head1,num);
break;
case 6:
printf("輸入要修改的單位的編號\n");
scanf("%d",&num);
change_want(head2,num);
break;
case 7:
printf("輸入要查詢的人員的編號\n");
scanf("%d",&num);
find_worker(head1,num);
break;
case 8:
printf("輸入要查詢的單位的編號\n");
scanf("%d",&num);
find_want(head2,num);
break;
case 9:
tongji_need(head1,n);
for(i=1;i<5;i++)
{
printf("第%d種工作的需求量是%d\n",i,n[i]);
}
break;
case 10:
tongji_serve(head2,m);
for(i=1;i<5;i++)
{
printf("第%d種工作的提供量是%d\n",i,m[i]);
}
break;
}
}
}

⑶ c語言學生信息管理系統代碼

代碼如下:

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
typedef struct examinee //考生信息結構
{ char examno[20]; //准考證號
char name[10]; //姓名
char sex[4]; //性別
short age; //年齡
char examtype[10]; //報考科目
}ElemType;

typedef struct Node //定義鏈表結點
{
ElemType data; //數據域
struct Node *next; //指針域
}Node,*List,*position;

List make_empty( List L ); //創建一個帶頭結點的空表
int is_empty( List L ); //測試鏈表是否是空表
int is_last( position p, List L ); //測試當前位置是否是表尾
position make_node( position p,int n ); //創建結點並輸入考生信息
void put_information( position p ); //是否輸出該考生信息
void put_name_information( List L ); //輸出姓名為xx的考生信息
int put_pos_information( position p ); //輸出該地址考生信息
void link_to_tail( List L, position p ); //將結點連接到表尾
int ciculation_make(); //循環創建考生信息
int judge_put_all(); //是否輸出所有考生信息
void put_all(List L); //輸出所有考生信息。
position find( List L ); //查找第一個姓名為xx的元素並返回位置
position find_previous( List L ); //查找第一個姓名為xx的元素並返回該元素直接前驅的位置
//int judge_delete_val(); //詢問是否刪除考生數據
int delete_val( List L ); //刪除指定考生信息並輸出其信息
void menu(List L); //菜單函數
List L;
//position p;

int
main( void )
{
List L = NULL; //定義頭結點指針
position p = NULL; //定義表工作指針
L = make_empty( L ); //創建空表
printf(" ★★考生報名管理程序★★ ---------------------------------------- ");
menu(L);
return 0;
}

//創建一個帶頭結點的空表
List
make_empty( List L)
{
L = ( List ) malloc (sizeof( Node ));
if(NULL == L)
{
printf("內存分配失敗");
exit( 1 );
}
L->next = NULL;
//printf("空表創建成功。 ");
return L;
}

//創建結點並輸入考生信息
position
make_node( position p ,int n)
{
if(n) //n為1是創建結點並輸入,n為0是修改
{
p = ( position ) malloc ( sizeof ( Node ));
p->next = NULL ;
}
printf("請輸入考生准考證號:");
gets(p->data.examno);
printf("請輸入考生姓名:");
gets(p->data.name);
do
{
printf("請輸入考生性別,只能輸入「男」或者「女」:");
gets(p->data.sex);
}
while( 0 != strcmp( p->data.sex, "男" ) && 0 != strcmp( p->data.sex, "女" )); //判斷性別是否有誤
printf("請輸入考生年齡:");
scanf("%hd",&p->data.age);
getchar(); //如果把這句刪掉,就「無法執行」下面的報考類別
/*下面的do while用來判斷報考類別是否輸入有誤*/
do
{
printf("請輸入報考類別,只能輸入「數學」或「英語」或者「數據結構」:");
gets(p->data.examtype);
}
while( 0 != strcmp( "英語", p->data.examtype ) && 0 != strcmp( "數學", p->data.examtype ) && 0 != strcmp( "數據結構", p->data.examtype ));
if(n)
{
printf("報名成功 ");
}
else
{
printf("修改成功 ");
}
return p;
}

//前插法;
void
link_to_tail( List L, position p)
{
p->next = L->next;
L->next = p;
}

//查找第一個姓名為xx的元素並返回位置
position
find( List L )
{
position p = L->next;
char name[10];
printf("請輸入你要查找的考生姓名:");
gets(name);
while( p != NULL && 0 != strcmp( p->data.name , name))
{
p=p->next;
}
return p;
}

//測試鏈表是否是空表
int
is_empty( List L )
{
return L->next == NULL;
}

//測試當前位置是否是表尾
int
is_last( position p, List L )
{
return p->next == NULL;
}

//輸出姓名為xx的考生信息
void
put_name_information( List L )
{
position p = find(L);
if(p!=NULL)
{
printf("您要查找的考生信息: ");
printf("准考證號:%s 姓名:%s 性別:%s 年齡:%hd 報考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
}
else
{
printf("沒有您要找的學生。 ");
}

}

//循環創建考生信息
int
ciculation_make()
{
int n = 2;
do
{
printf("是否繼續創建考生信息?是請輸入「1」,不是請輸入「0」:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//是否輸出考生信息
void
put_information( position p )
{
int n=2;
do
{
printf("是否輸出該考生信息?是請輸入「1」,不是請輸入「0」:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
if(n)
{
printf("准考證號:%s 姓名:%s 性別:%s 年齡:%hd 報考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
}
}


//是否輸出所有考生信息
int
judge_put_all()
{
int n = 2;
do
{
printf("是否輸出所有考生信息?是請輸入「1」,不是請輸入「0」:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//輸出所有考生信息
void
put_all(List L)
{
if(L->next == NULL)
{
printf("現無考生報名! ");
}
else
{
position p=L->next;
while( p != NULL )
{
printf("准考證號:%s 姓名:%s 性別:%s 年齡:%hd 報考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
p=p->next;
}
}
//getchar();

}

//詢問是否刪除考生數據
int
judge_delete_val()
{
int n = 2;

do
{
printf("是否要刪除某個考生數據?是請輸入「1」,不是輸入「0」:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//查找第一個姓名為xx的元素並返回其直接前驅的位置
position
find_previous( List L )
{
position q = L;
position p = L->next;
char name[10];
printf("請輸入你要查找的考生姓名:");
gets(name);
while( p != NULL && 0 != strcmp( p->data.name , name))
{
q=p;
p=p->next;
}
if( p != NULL )
{
return q;
}
else
return p;
}

//刪除指定考生信息並輸出其信息
int
delete_val(List L)
{
int n=2;
position q=NULL;
position p=find_previous( L ); //返回考生信息地址
if( NULL == p )
{
printf("你要刪除的考生不存在 ");
return 0;
}
else
{
q = p->next;
p->next = q->next;
printf("刪除成功。 刪除的考生信息為: ");
printf("准考證號:%s 姓名:%s 性別:%s 年齡:%hd 報考科目:%s ",q->data.examno,q->data.name,q->data.sex,q->data.age,q->data.examtype);
free(q);
return 1;
}

}

//輸出該地址考試信息
int
put_pos_information( position p )
{
if(p != NULL )
{
printf("准考證號:%s 姓名:%s 性別:%s 年齡:%hd 報考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
return 1;
}
else
{
printf("沒有您要查找的學生。");
return 0;
}
}
//菜單函數
void
menu(List L)
{
printf(" a. 考生報名入口 ");
printf(" b. 查詢考生信息 ");
printf(" c. 修改考生信息 ");
printf(" d. 刪除考生信息 ");
printf(" e. 全部考生信息 ");
printf(" f. 程序作者信息 ");
printf(" g. 退出程序 ");
char n='h';

while(n != 'g')
{
do //確定正確輸入
{
printf("請通過字母序號選擇功能:");
n = getchar();
getchar();
putchar(' ');
if( n < 'a' || n > 'g')
{
printf("錯誤的字母序號。 ");
}
}
while( n < 'a' || n > 'g' );
switch (n)
{
case 'a':
{
printf("請輸入報名考生信息: ");
position p = make_node( p, 1 ); //創建新結點
link_to_tail( L, p ); //將新結點連接到表上
put_information( p ); //是否輸出該考生信息
putchar(' ');
}
break;

case 'b':
{
put_name_information( L );
putchar(' ');
}
break;

case 'c':
{
int n=0;
position p = NULL;
printf("您正在進行修改操作。 ");
p = find(L);
n = put_pos_information( p );
if(n)
{
make_node( p , 0 );
put_information( p ); //是否輸出該考生信息
}
putchar(' ');
}
break;

case 'd':
{
printf("您正在進行刪除操作。 ");
delete_val( L );
putchar(' ');
}
break;

case 'e':
{
put_all( L );
putchar(' ');
}
break;

case 'f':
{
printf(" 修改日期 版本號 修改人 修改內容 ");
printf(" -------------------------------------------------------- ");
printf(" 2018.6.19 v2.0 陳百川 增加主菜單 ");
printf(" 2018.6.23 v3.0 陳百川 增加生成文件功能 ");
printf(" 該版本號為v2.0 ");
putchar(' ');
}
break;

default:
break;
}
}
printf(" 感謝本次使用,祝您生活愉快。");
getch();
}

(3)旅遊資訊管理系統c語言程序代碼擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

參考資料:

網路——C語言

⑷ 可以採用哪些計算機語言來建模旅遊管理信息系統呢

c語言。
c語言。計算機語言我們所熟知的其實就是c語言,可以通過編程的方法再利用c語言區管理旅遊管理信息系統。
在現代信息科技的整體推動下,越來越多的領域與行業都將信息系統的完善設計與應用作為發展規劃的重要內容,旅遊業作為與人們生活息息相關的朝陽產業。

⑸ c語言程序代碼

C語言源代碼,就是依據C語言規則所寫出的程序代碼,常見的存儲文件擴展名為.c文件和.h文件,分別對應C源文件(source file)和C頭文件(header file)。

C語言是一門編程語言,簡單點說,就是由人類書寫按照一定規范書寫的字元,通過一定手段(編譯鏈接)轉換後,可以讓電腦或者其它電子晶元"讀懂",並按照其要求工作的語言。在所有的編程語言中,C語言是相對古老而原始的,同時也是在同類語言中更接近硬體,最為高效的編程語言。

相關內容:

C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。

當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。

C語言擁有經過了漫長發展歷史的完整的理論體系,在編程語言中具有舉足輕重的地位。

⑹ 如何用c語言程序編一個管理系統

結構定義如下,其他的自己寫吧,內容太多了
struct user_info {
char[10] user_code;
char[10] user_name;
char[10] passeord;
char user_limit;
}

⑺ C語言用戶管理系統代碼謝謝了,大神幫忙啊

#include <stdio.h> #include <string.h> #include <windows.h> struct student { long int num; char name[20]; int age; char sex[4]; char b[30]; char p[15]; }; int n=0; struct student stu[100]; struct student *p; void lr(); void ll(); void cx(); void xg(); void sc(); void main() { int z; printf("+---------------------------+\n"); printf("| 歡迎使用學生信息管理系統 |\n"); printf("+---------------------------+\n"); printf("提示:為保證您的操作得到保存,請按正常順序退出系統^_^\n"); do { printf("\n\t\t\t--------------------------------\n"); printf("\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+ [0]----退出系統 |\n"); printf("\t\t\t--------------------------------\n"); printf("請輸入您的選擇:"); scanf("%d", &z); system("color 2f"); switch(z) { case 0 : break; case 1 :lr();break; case 2 :ll();break; case 3 :cx();break; case 4 :sc();break; case 5 :xg();break; default:printf("\n無效選項!"); } } while(z!= 0); } void lr()/*錄入函數*/ { int y; if(n==0) p=stu; do { printf("--------------------\n"); printf("請輸入學生的學號:"); scanf("%ld",&p->num); printf("請輸入學生的姓名:"); scanf("%s",p->name); printf("請輸入學生的年齡:"); scanf("%d",&p->age); printf("請輸入學生的性別:"); scanf("%s",p->sex); printf("請輸入學生的地址:"); scanf("%s",p->b); printf("請輸入學生的電話:"); scanf("%s",p->p); n++; p++; printf("\n1.繼續輸入.\n0.輸入完畢.\n"); printf("請選擇:"); scanf("%d",&y); } while(y==1); printf("提示:輸入完畢!你一共輸入%d個\n",n); } void ll()/*瀏覽函數*/ { int i,j; if(n!=0) { printf("學生總數:%d\n", n); printf("學號\t姓名\t年齡\t性別\t地址\t\t電話\n"); printf("-----------------------------------------------------\n"); for(i=0;i<n;i++) printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); } else printf("提示:無學生數據,請輸入數據!"); } void cx()/*查詢函數*/ { int c; int w,i,j=0; char name[20]; if(n!=0) { do{ printf("\n"); printf("+--------------------+\n"); printf("| 按學號查詢 請按 1 |\n"); printf("| 按姓名查詢 請按 2 |\n"); printf("| 取消 請按 0 |\n"); printf("+--------------------+\n"); printf("請輸入您的選擇:"); scanf("%d", &c); switch(c) { case 0:break; case 1: printf("請輸入學生的學號;"); scanf("%ld", &w); printf("\n"); for(i=0;i<n;i++) if(stu[i].num==w) { printf("\n學號\t姓名\t年齡\t性別\t地址\t\t電話\n"); printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); j=1; } if(j==0) printf("提示:沒有該學生記錄,請核對!"); break; case 2: printf("請輸入學生的姓名:"); scanf("%s", name); printf("\n"); for(i=0;i<n;i++) if(strcmp(name,stu[i].name)==0) { printf("\n學號\t姓名\t年齡\t性別\t地址\t\t電話\n"); j=1; printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); } if(j==0) printf("提示:沒有該學生記錄,請核對!"); break; default: printf("\n提示:無效選項!"); break; } }while(c!= 0); }else printf("提示:無學生數據,請輸入數據!"); return; } void xg()/*修改函數*/ { long int num; int i,j,c; if(n!=0) { printf("請輸入您要修改的學生的學號:"); scanf("%ld", &num); printf("\n"); for(i=0;i<n;i++) if(stu[i].num==num) j=i; do{ printf("請選擇您要修改的學生的信息內容:\n"); printf("+----------------------+\n"); printf("| 姓名 請按 1 |\n"); printf("| 年齡 請按 2 |\n"); printf("| 性別 請按 3 |\n"); printf("| 學號 請按 4 |\n"); printf("| 地址 請按 5 |\n"); printf("| 電話 請按 6 |\n"); printf("| 取消 請按 0 |\n"); printf("+----------------------+\n"); printf("請輸入您的選擇:"); scanf("%d", &c); printf("\n"); switch(c) { case 0:break; case 1:printf("請輸入新姓名:"); scanf("%s",stu[j].name); break; case 2:printf("請輸入新年齡:"); scanf("%d",&stu[j].age); break; case 3:printf("請輸入新性別:"); scanf("%s",stu[j].sex); break; case 4:printf("請輸入新學號:"); scanf("%ld",&stu[j].num); break; case 5:printf("請輸入新地址:"); scanf("%s",stu[j].b); break; case 6:printf("請輸入新電話:"); scanf("%s",stu[j].p); break; default: printf("\n無效選項!"); break; } }while(c!= 0); }else printf("提示:無學生數據,請輸入數據!"); } void sc()/*刪除函數*/ { long int num; int i,j,e; if(n!=0) { printf("學號\t姓名\t年齡\t性別\t地址\t\t電話\n"); printf("-----------------------------------------------------\n"); for(i=0;i<n;i++) printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); printf("請輸入您要刪除的學生的學號:"); scanf("%ld", &num); printf("\n"); for(i=0;i<n;i++) if(num==stu[i].num) j=i; if(j!=(n-1)) { for(e=i-1;e<n;e++,j++) { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].sex,stu[j+1].sex); stu[j].age=stu[j+1].age; strcpy(stu[j].b,stu[j+1].b); strcpy(stu[j].p,stu[j+1].p); n--;p--; } }else {n--;p--;} printf("提示:刪除完畢!"); }else printf("提示:無學生數據,請輸入數據!"); }

⑻ C語言程序設計(急)

1、plicate函數代碼如下:

void plicate(char *s, char *c) { // 假設s空間足夠大

int i, j, len = 0;

for (i = 0; s[i] != ''; i++) {

if (s[i] == *c)

len++; // 重復c,長度加1

}

len = len + i; // 此時i為s的長度

for (j = len; j >= 0; j--, i--) { // 從後往前重寫s,包括結尾''

s[j] = s[i];

if (s[i] == *c)

s[--j] = *c; // 重復一遍c

}

}

2、deplication函數代碼如下:

void deplication(char *s) {

int i, j;

for (i = 1, j = 1; s[i] != ''; i++, j++) { // 去重

while (s[i] != '' && s[i] == s[i - 1])

i++;

s[j] = s[i];

}

while (s[j] != '') { //注意結尾清零

s[j] = '';

j++;

}

}

3、完整代碼加測試運行結果為:

可見輸入shanghai fudan和a,重復a後成功輸出shaanghaai fudaan

然後又對shaanghaai fudaan去重,成功還原為shanghai fudan

如果幫到你,望採納~

⑼ (C語言)一個旅遊管理系統,有八個景點,具體要求如下,跪求大神幫助寫代碼,求最簡便

定義一個結構體,包含票種類,票價。然後再用鏈表去存這些數據。後面的要求就很容易實現了。

⑽ 題目:旅遊景點信息管理系統設計 c語言 求高手 程序

這要求好眼熟呀!!!!這個系統 我當年是三個人設計的 ……