當前位置:首頁 » 軟體設計 » c語言課程設計

c語言課程設計

發布時間: 2020-11-22 00:35:16

❶ c語言課設

之前寫過的,你可以拿去參考


#include<stdio.h>

#include<string.h>

#include<stdlib.h>

typedef struct guest

{

int number;

char name[10];

int sum;

char time[5];

struct guest *next;

}GuestLink,*Pointer;


GuestLink stu[10];

int i,j,k;

void Insert(Pointer *Head);

void Search(Pointer Head);

void Update(Pointer Head);

void Delete(Pointer *Head);

void Show(Pointer Head);

void Sort(Pointer Head);

void Save(Pointer Head);

void Put(Pointer Head);


int main()

{

Pointer Head=NULL;

int i;

do{

printf(" ");

printf("1---增加訂餐客戶信息 ");

printf("2---查詢訂餐客戶信息 ");

printf("3---修改訂餐客戶信息 ");

printf("4---刪除訂餐客戶信息 ");

printf("5---瀏覽客戶訂餐信息 ");

printf("6---按照用餐時間升序排序 ");

printf("7---保存訂餐信息到數據文件 ");

printf("8---查看數據文件中的訂餐信息 ");

printf("9---退出 ");

printf(" ");

printf("請選擇1--9:");

scanf("%d",&i);

switch(i)

{

case 1:Insert(&Head);

break;

case 2:Search(Head);

break;

case 3:Update(Head);

break;

case 4:Delete(&Head);

break;

case 5:Show(Head);

break;

case 6:Sort(Head);

break;

case 7:Save(Head);

break;

case 8:Put(Head);

break;

case 9:

break;

default:printf("選擇錯誤!請重新選擇!");

break;

}

}while(i!=9);

return 0;

}



void Insert(Pointer *Head)

{

int in_number;

Pointer p,q,r;

printf("請輸入編號: ");

scanf("%d",&in_number);

p=q=*Head;

while(p!=NULL)

{

if(p->number==in_number)

{

printf("已經有相同編號:");

return;

}

else

{

q=p;p=p->next;

}

}

r=(Pointer)malloc(sizeof(GuestLink));//沒有*號

r->next=NULL;

if(r==NULL)

{

printf("分配空間失敗");

return;

}

if(q==NULL)//如果是空表,判斷空表用q!!!!

*Head=r;

else

{q->next=r;}

r->number=in_number;

printf("請輸入姓名: ");

scanf("%s",r->name);

printf("請輸入人數: ");

scanf("%d",&r->sum);

printf("請輸入時間: ");

scanf("%s",r->time);

}

/*

void Insert(Pointer *Head)

{int in_number;

Pointer p,q,r;

p=q=*Head;

printf("請輸入號碼:");

scanf("%d",&in_number);

while(p!=NULL)

{

if(in_number==p->number)

{printf("已存在號碼!");}

else

{q=p;p=p->next;}



}

r=(Pointer)malloc(sizeof GuestLink);

r->next=NULL;

if(q==NULL)

*Head=r;

else

q->next=r;

printf("請輸入姓名:");

scanf("%s",r->name);

printf("請輸入人數");

scanf("%f",&r->sum);

printf("請輸入時間");

scanf("%s",r->time);

}*/



void Search(Pointer Head)

{

int flag=1;

int number;

Pointer p;

printf("請輸入要查詢的編號:");

scanf("%d",&number);

p=Head;

while(p!=NULL&&flag)

{

if(p->number==number)

{ printf("編號 姓名 人數 時間 ");

printf("%s ",p->name);

printf("%d ",p->sum);

printf("%s ",p->time);

flag=0;

}

else

p=p->next;

}

if(flag)

printf("沒有查詢到!");

}



/*

void Search(Pointer Head)

{

int flag=0;

int number;

Pointer p;

p=Head;

printf("請輸入您要查找的編號:");

scanf("%f",&number);

while(p!=NULL&&flag)

{

if(p->number==number)

{

printf("已查詢到您要的編號");

flag=0;

}

else

{

p=p->next;

}

}

if(flag==1)

{printf("姓名:%s",p->name);

printf("編號:%f",p->number);

printf("人數:%f",p->sum);

printf("時間:%s",p->time);

}

else

{printf("沒有查詢到您要查詢的編號!");}

}



*/



void Update(Pointer Head)

{

int flag=1;

int number;

Pointer p;

printf("請輸入要修改的編號:");

scanf("%d",&number);

p=Head;

while(p!=NULL&&flag)

{

if(p->number==number)

{

printf("請輸入人數:");

scanf("%d",&p->sum);

printf("請輸入用餐時間:");

scanf("%s",p->time);

flag=0;

}

else

p=p->next;

}

if(flag)

printf("沒有找到要修改的記錄!");

}

//update與查詢過程相似!!!



void Delete(Pointer *Head)

{

int flag=1;

int number;

Pointer p,q;

printf("請輸入要刪除的數據編號:");

scanf("%d",&number);

p=q=*Head;

while(p!=NULL&&flag)

{

if(p->number==number)

{

if(p==*Head)

{

*Head=p->next;free(p);//刪除結點後要及時釋放內存!!!

}

else

{q->next=p->next;free(p);}

flag=0;

}

else

{q=p;p=p->next;}

}

if(flag)

printf("沒有找到可以刪除的數據!!");

}



/*

void Delete(Pointer *Head)

{

Pointer p,q;

p=q=*Head;

int number;

int flag=1;

printf("請輸入您要刪除的結點:");

scanf("%d",&number);

while(p!=NULL)

{

if(p->number==number)

{ if(p==*Head)

{

*Head=p->next;free(p);

}

else

{

q->next=p->next;free(p);

}

flag=0;

}

else

{

q=p;p=p->next;

}

}

if(flag)

{printf("沒有找到要刪除的數據!");}

}

*/



void Show(Pointer Head)

{

Pointer p;

p=Head;

printf("編號 姓名 人數 用餐時間 ");

while(p!=NULL)

{

printf("%d ",p->number);

printf("%s ",p->name);

printf("%d ",p->sum);

printf("%s ",p->time);

p=p->next;

}

}



void Sort(Pointer Head)

{

//三個for循環,第一個賦給結構數組 第二個排序,第三個輸出

Pointer p;

p=Head;

int count=0;

GuestLink temp;

for(i=0;p!=NULL;i++)

{

strcpy(stu[i].name,p->name);

stu[i].number=p->number;

stu[i].sum=p->sum;

strcpy(stu[i].time,p->time);

count++;

p=p->next;

}

for(i=0;i<count-1;i++)

{

k=i;

for(j=i+1;j<count;j++)

if(strcmp(stu[j].time,stu[k].time)<0)k=j;

if(k!=i)

{temp=stu[i];stu[i]=stu[k];stu[k]=temp;}//一個字都不能改!!!!

//{temp=stu[k];stu[k]=stu[i];stu[i]=temp;}

}

printf("編號 姓名 人數 用餐時間 ");

for(i=0;i<count;i++)

{

printf("%d ",stu[i].number);

printf("%s ",stu[i].name);

printf("%d ",stu[i].sum);

printf("%s ",stu[i].time);


}

}


/*Head=p=stu;

while(p!=NULL)

{

printf("姓名:%-10s",p->name);

printf("人數:%-10d",p->sum);

printf("用餐時間:%-10s",p->time);

printf("編號:%-10d ",p->number);

p=p->next;

}*/

/*

void Sort(Pointer Head)

{

Pointer p;

p=Head;

GuestLink temp;

count=0;

while(p!=NULL)

{p=p->next;

count++;

}

p=Head;

while(p!=NULL)

{for(i=0;i<count;i++)

{

stu[i].number=p->number;

strcpy(stu[i].name,p->name);

stu[i].sum=p->sum;

strcpy(stu[i].time,p->time);

}

p=p->next;

}

for(i=0;i<count-1;i++)

{

k=i;

for(j=0;j<count;j++)

{if(strcmp(stu[j].time,stu[k].time)<0)k=j;

if(k!=i)

{temp=stu[k];stu[k]=stu[i];temp=stu[i];}

}

}

}

*/




void Save(Pointer Head)

{

Pointer p;

FILE *fp;

p=Head;

for(i=0;p!=NULL;i++)

{

strcpy(p->name,stu[i].name);

p->number=stu[i].number;

p->sum=stu[i].sum;

strcpy(p->time,stu[i].time);

p=p->next;

}

if((fp=fopen("stud","w"))==NULL)

{printf("can't open !");}

p=Head;

while(p!=NULL)

{

if(fwrite(p,sizeof(GuestLink),1,fp)!=1)

printf("can't write! ");

p=p->next;

}

fclose(fp);

}



/*

void Save(Pointer Head)

{

FILE *fp;

Pointer p;

p=Head;

for(i=0;p!=NULL;i++)

{

stu[i].number=p->number;

strcpy(stu[i].name,p->name);

stu[i].sum=p->sum;

strcpy(stu[i].time,p->time);

p=p->next;

}

p=Head;

if((fp=fopen("stud","w"))==NULL)

{

printf("cam't open the file");

}

for(i=0;i<count;i++)

if(fwrite(p,sizeof(GuestLink),1,fp)!=1)

{

printf("cant write");

}

fclose(fp);

}

*/



void Put(Pointer Head)

{

FILE *fp;

Pointer p;

p=Head;

if((fp=fopen("stud","r"))==NULL)

{printf("can't open the File ");}

printf("編號 姓名 人數 用餐時間 ");

while(p!=NULL)

{

if(fread(p,sizeof(GuestLink),1,fp)!=1)

{printf("can't read!");}

printf("%d ",p->number);

printf("%s ",p->name);

printf("%d ",p->sum);

printf("%s ",p->time);

p=p->next;

}

fclose(fp);

}


採納哦~

❷ c語言課程設計

#include <stdio.h>

int main()
{
int num;
scanf("%d",&num);
while (num!=0)
{
if(num/1000!=0)
{
printf("%d",num/1000);
printf("%d",num/1000);
num=num%1000;
continue;
}
if(num/100!=0)
{
printf("%d",num/100);
printf("%d",num/100);
num=num%100;
continue;
}
if(num/10!=0)
{
printf("%d",num/10);
printf("%d",num/10);
num=num%10;
continue;
}
printf("%d",num);
printf("%d",num);
break;
}
}

主要是使用除法和取模運算和循環控制語句,在我的電腦上已經調試通過了。

❸ c語言課程設計報告

作業的話自己做最有幫助了、
我們老師也布置過,做好了,不過沒有流程圖

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837