当前位置:首页 » 软件设计 » 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