当前位置:首页 » 课程大全 » c语言课程设计pdf

c语言课程设计pdf

发布时间: 2021-03-05 01:47:49

① 急求 C语言课程设计 教材电子版 曹计昌版的 科学出版社的

《C语言程序设计》 作者:曹计昌等编著 页数:463 出版日期:2008
这本我就有pdf

② c语言课程设计,绝不照抄,我仅作参考

为你设计一份满意的毕业论文,
为你的人生打造一份满意的答卷 good luck

③ 求C语言课程设计一份

改好了,代码如下!
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
#include<conio.h>
typedef struct
{
char num[10];
char name[20];
int score;
}Student;

Student stu[80];
int menu_select()
{
char c;
do{
system("cls");
printf("\t\t \n");
printf("\t\t | 1. Input Records |\n");
printf("\t\t | 2. Display All Records |\n");
printf("\t\t | 3. Sort |\n");
printf("\t\t | 4. Insert a Record |\n");
printf("\t\t | 5. Delete a Record |\n");
printf("\t\t | 6. Search a Record |\n");
printf("\t\t | 7. Rebuild a Record|\n"); //增加代码
printf("\t\t | 0. Quit |\n");
printf("\t\t*****************************************\n");
printf("\t\t\tGive your Choice(0-7):");
c=getchar();
}while(c<'0'||c>'7');
getchar();
return(c-'0');
}

/***********************增加函数模块*********************/
/* 函数功能:修改学生姓名,分数 */
/********************************************************/
int Rebuild(Student stud[],int n)
{
char name[20];
int score;
char num[10];
int flag=0;
printf("\t\t Please input the Rebuilded student`s number:");
scanf("%s",&num);
for(int i=0;i<n;i++)
{
if(strcmp(stu[i].num,num)==0)
{
flag=1;
printf("\t\t Please intput the rebuild student`s name:");
scanf("%s",name);
strcpy(stud[i].name,name);
printf("\t\t Please input the rebuild student`s score:");
scanf("%d",&score);
stud[i].score=score;
return flag;
}
}
return flag;
}

int Input(Student stud[],int n)
{
int i=0;
int j,temp=0;
int flag=1;
char sign='y',x[10];
while(sign!='n'&&sign!='N')
{
while(flag)
{
printf("\t\t\tstudent's num:");
scanf("\t\t\t%s",stud[n+i].num);

for(j=0;j<strlen(stud[n+i].num);j++)
{
if(stud[n+i].num[j]>='1'&&stud[n+i].num[j]<='9')
{
;
}
else{
flag=1;
break;
}
flag=0;
}
}

printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n+i].name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n+i].score);
gets(x);
printf("\t\t\tany more records?(Y/N)");
scanf("\t\t\t%c",&sign);
flag=1;
i++;
}
return(n+i);
}

void Display(Student stud[],int n)
{
int i;
printf("\t\t\t-----------------------------------\n");
printf("\t\t\tnumber name score\n");
printf("\t\t\t-----------------------------------\n");
for(i=1;i<n+1;i++)
{
printf("\t\t\t%-16s%-15s%d\n",stud[i-1].num,stud[i-1].name,stud[i-1].score);
if(i>1&&i%10==0)
{printf("\t\t\t-----------------------------------\n"); /*格式*/
printf("\t\t\t");
system("pause");
printf("\t\t\t-----------------------------------\n");
}
}
printf("\t\t\t");
system("pause");
}

void Sort_by_num(Student stud[],int n)
{
int i,j,*p,*q,s;
char t[10];
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(strcmp(stud[j].num,stud[j+1].num)>0)
{
strcpy(t,stud[j+1].num);
strcpy(stud[j+1].num,stud[j].num);
strcpy(stud[j].num,t);
strcpy(t,stud[j+1].name);
strcpy(stud[j+1].name,stud[j].name);
strcpy(stud[j].name,t);
p=&stud[j+1].score;
q=&stud[j].score;
s=*p;
*p=*q;
*q=s;
}
}
int Insert_a_record(Student stud[],int n)
{
char x[10];
int flag=1;
int j;
while(flag)
{
printf("\t\t\tstudent's num:");
scanf("\t\t\t%s",stud[n].num);

for(j=0;j<strlen(stud[n].num);j++)
{
if(stud[n].num[j]>='1'&&stud[n].num[j]<='9')
{
;
}
else{
flag=1;
break;
}
flag=0;
}
}
printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n].name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n].score);
gets(x);
n++;
Sort_by_num(stud,n);
printf("\t\t\tInsert Successed!\n");
return(n);
}
int Delete_a_record(Student stud[],int n)
{
char s[20];
int i=0,j;
printf("\t\t\ttell me his(her) name:");
scanf("%s",s);
while(strcmp(stud[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t\t\tnot find!\n");
return(n);
}
for(j=i;j<n-1;j++)
{
strcpy(stud[j].num,stud[j+1].num);
strcpy(stud[j].name,stud[j+1].name);
stud[j].score=stud[j+1].score;
}
printf("\t\t\tDelete Successed!\n");
return(n-1);
}
int Search_a_record(Student stud[],int n)
{
int j;
int flag=1;
char temp[10];
while(flag)
{
printf("\t\t\tInput student's num:");
scanf("\t\t\t%s",temp);

for(j=0;j<strlen(temp);j++)
{
if(temp[j]>='1'&&temp[j]<='9')
{
;
}
else{
flag=1;
break;
}
flag=0;
}
}
printf("\t\t\t-----------------------------------\n");
printf("\t\t\tnumber name score\n");
printf("\t\t\t-----------------------------------\n");
for(j=0;j<80;j++)
{
if(strcmp(temp,stud[j].num)==0)
{

printf("\t\t\t%-16s%-15s%d\n",stud[j].num,stud[j].name,stud[j].score);
printf("\t\t\t-----------------------------------\n");
}

}
return(n);

}

void main()
{
int x;
int n=0;
for(;;)
{
x=menu_select();
switch(x)
{
case 1:
printf("\t\t\tInput Records\n");
n=Input(stu,n);
break;
case 2:
printf("\t\t\tDisplay All Records\n");
Display(stu,n);
break;
case 3:
printf("\t\t\tSort\n");
Sort_by_num(stu,n);
printf("\t\t\tSort Suceessed!\n");
printf("\t\t\t");
system("pause");
break;
case 4:
printf("\t\t\tInsert a Record\n");
n=Insert_a_record(stu,n);
printf("\t\t\t");
system("pause");
break;
case 5:
printf("\t\t\tDelete a Record\n");
n=Delete_a_record(stu,n);
printf("\t\t\t");
system("pause");
break;
case 6:
printf("\t\t\tSearch a Record\n");
n=Search_a_record(stu,n);
printf("\t\t\t");
system("pause");
break;
case 7:
printf("\t\t\tRebuild a Record\n");
if(Rebuild(stu,n))
{
printf("\t\t Action successed! press any key return..");
getch();
}
else
{
printf("\t\t Sorry,no such student!\n");
printf("\t\t Press any key return..");
getch();
}
break;
case 0:
printf("\t\t\tHave a Good Luck,Bye-bye!\n");
printf("\t\t\t");
system("pause");
exit(0);
}
}
}

④ C语言课程设计

/ / SaleFish.cpp
/ / N数的类型,也就是,有多少次出售的标题,n为5,以解决上述问题,运行n个 / / K是总数的鱼
/ /如果输出的K是不是在没有找到的数字小于1000(即鱼数)中的n倍卖根据上述销售计划出售/ /最后的输出结果为K = 59
#包括
#包括的
使用命名空间std;
无效的主要(){ BR />双K = 11.0;
双I,J;
双IJ;
= 1;
J = 2;
廉政n 内部温度= 0;
双tempk = K;
法院<<“请输入n:”;
CIN >> N;
(1)
{
K = tempk;
(J <= N && tempk <1000){
IJ = I / J;
(厂((九* K-(1 IJ))-11)<1E-6 &&?= N)
{法院<<“K是:”<< endl << tempk温度+ = 1;打破;}
其他{K = IJ * K-(1-IJ);我+ = 1; + = 1;}
} J = 2; i = 1;
(临时)休息;
>(厂(tempk-1000)<1E-6){cout <<“请K是\ n”;}
tempk + = 1;
}
不中。 cout <<“请结束... \ n按任意键退出...”;
getchar函数();
getchar函数();
}
该〇二〇一〇]亲希望采用。

⑤ 急!!!c语言课程设计一份、绝对给分!!!

我自己写了一个关于C语言的链表程序,,里面有插入学生信息和和成绩排名。。也有查找和删除,插入,但是我没有做修改的功能。。。
是没有界面的我还不会图形的。但是我觉得基本代码也应该还是有用的。你给看下我的。看可不可以帮到你。以后希望多多交流 。。。

#include "iostream.h"
#include "stdio.h"
#define manfen 150
typedef struct student {
char name[20];
double fen[4];
struct student * next;
} student;

int i=1;
int strcmp(char *a, char *b)
{
while((*a++ == *b++)&&(*a))
;
if((*a==NULL)&&(*b==NULL))
return 1;
else
return 0;
}

void SqlistStudent(student *&L,int j=1)
{
void heli(student *,int);
int a;
student *p,*q;
q=p=L=new student;
for(a=0;a<j;a++)
{
cout<<endl;
cout<<"请输入第";
cout<<i;
cout<<"位学生的名字:";
cin>>q->name;
cout<<" 语文分数:";
cin>>q->fen[0];
heli(q,0);
cout<<" 数学分数:";
cin>>q->fen[1];
heli(q,1);
cout<<" 英语分数:";
cin>>q->fen[2];
heli(q,2);
q->fen[3]=q->fen[0]+q->fen[1]+q->fen[2];
q=new student();
p->next=q;
p=q;
q->next=NULL;
i++;
}
cout<<"输入截止"<<endl;
}

void heli(student *t,int e)
{
while(t->fen[e]<0||t->fen[e]>manfen)
{
cout<<"输入的分数不合理,输入范围为:0-"<<manfen<<" 重新输入:"<<endl;
cin>>t->fen[e];
}
}

void shanchu(student *&l)
{
int strcmp(char *a, char *b);
student *q,*p;
char na[20];
int a=0,b=0;
q=p=l;
while(a!=-1)
{
cout<<"输入请删除学生信息的名字"<<endl;
cin>>na;
while(q->next!=NULL)
{
if( strcmp(na,q->name)==1 )
break;
p=q;
q=q->next;
b++;
}
if(strcmp(na,q->name)==1 )
{
if(b==0)
{
l=q->next;
i--;
break;
}
else
{
p->next=q->next;
i--;
break;
}
}
else
cout<<"没有此学生信息,请检查和重新输入"<<endl;
q=p=l;
}

}

void charu(student *&l)
{
int strcmp(char *a, char *b);
void heli(student *t,int e);
student *q,*p;
q=p=l;
int a=0,b=0,c=1,d=1;
char na[20];
student *f;
f=new student;
i++;
cout<<endl;
cout<<"请输入学生的名字";
cin>>f->name;
cout<<" 语文分数:";
cin>>f->fen[0];
heli(f,0);
cout<<" 数学分数:";
cin>>f->fen[1];
heli(f,1);
cout<<" 英语分数:";
cin>>f->fen[2];
heli(f,2);
f->fen[3]=f->fen[0]+f->fen[1]+f->fen[2];
f->next=NULL;
while(d!=0)
{
cout<<"请输入插入结点位置相邻的学生姓名"<<endl;
cin>>na;
while(q->next!=NULL)
{
b=strcmp(na,q->name);
if(b==1)
break;
p=q;
q=q->next;
d++;
}
if(b==1)
{
cout<<"在输入的名字前插入请输入1"<<endl;
cout<<"在输入的名字后插入请输入2"<<endl;
cin>>a;
if(a==1)
{
if(d==1)
{
f->next=l;
l=f;
cout<<"插入完成"<<endl;
break;
}
else
{
p->next=f;
f->next=q;
cout<<"插入完成"<<endl;
break;
}

}
if(a==2)
{
f->next=q->next;
q->next=f;
cout<<"插入完成"<<endl;

break;
}
}
if(b==0)
{
cout<<"没有找到此名字"<<endl;
}
q=p=l;
}
}

void print(student *l)
{
student *q;
q=l;
while(q->next!=NULL)
{
cout<<"学生的名字:"<<q->name<<endl;
cout<<"语文:"<<q->fen[0]<<endl;
cout<<"数学:"<<q->fen[1]<<endl;
cout<<"英语:"<<q->fen[2]<<endl;
cout<<"总分:"<<q->fen[3]<<endl;
q=q->next;
}

}

void anfencha(int a,double b,student *l)
{
student *q;
q=l;
int h=0;
while(q->next!=NULL)
{
if(q->fen[a]==b)
{
cout<<"学生的名字:"<<q->name<<endl;
cout<<"语文:"<<q->fen[0]<<endl;
cout<<"数学:"<<q->fen[1]<<endl;
cout<<"英语:"<<q->fen[2]<<endl;
cout<<"总分:"<<q->fen[3]<<endl;
h++;
}
q=q->next;
}
cout<<"您要查询的学生不存在"<<endl;
}

void anmin(char *na,student *l)
{
student *q;
int h=0;
q=l;
while(q->next!=NULL)
{
if(strcmp(na,q->name)==1)
{
cout<<"学生的名字:"<<q->name<<endl;
cout<<"语文:"<<q->fen[0]<<endl;
cout<<"数学:"<<q->fen[1]<<endl;
cout<<"英语:"<<q->fen[2]<<endl;
cout<<"总分:"<<q->fen[3]<<endl;
h++;
}
q=q->next;
}
if(h==0)
cout<<"没有此学生信息。"<<endl;
}

void paixu(student *l,int e)
{
student *q,*p;
student *a[30];
int b=0,c;
q=p=l;
for(b=0;b<30;b++)
a[b]=q;
b=0;
while(q->next!=NULL)
{
a[b]=q;
q=q->next;
b++;
}
for(b=0;b<i-1;b++)
{
for(c=b+1;c<i-1;c++)
{
if(a[b]->fen[e]<=a[c]->fen[e])
{
p=a[b];a[b]=a[c];a[c]=p;
}
}
}
switch(e)
{
case 0:cout<<"按照语文分数的排名情况是:"<<endl;break;
case 1:cout<<"按照数学分数的排名情况是:"<<endl;break;
case 2:cout<<"按照英语分数的排名情况是:"<<endl;break;
case 3:cout<<"按照总分分数的排名情况是:"<<endl;break;
}
for(b=0;b<i-1;b++)
{
cout<<"第"<<b+1<<"名"<<endl;
cout<<"学生的名字:"<<a[b]->name<<endl;
cout<<" 语文:"<<a[b]->fen[0]<<endl;
cout<<" 数学:"<<a[b]->fen[1]<<endl;
cout<<" 英语:"<<a[b]->fen[2]<<endl;
cout<<" 总分:"<<a[b]->fen[3]<<endl;
cout<<endl;
}

}

void main()
{
student *head;
int a=1,b=1,c=1,d;
char na[20];
cout<<"请输入需要保存的学生人数:"<<endl;
cin>>a;
SqlistStudent(head,a);
while(a!=0)
{
cout<<endl;
cout<<"退出请输入:0"<<endl;
cout<<"要查询请输入:1"<<endl;
cout<<"要插入学生信息请输入:2"<<endl;
cout<<"要查询各科排名情况:3"<<endl;
cout<<"要删除学生信息请输入4"<<endl;
cin>>a;
if(a==0)
break;
if(a==1)
{
cout<<"根据分数查询请输入1"<<endl;
cout<<"根据名字查询请输入2"<<endl;
cout<<"查询所有学生请输入3"<<endl;
cin>>b;
if(b==1)
{
cout<<"根据语文分数查询请输入0"<<endl;
cout<<"根据数学分数查询请输入1"<<endl;
cout<<"根据英语分数查询请输入2"<<endl;
cout<<"根据总分数查询请输入3"<<endl;
cin>>c;
cout<<"请输入要查找科目分数:"<<endl;
cin>>d;
anfencha(c,d,head);
}
if(b==2)
{
cout<<"请输入要查询学生名字:"<<endl;
cin>>na;
anmin(na,head);
}
if(b==3)
print(head);
}
if(a==2)
{
charu(head);
}
if(a==3)
{
cout<<"根据语文分数查询请输入0"<<endl;
cout<<"根据数学分数查询请输入1"<<endl;
cout<<"根据英语分数查询请输入2"<<endl;
cout<<"根据总分数查询请输入3"<<endl;
cin>>c;
paixu(head,c);
}
if(a==4)
shanchu(head);

}

}

⑥ 急求《c语言课程设计案例精编》电子书,急求!!!!最好是pdf!

以我自身经历来看,感觉看视频比看书效率高,毕竟理科知识不像是文科的,看书效率太低了。可能一个很简单的知识点,自己看书得半个小时,但是懂的人就讲几句话,就能明白了。所以相比之下,还是视频效率比看书高。选择个适合自己的就能学懂C了。我当初看的是夏老师的,感觉挺适合我这样初学者的。他讲的不繁琐啰嗦,都是重点,而且思维原理讲的最好。能让我理解,我感觉这点很重要。比之前看的什么郝斌曾怡金文的那些繁琐啰嗦听不出重点的好多了。

⑦ C语言课程设计文件

你好
你可以试试,分不要紧。
#define N 200
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int i,key;
int score=0;/*得分*/
int gamespeed=50000;/*游戏速度自己调整*/
struct Food
{
int x;/*食物的横坐标*/
int y;/*食物的纵坐标*/
int yes;/*判断是否要出现食物的变量*/
}food;/*食物的结构体*/
struct Snake
{
int x[N];
int y[N];
int node;/*蛇的节数*/
int direction;/*蛇移动方向*/
int life;/* 蛇的生命,0活着,1死亡*/
}snake;
void Init(void);/*图形驱动*/
void Close(void);/*图形结束*/
void DrawK(void);/*开始画面*/
void GameOver(void);/*结束游戏*/
void GamePlay(void);/*玩游戏具体过程*/
void PrScore(void);/*输出成绩*/
/*主函数*/
void main(void)
{
Init();/*图形驱动*/
DrawK();/*开始画面*/
GamePlay();/*玩游戏具体过程*/
Close();/*图形结束*/
}
/*图形驱动*/
void Init(void)
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc");
cleardevice();
}
/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/
void DrawK(void)
{
/*setbkcolor(LIGHTGREEN);*/
setcolor(11);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/
for(i=50;i<=600;i+=10)/*画围墙*/
{
rectangle(i,40,i+10,49); /*上边*/
rectangle(i,451,i+10,460);/*下边*/
}
for(i=40;i<=450;i+=10)
{
rectangle(50,i,59,i+10); /*左边*/
rectangle(601,i,610,i+10);/*右边*/
}
}
/*玩游戏具体过程*/
void GamePlay(void)
{
randomize();/*随机数发生器*/
food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/
snake.life=0;/*活着*/
snake.direction=1;/*方向往右*/
snake.x[0]=100;snake.y[0]=100;/*蛇头*/
snake.x[1]=110;snake.y[1]=100;
snake.node=2;/*节数*/
PrScore();/*输出得分*/
while(1)/*可以重复玩游戏,压ESC键结束*/
{
while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/
{
if(food.yes==1)/*需要出现新食物*/
{
food.x=rand()%400+60;
food.y=rand()%350+60;
while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/
food.x++;
while(food.y%10!=0)
food.y++;
food.yes=0;/*画面上有食物了*/
}
if(food.yes==0)/*画面上有食物了就要显示*/
{
setcolor(GREEN);
rectangle(food.x,food.y,food.x+10,food.y-10);
}
for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/
{
snake.x[i]=snake.x[i-1];
snake.y[i]=snake.y[i-1];
}
/*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/
switch(snake.direction)
{
case 1:snake.x[0]+=10;break;
case 2: snake.x[0]-=10;break;
case 3: snake.y[0]-=10;break;
case 4: snake.y[0]+=10;break;
}
for(i=3;i<snake.node;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/
{
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
{
GameOver();/*显示失败*/
snake.life=1;
break;
}
}
if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55||
snake.y[0]>455)/*蛇是否撞到墙壁*/
{
GameOver();/*本次游戏结束*/
snake.life=1; /*蛇死*/
}
if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/
break;
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/
{
setcolor(0);/*把画面上的食物东西去掉*/
rectangle(food.x,food.y,food.x+10,food.y-10);
snake.x[snake.node]=-20;snake.y[snake.node]=-20;
/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/
snake.node++;/*蛇的身体长一节*/
food.yes=1;/*画面上需要出现新的食物*/
score+=10;
PrScore();/*输出新得分*/
}
setcolor(4);/*画出蛇*/
for(i=0;i<snake.node;i++)
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,
snake.y[i]-10);
delay(gamespeed);
setcolor(0);/*用黑色去除蛇的的最后一节*/
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);
} /*endwhile(!kbhit)*/
if(snake.life==1)/*如果蛇死就跳出循环*/
break;
key=bioskey(0);/*接收按键*/
if(key==ESC)/*按ESC键退出*/
break;
else
if(key==UP&&snake.direction!=4)
/*判断是否往相反的方向移动*/
snake.direction=3;
else
if(key==RIGHT&&snake.direction!=2)
snake.direction=1;
else
if(key==LEFT&&snake.direction!=1)
snake.direction=2;
else
if(key==DOWN&&snake.direction!=3)
snake.direction=4;
}/*endwhile(1)*/
}
/*游戏结束*/
void GameOver(void)
{
cleardevice();
PrScore();
setcolor(RED);
settextstyle(0,0,4);
outtextxy(200,200,"GAME OVER");
getch();
}
/*输出成绩*/
void PrScore(void)
{
char str[10];
setfillstyle(SOLID_FILL,YELLOW);
bar(50,15,220,35);
setcolor(6);
settextstyle(0,0,2);
sprintf(str,"score:%d",score);
outtextxy(55,20,str);
}
/*图形结束*/
void Close(void)
{
getch();
closegraph();
}
谢谢。

⑧ c语言课程设计范文

我这儿有复一个程序不知能制不能帮助你解决问题:
#include"stdio.h"
main()
{
int i=0,num=0,word=0;
char string[54],c;
gets(string);
for (;((c=string[i])!='\0');i++)
{
if (c=='')
word=0;
if (word==0)
{
num++;
word=1;
}
}
printf("there are %d words in the line\n",num);
getch();
}

这个程序是关于统计你输入一行字符的单词的个数的,

⑨ c语言课程设计

#include<stdio.h>
#include<string.h>
#define N 100
typedef struct AA
{
char name[20];
char phone[12];
char e_mail[30];
char relation[20];
}AA;
/*1。输入新联系人2。删除指定的联系人(输入姓名,若找掉则删除该联系人的信息)
3。根据输入的与本人关系,显示联系信息4。显示所有联系人的信息设计菜单*/
int input__(AA * s)
{
int len = 0,i = 0,n;
printf("请输入要添加的联系人个数,上限为%d个\n",N);
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请依次输入第%d联系人的姓名、电话、邮箱以及与本人的关系(中间使用空格隔开即可):\n",i);
scanf("%s%s%s%s",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);
}
return n;
}
void delete__(AA *s,int *n)
{
int i = 0,j = 0,status = 0;
char ca[20] = "";
printf("请输入要删除的联系人的姓名\n");
scanf("%s",ca);
for(i=0;i<*n;i++)
{
if(!strcmp(ca,s[i].name))
{
*n = *n-1;
status = 1;
for(j=i;j<*n;j++)
{
s[j] = s[j+1];
}
break;
}
}
if(status == 0)
printf("没有找到要删除的人的信息\n");
else
printf("删除成功\n");
}
void show__relation(AA *s,int n)
{
int i = 0,status = 0;
printf("请输入与联系人的关系\n");
char ca[20] = "";
scanf("%s",ca);
for(i=0;i<n;i++)
{
if(!strcmp(ca,s[i].relation))
{
printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);
status = 1;
}
}
if(!status)
printf("没有找到相应的信息\n");
}
void show__all(AA *s,int n)
{
int i = 0;
for(i = 0 ; i <n ; i++)
{
printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation);
}
}

int main(void)
{
AA a[N];
int n = 0;
int i;

while(1)
{
printf("0------退出系统\n1------输入联系人信息\n2------删除指定联系人信息\n");
printf("3------显示与本人关系相通的联系人信息\n4------显示所有联系人的信息\n");
scanf("%d",&i);
if(i == 0)
break;
switch(i)
{
case 1:n = input__(a); break;
case 2:
if(n == 0)
{
printf("你还没有添加信息,请先添加信息:\n");
break;
}
else
{
delete__(a,&n);
break;
}
case 3:
{
if(n == 0)
{
printf("你还没有添加信息,请先添加信息:\n");
break;
}
else
{
show__relation(a,n);

break;
}
}
case 4:
{
if(n == 0)
{
printf("你还没有添加信息,请先添加信息:\n");
break;
}
else
{
show__all(a,n);
break;
}
}
default:
printf("您的选择有误,请重新选择\n");
break;
}
}

return 0;

}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919